1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-06-23 05:38:04 +00:00
seahub/views.py

99 lines
2.8 KiB
Python
Raw Normal View History

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
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, \
get_repo, get_commits, get_branches
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-08-16 13:05:42 +00:00
def repos(request):
repos = get_repos()
return render_to_response('repos.html', {
"repos": repos,
}, context_instance=RequestContext(request))
def repo(request, repo_id):
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))
2011-03-20 13:47:28 +00:00
2011-05-08 07:19:58 +00:00
def get_user_cid(user):
try:
profile = user.get_profile()
return profile.ccnet_user_id
except UserProfile.DoesNotExist:
return None
@login_required
def myhome(request):
2011-05-08 07:19:58 +00:00
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', {
2011-05-08 07:19:58 +00:00
"ccnet_user_id": ccnet_user_id,
}, context_instance=RequestContext(request))
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
@login_required
def myfiles(request):
cid = get_user_cid(request.user)
2011-08-16 13:05:42 +00:00
uploaded_items = []
2011-05-08 07:19:58 +00:00
return render_to_response('myfiles.html', {
'uploaded_items': uploaded_items,
}, context_instance=RequestContext(request))