mirror of
https://github.com/haiwen/seahub.git
synced 2025-05-31 11:07:10 +00:00
62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
|
from django.http import HttpResponse, HttpResponseRedirect
|
||
|
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 forms import UserShareForm
|
||
|
from models import UserShare
|
||
|
|
||
|
|
||
|
@login_required
|
||
|
def list_shared_repos(request):
|
||
|
"""Show the repos I shared."""
|
||
|
|
||
|
share_items = UserShare.objects.filter(from_user=request.user)
|
||
|
share2me_items = UserShare.objects.filter(to_user=request.user)
|
||
|
#for repo in s_repos:
|
||
|
# s_repos
|
||
|
# pass
|
||
|
return render_to_response("repo/shared_repo_list.html",
|
||
|
{ 'share_items': share_items,
|
||
|
"share2me_items": share2me_items },
|
||
|
context_instance=RequestContext(request))
|
||
|
|
||
|
@login_required
|
||
|
def share_repo(request):
|
||
|
"""Share a repo to a user."""
|
||
|
|
||
|
if request.method == 'POST':
|
||
|
form = UserShareForm(request.POST)
|
||
|
if form.is_valid():
|
||
|
repo_share = UserShare()
|
||
|
repo_share.from_user = request.user
|
||
|
repo_share.to_user = form.to_user
|
||
|
repo_share.repo_id = form.cleaned_data['repo_id']
|
||
|
try:
|
||
|
repo_share.save()
|
||
|
except IntegrityError:
|
||
|
# catch the case repo added to group before
|
||
|
pass
|
||
|
return HttpResponseRedirect(reverse('shared_repo_list', args=[]))
|
||
|
else:
|
||
|
user_email = request.REQUEST.get('user_email', '')
|
||
|
repo_id = request.REQUEST.get('repo_id', '')
|
||
|
form = UserShareForm(initial={'user_email': user_email, 'repo_id': repo_id})
|
||
|
|
||
|
return render_to_response("repo/share_repo.html", {
|
||
|
'form': form,
|
||
|
}, context_instance=RequestContext(request))
|
||
|
|
||
|
|
||
|
@login_required
|
||
|
def delete_share_item(request, item_id):
|
||
|
"""Delete a share item."""
|
||
|
|
||
|
try:
|
||
|
item = UserShare.objects.get(pk=item_id)
|
||
|
item.delete()
|
||
|
except UserShare.DoesNotExist:
|
||
|
pass
|
||
|
|
||
|
return HttpResponseRedirect(request.META['HTTP_REFERER'])
|