1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-01 15:23:05 +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:
site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(username, email,
password, site,
send_email=settings.REGISTRATION_SEND_MAIL)
new_user = RegistrationProfile.objects.create_active_user(username, email,
password, site,
send_email=settings.REGISTRATION_SEND_MAIL)
# login the user
new_user.backend='auth.backends.ModelBackend'
login(request, new_user)
userid = kwargs['userid']
if 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
urlpatterns = patterns('',
url(r'^activate/complete/$',
direct_to_template,
@ -24,7 +23,9 @@ urlpatterns = patterns('',
url(r'^register/$',
register,
{ 'backend': 'seahub.base.accounts.RegistrationBackend',
'form_class': RegistrationForm },
'form_class': RegistrationForm,
'success_url': '/',
},
name='registration_register'),
url(r'^register/complete/$',
direct_to_template,

View File

@ -113,7 +113,9 @@ AUTHENTICATION_BACKENDS = (
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
HTTP_SERVER_ROOT = "http://localhost:8082"

View File

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

View File

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

View File

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

View File

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

View File

@ -382,13 +382,9 @@ def useradmin(request):
users = ccnet_rpc.get_emailusers(-1,-1)
for user in users:
try:
user.userid_list = get_binding_userids(user.get_email())
# 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
if user.props.id == request.user.id:
user.is_self = True
return render_to_response(
'useradmin.html', {
'users': users,