mirror of
https://github.com/haiwen/seahub.git
synced 2025-10-21 10:51:17 +00:00
Use email-user and binding in ccnet instead of userprofile in seahub
* Remove UserProfile from profile/models. * Disable ccnet user id binding in profile page
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from django.contrib import admin
|
||||
from profile.models import UserProfile
|
||||
#from profile.models import UserProfile
|
||||
|
||||
admin.site.register(UserProfile)
|
||||
#admin.site.register(UserProfile)
|
||||
|
@@ -2,9 +2,9 @@ from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
|
||||
class UserProfile(models.Model):
|
||||
user = models.ForeignKey(User, unique=True)
|
||||
ccnet_user_id = models.CharField(max_length=40, blank=True)
|
||||
#class UserProfile(models.Model):
|
||||
# user = models.ForeignKey(User, unique=True)
|
||||
# ccnet_user_id = models.CharField(max_length=40, blank=True)
|
||||
|
||||
class UserCcnetConf(models.Model):
|
||||
user = models.ForeignKey(User, unique=True)
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
{% block left_panel %}
|
||||
<ul>
|
||||
<li><a href="{% url profile_setting %}">绑定个人 ID</a></li>
|
||||
<li><a href="{{ SITE_ROOT }}accounts/password/change/">修改网站帐号密码</a></li>
|
||||
</ul>
|
||||
{% endblock %}
|
||||
@@ -13,14 +12,12 @@
|
||||
|
||||
<h2>当前设置</h2>
|
||||
<ul>
|
||||
{% if profile.ccnet_user_id %}
|
||||
<li><span class="bold">个人 ID:</span>{{ profile.ccnet_user_id }}</li>
|
||||
{% else %}
|
||||
<li><span class="bold">个人 ID:</span>您还没绑定。<a href="{% url profile_setting %}">现在绑定</a></li>
|
||||
{% if user_id %}
|
||||
<li><span class="bold">个人 ID:</span>{{ user_id }}</li>
|
||||
{% endif %}
|
||||
|
||||
{% if profile_timestamp %}
|
||||
<li><span class="bold">帐号文件:</span>您的加密后的帐号文件上传于{{ profile_timestamp }} <a href="{{ SITE_ROOT }}profile/download/?user_id={{profile.ccnet_user_id}}">点此下载</a></li>
|
||||
<li><span class="bold">帐号文件:</span>您的加密后的帐号文件上传于{{ profile_timestamp }} <a href="{{ SITE_ROOT }}profile/download/?user_id={{ user_id }}">点此下载</a></li>
|
||||
{% else %}
|
||||
<li><span class="bold">帐号文件:</span>您的帐号文件还未上传,请在本地 seafile 界面 "帐号" 标签下上传</li>
|
||||
{% endif %}
|
||||
|
@@ -3,7 +3,7 @@ from django.conf.urls.defaults import *
|
||||
urlpatterns = patterns('profile.views',
|
||||
url(r'^$', 'show_profile'),
|
||||
url(r'^ccnet/$', 'get_ccnet_profile'),
|
||||
url(r'^edit/$', 'set_profile', name="profile_setting"),
|
||||
# url(r'^edit/$', 'set_profile', name="profile_setting"),
|
||||
url(r'^edit/ccnet/$', 'set_ccnet_profile', name="ccnet_profile_setting"),
|
||||
url(r'^download/$', 'download_profile', name="profile_download"),
|
||||
)
|
||||
|
@@ -8,16 +8,13 @@ from django.core.urlresolvers import reverse
|
||||
import datetime
|
||||
|
||||
from forms import SetUserProfileForm
|
||||
from models import UserProfile, UserCcnetConf
|
||||
from models import UserCcnetConf
|
||||
|
||||
from seaserv import ccnet_rpc, translate_time_usec
|
||||
|
||||
@login_required
|
||||
def show_profile(request):
|
||||
try:
|
||||
profile = request.user.get_profile()
|
||||
except UserProfile.DoesNotExist:
|
||||
profile = UserProfile(user=request.user)
|
||||
profile.save()
|
||||
user_id = ccnet_rpc.get_binding_userid(request.user.username)
|
||||
|
||||
try:
|
||||
profile_timestamp = ccnet_rpc.get_user_profile_timestamp(profile.ccnet_user_id)
|
||||
@@ -25,51 +22,42 @@ def show_profile(request):
|
||||
except:
|
||||
profile_timestamp = None
|
||||
|
||||
return render_to_response('profile/profile.html',
|
||||
{ 'profile': profile,
|
||||
return render_to_response('profile/profile.html', {
|
||||
'user_id': user_id,
|
||||
'profile_timestamp': profile_timestamp},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@login_required
|
||||
def set_profile(request):
|
||||
error_msg = None
|
||||
origin_id = None
|
||||
if request.method == 'POST':
|
||||
ccnet_user_id = request.POST.get('ccnet_user_id', '').strip()
|
||||
origin_id = ccnet_user_id
|
||||
if not ccnet_user_id:
|
||||
error_msg = "You must specify Key ID"
|
||||
elif len(ccnet_user_id) != 40:
|
||||
error_msg = "Key ID must be of length 40"
|
||||
elif UserProfile.objects.filter(ccnet_user_id=ccnet_user_id).count() != 0:
|
||||
error_msg = "Key ID has been used"
|
||||
else:
|
||||
try:
|
||||
profile = request.user.get_profile()
|
||||
except UserProfile.DoesNotExist:
|
||||
profile = UserProfile(user=request.user)
|
||||
profile.save()
|
||||
try:
|
||||
ccnet_rpc.add_client(ccnet_user_id)
|
||||
except Exception, e:
|
||||
error_msg = "Ccnet Daemon is not available, try again later"
|
||||
else:
|
||||
profile.ccnet_user_id = ccnet_user_id
|
||||
profile.save()
|
||||
return HttpResponseRedirect(reverse(show_profile))
|
||||
else:
|
||||
try:
|
||||
profile = request.user.get_profile()
|
||||
except UserProfile.DoesNotExist:
|
||||
profile = UserProfile(user=request.user)
|
||||
profile.save()
|
||||
origin_id = profile.ccnet_user_id
|
||||
|
||||
return render_to_response('profile/set_profile.html',
|
||||
{ 'error_msg': error_msg,
|
||||
'origin_id': origin_id },
|
||||
context_instance=RequestContext(request))
|
||||
#@login_required
|
||||
#def set_profile(request):
|
||||
# error_msg = None
|
||||
# origin_id = None
|
||||
# if request.method == 'POST':
|
||||
# ccnet_user_id = request.POST.get('ccnet_user_id', '').strip()
|
||||
# origin_id = ccnet_user_id
|
||||
# if not ccnet_user_id:
|
||||
# error_msg = "You must specify Key ID"
|
||||
# elif len(ccnet_user_id) != 40:
|
||||
# error_msg = "Key ID must be of length 40"
|
||||
# elif ccnet_rpc.get_binding_email(ccnet_user_id) != None:
|
||||
# email = ccnet_rpc.get_binding_email(ccnet_user_id)
|
||||
# # user id has been binded by an email
|
||||
# error_msg = ("Key ID has been used by %s" % email)
|
||||
# else:
|
||||
# try:
|
||||
# ccnet_rpc.add_client(ccnet_user_id)
|
||||
# except Exception, e:
|
||||
# error_msg = "Ccnet Daemon is not available, try again later"
|
||||
# else:
|
||||
# ccnet_rpc.add_binding(request.user.username, ccnet_user_id)
|
||||
# return HttpResponseRedirect(reverse(show_profile))
|
||||
# else:
|
||||
# origin_id = ccnet_rpc.get_binding_userid(request.user.username)
|
||||
#
|
||||
# return render_to_response('profile/set_profile.html',
|
||||
# { 'error_msg': error_msg,
|
||||
# 'origin_id': origin_id },
|
||||
# context_instance=RequestContext(request))
|
||||
|
||||
|
||||
@login_required
|
||||
@@ -83,12 +71,8 @@ def get_ccnet_profile(request):
|
||||
|
||||
@login_required
|
||||
def set_ccnet_profile(request):
|
||||
try:
|
||||
profile = request.user.get_profile()
|
||||
except UserProfile.DoesNotExist:
|
||||
return HttpResponse("Error: You have not set seafile id yet.")
|
||||
ccnet_id = profile.ccnet_user_id
|
||||
|
||||
ccnet_id = request.user.user_id
|
||||
|
||||
if request.method == 'POST':
|
||||
ccnet_profile = request.POST.get('ccnet_profile', None)
|
||||
try:
|
||||
@@ -107,7 +91,7 @@ def set_ccnet_profile(request):
|
||||
ccnet_profile = ccnet_conf.ccnet_profile
|
||||
except UserCcnetConf.DoesNotExist:
|
||||
ccnet_profile = ""
|
||||
|
||||
|
||||
return render_to_response('profile/set_ccnet_conf.html',
|
||||
{ 'ccnet_profile': ccnet_profile },
|
||||
context_instance=RequestContext(request))
|
||||
|
Reference in New Issue
Block a user