1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-01 23:20:51 +00:00

Clean code

This commit is contained in:
plt
2012-02-01 00:07:10 +08:00
parent c5302dd6f7
commit fe1b85dbd6
13 changed files with 13 additions and 225 deletions

View File

@@ -3,35 +3,16 @@
{% block left_panel %}
<ul>
<li><a href="{% url profile_setting %}">修改 Seafile ID</a></li>
<li><a href="{% url ccnet_profile_setting %}">上传 Seafile 配置文件</a></li>
<li><a href="{% url avatar_change %}">修改头像</a></li>
<li><a href="{% url avatar_delete %}">删除不用的头像</a></li>
<li><a href="{{ SITE_ROOT }}accounts/password/change/">修改密码</a></li>
<li><a href="{% url profile_setting %}">绑定 Ccnet 用户 ID</a></li>
<li><a href="{{ SITE_ROOT }}accounts/password/change/">修改网站帐号密码</a></li>
</ul>
{% endblock %}
{% block right_panel %}
<h3>当前头像</h3>
{% load avatar_tags %}
{% avatar user 90 %}
<h3>Ccnet 当前设置</h3>
<h3>Ccnet/Seafile 当前设置</h3>
<p>Ccnet ID: {{ profile.ccnet_user_id }}</p>
{% if groups %}
<h3>加入的组</h3>
<div id="ccnet-groups">
<ul>
{% for group in groups %}
<li>{{ group.name }}</li>
{% endfor %}
</ul>
</div>
{% endif %}
{% endblock %}

View File

@@ -1,15 +1,16 @@
{% extends "profile/profile_base.html" %}
{% block content %}
{% block right_panel %}
<h2>绑定 Ccnet/Seafile 用户 ID</h2>
<form action="" method="post">
{% if error_msg %}
<p class="error">{{ error_msg }}</p>
{% endif %}
<label>Ccnet User ID:</label><br/>
<label>用户 ID:</label><br/>
<input id="id_ccnet_user_id" type="text" name="ccnet_user_id" value="{{ origin_id }}" maxlength="40" /><br/>
<input type="submit" value="更新个人资料" />
<input type="submit" value="提交" />
</form>
{% endblock %}

View File

@@ -13,15 +13,13 @@ from seaserv import ccnet_rpc
@login_required
def show_profile(request):
groups = []
try:
profile = request.user.get_profile()
except UserProfile.DoesNotExist:
profile = UserProfile(user=request.user)
profile.save()
return render_to_response('profile/profile.html',
{ 'groups': groups,
'profile': profile, },
{ 'profile': profile, },
context_instance=RequestContext(request))

View File

@@ -21,8 +21,6 @@
<div class="top-bar-in">
{% if request.user.is_authenticated %}
欢迎, {{ request.user }}.
<a href="{{ SITE_ROOT }}home/my/">我的页面</a>
<a href="{{ SITE_ROOT }}home/">主页</a>
<a href="{{ SITE_ROOT }}profile/">设置</a>
{% if request.user.is_staff %}
<a href="{{ SITE_ROOT }}admin/">管理</a>

View File

