1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-12 20:25:49 +00:00

Remove sending email after registration, and clean code

This commit is contained in:
xiez 2012-04-21 11:05:59 +08:00
parent 62bf4b11ce
commit 00f9575c74
8 changed files with 38 additions and 33 deletions

View File

@ -209,10 +209,14 @@ class RegistrationBackend(object):
else: else:
site = RequestSite(request) site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(username, email, new_user = RegistrationProfile.objects.create_active_user(username, email,
password, site, password, site,
send_email=settings.REGISTRATION_SEND_MAIL) send_email=settings.REGISTRATION_SEND_MAIL)
# login the user
new_user.backend='auth.backends.ModelBackend'
login(request, new_user)
userid = kwargs['userid'] userid = kwargs['userid']
if userid: if userid:
ccnet_rpc.add_binding(new_user.username, userid) ccnet_rpc.add_binding(new_user.username, userid)

View File

@ -7,7 +7,6 @@ from registration.views import register
from seahub.base.accounts import RegistrationForm from seahub.base.accounts import RegistrationForm
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^activate/complete/$', url(r'^activate/complete/$',
direct_to_template, direct_to_template,
@ -24,7 +23,9 @@ urlpatterns = patterns('',
url(r'^register/$', url(r'^register/$',
register, register,
{ 'backend': 'seahub.base.accounts.RegistrationBackend', { 'backend': 'seahub.base.accounts.RegistrationBackend',
'form_class': RegistrationForm }, 'form_class': RegistrationForm,
'success_url': '/',
},
name='registration_register'), name='registration_register'),
url(r'^register/complete/$', url(r'^register/complete/$',
direct_to_template, direct_to_template,

View File

@ -113,7 +113,9 @@ AUTHENTICATION_BACKENDS = (
ACCOUNT_ACTIVATION_DAYS = 7 ACCOUNT_ACTIVATION_DAYS = 7
REGISTRATION_SEND_MAIL = True # this value should be false, since user will be activated after registration
# since 0.9.2
REGISTRATION_SEND_MAIL = False
# seafile httpserver address and port # seafile httpserver address and port
HTTP_SERVER_ROOT = "http://localhost:8082" HTTP_SERVER_ROOT = "http://localhost:8082"

View File

@ -4,7 +4,7 @@
<h2>用户注册</h2> <h2>用户注册</h2>
<form action="" method="post" class="reg"> <form action="" method="post" class="reg">
<label for="id_email">邮箱:</label> <label for="id_email">邮箱:</label>
{{ form.email }}<span>(我们将给您发送帐号激活邮件.)</span> {{ form.email }}
{% if form.email.errors %} {% if form.email.errors %}
{{ form.email.errors }} {{ form.email.errors }}
{% endif %}<br /> {% endif %}<br />

View File

@ -26,23 +26,13 @@
{% else %} {% else %}
<td><button data="{{ SITE_ROOT }}useradmin/activate/{{ user.props.id }}/" class="activate">激活</button></td> <td><button data="{{ SITE_ROOT }}useradmin/activate/{{ user.props.id }}/" class="activate">激活</button></td>
{% endif %} {% endif %}
<!--
{% if user.userid_list %}
<td>{{ user.userid_list|first }}</td>
{% else %}
<td></td>
{% endif %}
<td>
{% for role in user.role_list %}
{{ role }} <button data="{{ SITE_ROOT }}useradmin/{{ user.profile.ccnet_user_id }}/role/remove/?role={{ role }}" class="role-delete-btn">删除</button><br />
{% endfor %}
</td>
-->
<td> <td>
{% if user.profile %} {% if user.profile %}
<!-- <button class="add-role-btn" userid="{{ user.profile.ccnet_user_id }}" email="{{ user.email }}">添加角色</button> --> <!-- <button class="add-role-btn" userid="{{ user.profile.ccnet_user_id }}" email="{{ user.email }}">添加角色</button> -->
{% endif %} {% endif %}
{% if not user.is_self %}
<button class="remove-user-btn" data="{{ SITE_ROOT }}useradmin/{{ user.props.id }}/user/remove/">删除</button> <button class="remove-user-btn" data="{{ SITE_ROOT }}useradmin/{{ user.props.id }}/user/remove/">删除</button>
{% endif %}
</td> </td>
</tr> </tr>
{% endfor %} {% endfor %}

View File

@ -3,7 +3,7 @@ from warnings import warn
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.utils.importlib import import_module from django.utils.importlib import import_module
SESSION_KEY = '_auth_user_id' SESSION_KEY = '_auth_user_name'
BACKEND_SESSION_KEY = '_auth_user_backend' BACKEND_SESSION_KEY = '_auth_user_backend'
REDIRECT_FIELD_NAME = 'next' REDIRECT_FIELD_NAME = 'next'

View File

@ -61,9 +61,9 @@ class RegistrationManager(models.Manager):
profile.save() profile.save()
return ccnetuser return ccnetuser
return False return False
def create_inactive_user(self, username, email, password, def create_email_user(self, username, email, password,
site, send_email=True): site, send_email=True, is_active=False):
""" """
Create a new, inactive ``User``, generate a Create a new, inactive ``User``, generate a
``RegistrationProfile`` and email its activation key to the ``RegistrationProfile`` and email its activation key to the
@ -73,11 +73,10 @@ class RegistrationManager(models.Manager):
user. To disable this, pass ``send_email=False``. user. To disable this, pass ``send_email=False``.
""" """
from seahub.base.accounts import CcnetUser from seahub.base.accounts import CcnetUser
ccnetuser = CcnetUser.objects.create_user(username, password, False, False) ccnetuser = CcnetUser.objects.create_user(username, password, False, False)
ccnetuser.is_active = False ccnetuser.is_active = is_active
ccnetuser.save() ccnetuser.save()
registration_profile = self.create_profile(ccnetuser) registration_profile = self.create_profile(ccnetuser)
@ -86,6 +85,19 @@ class RegistrationManager(models.Manager):
registration_profile.send_activation_email(site) registration_profile.send_activation_email(site)
return ccnetuser return ccnetuser
def create_inactive_user(self, username, email, password,
site, send_email=True):
return self.create_email_user(username, email, password, site,
send_email, is_active=False)
create_inactive_user = transaction.commit_on_success(create_inactive_user)
def create_active_user(self, username, email, password,
site, send_email=True):
return self.create_email_user(username, email, password, site,
send_email, is_active=True)
create_inactive_user = transaction.commit_on_success(create_inactive_user) create_inactive_user = transaction.commit_on_success(create_inactive_user)
def create_profile(self, user): def create_profile(self, user):

View File

@ -382,13 +382,9 @@ def useradmin(request):
users = ccnet_rpc.get_emailusers(-1,-1) users = ccnet_rpc.get_emailusers(-1,-1)
for user in users: for user in users:
try: if user.props.id == request.user.id:
user.userid_list = get_binding_userids(user.get_email()) user.is_self = True
# user.ccnet_user = ccnet_rpc.get_user(user.profile.ccnet_user_id)
# user.role_list = user.ccnet_user.props.role_list.split(',')
except:
user.ccnet_user = None
return render_to_response( return render_to_response(
'useradmin.html', { 'useradmin.html', {
'users': users, 'users': users,