1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-16 15:19:06 +00:00

Can repo to group

This commit is contained in:
plt
2011-09-10 20:07:46 +08:00
parent 6e3bd53397
commit ead966c6e2
6 changed files with 173 additions and 4 deletions

View File

@@ -3,9 +3,14 @@ from django.shortcuts import render_to_response
from django.core.urlresolvers import reverse
from django.template import RequestContext
from django.contrib.auth.decorators import login_required
from django.db import IntegrityError
from seaserv import cclient, ccnet_rpc, get_groups, get_users, get_repos, \
get_repo, get_commits, get_branches, seafile_rpc
get_repo, get_commits, get_branches, seafile_rpc, get_group
from seahub.profile.models import UserProfile
from seahub.group.models import GroupRepo
from seahub.group.forms import GroupAddRepoForm
def get_user_cid(user):
@@ -15,7 +20,6 @@ def get_user_cid(user):
except UserProfile.DoesNotExist:
return None
from seahub.profile.models import UserProfile
def root(request):
if request.user.is_authenticated():
@@ -58,6 +62,47 @@ def groups(request):
}, context_instance=RequestContext(request))
def group(request, group_id):
"""Show a group.
Login is not required, but permission check based on token should
be added later.
"""
group = get_group(group_id)
shared_repos = GroupRepo.objects.filter(group_id=group_id)
return render_to_response('group.html', {
'group': group, 'shared_repos': shared_repos,
}, context_instance=RequestContext(request))
def group_add_repo(request, group_id):
"""Add a repo to a group"""
group = get_group(group_id)
if not group:
raise Http404
if request.method == 'POST':
form = GroupAddRepoForm(request.POST)
if form.is_valid():
group_repo = GroupRepo()
group_repo.group_id = group_id
group_repo.repo_id = form.cleaned_data['repo_id']
try:
group_repo.save()
except IntegrityError:
# catch the case repo added to group before
pass
return HttpResponseRedirect(reverse('view_group', args=[group_id]))
else:
form = GroupAddRepoForm()
return render_to_response("group_add_repo.html", {
'form': form, 'group': group
}, context_instance=RequestContext(request))
def repo(request, repo_id):
# TODO: check permission
repo = get_repo(repo_id)