@@ -1,66 +0,0 @@
{% extends "base.html" %}
{% block left_panel %}
{% include "help_nav.html" %}
{% endblock %}
{% block right_panel %}
<div class="help-page">
<h2>基本概念</h2>
<p>
Seafile 是一个文件版本管理和同步共享工具。Ccnet 则是一个网络连接管理工具,用于支持 Seafile 的同步共享功能。首先让我们来了解下 Seafile 的几个基本概念。
<ul>
<li>文件盒 (repo)</li>
<li>历史记录 (commit)</li>
<li>存储仓库</li>
<li>工作目录 (work directory)</li>
</ul>
<img src="{{ MEDIA_URL }}img/seafile-concept.png" />
<p>
Seafile 中基本的管理单位是文件盒 (repo)。 一个文件盒存储了它所包含的文件的当前状态以及这些文件的所有历史。 所有的文件盒都保存在本地的存储仓库里, 其中的文件会被分割成小块保存, 相同的小块只会被保存一次。存储仓库的目录名是 seafile-data可以在第一次运行程序的时候指定这个目录放置的位置。 </p>
<p>
每个文件盒有一个工作目录,工作目录显示了文件的当前状态。当你每次做了修改之后,文件的最新状态就会自动被记录到文件盒中,同时会创建一个历史记录。 通过界面, 你可以查看文件盒的任意一个历史状态。
</p>
<h2>基本流程</h2>
流程 1, 创建文件盒
<p style="background: #f0f0f0;">
创建文件盒 --> 自动上传到服务器 --> 其他人可以通过文件盒 ID 来获取这个文件盒
</p>
流程 2, 获取他人文件盒:
<p style="background: #f0f0f0;">
通过文件盒 ID 来获取这个文件盒 --> 指定解密密码(可选) --> 导出到一个工作目录
</p>
<p>
之后你对文件盒的修改/添加/删除操作都会自动同步到服务器上。
</p>
<h3>文件盒创建</h3>
<p>
启动 Seafile 后通过右键菜单从任意一个目录创建文件盒,这个目录成为这个文件盒的工作目录。
</p>
<p>
创建的时候可以选择给文件盒加密,加密密码在本地保存,这个密码不会传到服务器上。
</p>
<h3>文件盒获取</h3>
<p>
通过本地 web 界面首页左侧的“获取文件盒菜单”菜单,按提示操作即可。
</p>
<h2>帐号管理</h2>
<img src="{{ MEDIA_URL }}img/account.png" />
Seafile 允许您在任意两台机器间同步数据,因此我们需要每台机器有一个唯一的计算机 ID 和唯一的帐号 ID当您在一台机器上创建了一个帐号后您需要导出帐号文件并通过 email 等方式发送到另一台计算机以便使用同一个帐号 ID。
</div> <!-- help-page -->
{% endblock %}

View File

@@ -1,20 +0,0 @@
{% extends "base.html" %}
{% block left_panel %}
{% include "help_nav.html" %}
{% endblock %}
{% block right_panel %}
<div class="help-page">
<h2>历史功能</h2>
Seafile 提供的历史功能包括:
<ul>
<li>浏览历史状态</li>
<li>导出一个历史文件</li>
<li>将工作目录恢复到一个历史状态</li>
</ul>
这些操作均可以通过文件盒页面中的“历史”面板完成。
</div>
{% endblock %}

View File

@@ -1,26 +0,0 @@
{% extends "base.html" %}
{% block left_panel %}
{% include "help_nav.html" %}
{% endblock %}
{% block right_panel %}
<div class="help-page">
<h2>手工管理文件盒</h2>
文件盒的自动管理包括两部分
<ul>
<li>自动提交工作目录的内容到文件盒: 文件盒的工作目录下的文件发生变化后系统会在10秒后生成一个新的历史记录。</li>
<li>自动和服务器同步。</li>
</ul>
<p>这两部分都可以设置成手工模式。</p>
<ul>
<li>手工提交和自动同步模式: 适合希望做了很多修改后一次性生成一个历史记录的场合。 提交修改后会自动做同步。</li>
<li>手工提交和手工同步模式: 选择右键菜单的手工模式会进入这个状态。</li>
<li>自动提交和手工同步模式: 如果你不希望和服务器进行同步的话。</li>
</ul>
<img src="{{ MEDIA_URL }}img/seafile-concept.png" />
</div>
{% endblock %}

View File

@@ -1,6 +0,0 @@
<ul>
<li><a href="{{ SITE_ROOT }}help/">基本功能</a></li>
<li><a href="{{ SITE_ROOT }}help/history/">历史功能</a></li>
<li><a href="{{ SITE_ROOT }}help/manual/">手工管理</a></li>
<li><a href="{{ SITE_ROOT }}help/sync/">同步过程</a></li>
</ul>

