mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-05 08:53:14 +00:00
Rewrite repo related function
This commit is contained in:
@@ -43,9 +43,6 @@
|
|||||||
<li>
|
<li>
|
||||||
<a href="{{ SITE_ROOT }}groups/">Groups</a>
|
<a href="{{ SITE_ROOT }}groups/">Groups</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
|
||||||
<a href="{{ SITE_ROOT }}repos/">Repos</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,19 +0,0 @@
|
|||||||
{% extends "myhome_base.html" %}
|
|
||||||
|
|
||||||
{% block right_panel %}
|
|
||||||
<table class="group-list default">
|
|
||||||
<tr>
|
|
||||||
<th>Repo ID</th>
|
|
||||||
<th>Commit ID</th>
|
|
||||||
<th>Timestamp</th>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
{% for item in uploaded_items %}
|
|
||||||
<tr>
|
|
||||||
<td>{{ item.props.repo_id }}</td>
|
|
||||||
<td>{{ item.props.commit_id }}</td>
|
|
||||||
<td>{{ item.props.timestamp }}</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
{% endblock %}
|
|
@@ -5,7 +5,7 @@
|
|||||||
<a href="{{ SITE_ROOT }}home/my/">Home</a>
|
<a href="{{ SITE_ROOT }}home/my/">Home</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ SITE_ROOT }}files/my/">Files</a>
|
<a href="{{ SITE_ROOT }}repos/my/">Files</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ SITE_ROOT }}peers/">Peers</a>
|
<a href="{{ SITE_ROOT }}peers/">Peers</a>
|
||||||
|
19
templates/myrepos.html
Normal file
19
templates/myrepos.html
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{% extends "myhome_base.html" %}
|
||||||
|
|
||||||
|
{% block right_panel %}
|
||||||
|
<table class="repo-list default">
|
||||||
|
<tr>
|
||||||
|
<th>Name</th>
|
||||||
|
<th>ID</th>
|
||||||
|
<th>Description</th>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{% for repo in owned_repos %}
|
||||||
|
<tr>
|
||||||
|
<td><a href="/repo/{{ repo.props.id }}">{{ repo.props.name }}</a></td>
|
||||||
|
<td>{{ repo.props.id }}</td>
|
||||||
|
<td>{{ repo.props.desc }}</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
{% endblock %}
|
@@ -1,4 +1,4 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "myhome_base.html" %}
|
||||||
|
|
||||||
{% block right_panel %}
|
{% block right_panel %}
|
||||||
|
|
||||||
|
7
urls.py
7
urls.py
@@ -1,7 +1,7 @@
|
|||||||
from django.conf.urls.defaults import *
|
from django.conf.urls.defaults import *
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from seahub.views import root, home, peers, groups, myhome, myfiles, \
|
from seahub.views import root, home, peers, groups, myhome, myrepos, \
|
||||||
repos, repo
|
repo
|
||||||
|
|
||||||
# Uncomment the next two lines to enable the admin:
|
# Uncomment the next two lines to enable the admin:
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
@@ -25,9 +25,8 @@ urlpatterns = patterns('',
|
|||||||
(r'^home/my/$', myhome),
|
(r'^home/my/$', myhome),
|
||||||
(r'^peers/$', peers),
|
(r'^peers/$', peers),
|
||||||
(r'^groups/$', groups),
|
(r'^groups/$', groups),
|
||||||
(r'^repos/$', repos),
|
|
||||||
(r'^repo/(?P<repo_id>[^/]+)/', repo),
|
(r'^repo/(?P<repo_id>[^/]+)/', repo),
|
||||||
(r'^files/my/$', myfiles),
|
(r'^repos/my/$', myrepos),
|
||||||
|
|
||||||
(r'^avatar/', include('avatar.urls')),
|
(r'^avatar/', include('avatar.urls')),
|
||||||
(r'^profile/', include('seahub.profile.urls')),
|
(r'^profile/', include('seahub.profile.urls')),
|
||||||
|
101
views.py
101
views.py
@@ -5,7 +5,15 @@ from django.template import RequestContext
|
|||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
from seaserv import cclient, ccnet_rpc, get_groups, get_users, get_repos, \
|
from seaserv import cclient, ccnet_rpc, get_groups, get_users, get_repos, \
|
||||||
get_repo, get_commits, get_branches
|
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
|
||||||
|
|
||||||
from seahub.profile.models import UserProfile
|
from seahub.profile.models import UserProfile
|
||||||
|
|
||||||
@@ -20,45 +28,6 @@ def home(request):
|
|||||||
return render_to_response('home.html', {
|
return render_to_response('home.html', {
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
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))
|
|
||||||
|
|
||||||
|
|
||||||
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):
|
|
||||||
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))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def peers(request):
|
def peers(request):
|
||||||
peer_type = request.REQUEST.get('type', 'all')
|
peer_type = request.REQUEST.get('type', 'all')
|
||||||
@@ -89,10 +58,50 @@ def groups(request):
|
|||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
def repo(request, repo_id):
|
||||||
def myfiles(request):
|
# TODO: check permission
|
||||||
cid = get_user_cid(request.user)
|
repo = get_repo(repo_id)
|
||||||
uploaded_items = []
|
commits = get_commits(repo_id)
|
||||||
return render_to_response('myfiles.html', {
|
branches = get_branches(repo_id)
|
||||||
'uploaded_items': uploaded_items,
|
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)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def myrepos(request):
|
||||||
|
cid = get_user_cid(request.user)
|
||||||
|
owned_repos = seafile_rpc.list_owned_repos(cid)
|
||||||
|
return render_to_response('myrepos.html', {
|
||||||
|
'owned_repos': owned_repos,
|
||||||
}, context_instance=RequestContext(request))
|
}, context_instance=RequestContext(request))
|
||||||
|
Reference in New Issue
Block a user