2011-03-19 05:15:02 +00:00
|
|
|
from django.http import HttpResponse, HttpResponseRedirect
|
|
|
|
from django.shortcuts import render_to_response
|
|
|
|
from django.core.urlresolvers import reverse
|
|
|
|
from django.template import RequestContext
|
2011-04-30 05:18:32 +00:00
|
|
|
from django.contrib.auth.decorators import login_required
|
2011-03-19 05:15:02 +00:00
|
|
|
|
2011-08-16 13:05:42 +00:00
|
|
|
from seaserv import cclient, ccnet_rpc, get_groups, get_users, get_repos, \
|
2011-09-07 02:57:47 +00:00
|
|
|
get_repo, get_commits, get_branches, seafile_rpc
|
|
|
|
|
|
|
|
|
|
|
|
def get_user_cid(user):
|
|
|
|
try:
|
|
|
|
profile = user.get_profile()
|
|
|
|
return profile.ccnet_user_id
|
|
|
|
except UserProfile.DoesNotExist:
|
|
|
|
return None
|
2011-03-19 14:06:58 +00:00
|
|
|
|
2011-08-16 13:37:27 +00:00
|
|
|
from seahub.profile.models import UserProfile
|
|
|
|
|
2011-03-19 05:15:02 +00:00
|
|
|
def root(request):
|
2011-05-08 07:19:58 +00:00
|
|
|
if request.user.is_authenticated():
|
|
|
|
return HttpResponseRedirect(reverse(myhome))
|
|
|
|
else:
|
|
|
|
return HttpResponseRedirect(reverse(home))
|
2011-03-19 05:15:02 +00:00
|
|
|
|
2011-03-20 13:47:28 +00:00
|
|
|
|
2011-03-19 05:15:02 +00:00
|
|
|
def home(request):
|
2011-08-16 13:05:42 +00:00
|
|
|
return render_to_response('home.html', {
|
2011-03-19 05:15:02 +00:00
|
|
|
}, context_instance=RequestContext(request))
|
2011-03-19 14:06:58 +00:00
|
|
|
|
2011-04-30 05:18:32 +00:00
|
|
|
|
2011-03-19 14:06:58 +00:00
|
|
|
def peers(request):
|
|
|
|
peer_type = request.REQUEST.get('type', 'all')
|
|
|
|
peer_ids = ccnet_rpc.list_peers()
|
|
|
|
peers = []
|
|
|
|
for peer_id in peer_ids.split("\n"):
|
|
|
|
# too handle the ending '\n'
|
|
|
|
if peer_id == '':
|
|
|
|
continue
|
|
|
|
peer = ccnet_rpc.get_peer(peer_id)
|
|
|
|
if peer_type == 'all':
|
|
|
|
peers.append(peer)
|
|
|
|
if peer_type == 'mypeer':
|
|
|
|
if peer.props.role_list.find('MyPeer') != -1:
|
|
|
|
peers.append(peer)
|
|
|
|
|
2011-04-11 15:06:05 +00:00
|
|
|
users = get_users()
|
2011-03-19 14:06:58 +00:00
|
|
|
return render_to_response('peers.html', {
|
|
|
|
'peers': peers,
|
2011-04-11 15:06:05 +00:00
|
|
|
'users': users,
|
2011-03-19 14:06:58 +00:00
|
|
|
}, context_instance=RequestContext(request))
|
2011-03-20 13:47:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
def groups(request):
|
|
|
|
groups = get_groups()
|
|
|
|
return render_to_response('groups.html', {
|
|
|
|
'groups': groups,
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
2011-05-08 07:19:58 +00:00
|
|
|
|
2011-09-07 02:57:47 +00:00
|
|
|
def repo(request, repo_id):
|
|
|
|
# TODO: check permission
|
|
|
|
repo = get_repo(repo_id)
|
|
|
|
commits = get_commits(repo_id)
|
|
|
|
branches = get_branches(repo_id)
|
|
|
|
return render_to_response('repo.html', {
|
|
|
|
"repo": repo,
|
|
|
|
"commits": commits,
|
|
|
|
"branches": branches,
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def repo_share(request, repo_id):
|
|
|
|
return render_to_response('repo_share.html', {
|
|
|
|
"repo": repo,
|
|
|
|
"commits": commits,
|
|
|
|
"branches": branches,
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def myhome(request):
|
|
|
|
ccnet_user_id = ""
|
|
|
|
try:
|
|
|
|
profile = request.user.get_profile()
|
|
|
|
ccnet_user_id = profile.ccnet_user_id
|
|
|
|
except UserProfile.DoesNotExist:
|
|
|
|
pass
|
|
|
|
|
|
|
|
return render_to_response('myhome.html', {
|
|
|
|
"ccnet_user_id": ccnet_user_id,
|
|
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
|
|
|
|
|
|
@login_required
|
|
|
|
def mypeers(request):
|
|
|
|
cid = get_user_cid(request.user)
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-05-08 07:19:58 +00:00
|
|
|
@login_required
|
2011-09-07 02:57:47 +00:00
|
|
|
def myrepos(request):
|
2011-05-08 07:19:58 +00:00
|
|
|
cid = get_user_cid(request.user)
|
2011-09-07 02:57:47 +00:00
|
|
|
owned_repos = seafile_rpc.list_owned_repos(cid)
|
|
|
|
return render_to_response('myrepos.html', {
|
|
|
|
'owned_repos': owned_repos,
|
2011-05-08 07:19:58 +00:00
|
|
|
}, context_instance=RequestContext(request))
|