View File

@@ -1,22 +0,0 @@
{% extends "base.html" %}
{% block left_panel %}
{% include "help_nav.html" %}
{% endblock %}
{% block right_panel %}
<div class="help-page">
<h2>同步原理</h2>
<p>
下面我们来了解下 Seafile 同步的工作原理。 Seafile 的同步过程包含三个步骤
<ul>
<li>上传 (upload)</li>
<li>下载 (fetch)</li>
<li>合并 (merge)</li>
</ul>
默认情况下,上述的三个步骤都是自动的。当你对一个文件盒做了一次提交之后,对应的修改就会被传到服务器。当其他人对文件盒做了修改,这些修改会被下载到你的计算机上,并和你的文件的当前状态做一次合并。合并结束后,你的工作目录也会被加以更新。
</p>
</div>
{% endblock %}

View File

@@ -10,7 +10,7 @@
</li>
{% endif %}
<li>
<a href="{{ SITE_ROOT }}help/">使用帮助</a>
<a href="http://www.gonggeng.org/seasite/help/">使用帮助</a>
</li>
<!--
<li>

View File

@@ -1,19 +0,0 @@
{% 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="{{ SITE_ROOT }}repo/{{ repo.props.id }}/">{{ repo.props.name }}</a></td>
<td>{{ repo.props.id }}</td>
<td>{{ repo.props.desc }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}

14
urls.py
View File

@@ -2,8 +2,8 @@ from django.conf.urls.defaults import *
from django.conf import settings
from django.views.generic.simple import direct_to_template
from seahub.views import root, home, peers, groups, myhome, myrepos, \
repo, group, group_add_repo, modify_token, remove_repo, seafadmin
from seahub.views import root, peers, groups, myhome, \
repo, group, modify_token, remove_repo, seafadmin
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
@@ -23,19 +23,9 @@ urlpatterns = patterns('',
(r'^accounts/', include('base.registration_urls')),
(r'^$', root),
(r'^home/$', home),
url(r'^home/my/$', myhome, name='myhome'),
(r'^help/$', direct_to_template, { 'template': 'help.html' } ),
(r'^help/sync/$', direct_to_template, { 'template': 'help_sync.html' } ),
(r'^help/manual/$', direct_to_template, { 'template': 'help_manual.html' } ),
(r'^help/history/$', direct_to_template, { 'template': 'help_history.html' } ),
(r'^download/$', direct_to_template, { 'template': 'download.html' } ),
(r'^peers/$', peers),
(r'^groups/$', groups),
url(r'^group/(?P<group_id>[^/]+)/$', group, name='view_group'),
(r'^group/(?P<group_id>[^/]+)/addrepo/$', group_add_repo),
(r'^repo/(?P<repo_id>[^/]+)/$', repo),
(r'^repos/my/$', myrepos),
(r'^repo/token/modify/(?P<repo_id>[^/]+)/$', modify_token),
(r'^repo/remove/(?P<repo_id>[^/]+)/$', remove_repo),

View File

@@ -21,18 +21,9 @@ def get_user_cid(user):
except UserProfile.DoesNotExist:
return None
@login_required
def root(request):
if request.user.is_authenticated():
return HttpResponseRedirect(reverse(myhome))
else:
return HttpResponseRedirect(reverse(home))
def home(request):
return render_to_response('home.html', {
}, context_instance=RequestContext(request))
def peers(request):
peer_type = request.REQUEST.get('type', 'all')
@@ -181,18 +172,6 @@ def mypeers(request):
cid = get_user_cid(request.user)
@login_required
def myrepos(request):
cid = request.user.user_id
owned_repos = seafserv_rpc.list_owned_repos(cid)
return render_to_response(
'myrepos.html', {
'owned_repos': owned_repos,
},
context_instance=RequestContext(request))
@login_required
def seafadmin(request):
if not request.user.is_staff: