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

Enable user provide name in register

This commit is contained in:
zhengxie
2015-01-23 15:43:31 +08:00
parent e6081aead5
commit 109ed579fa
4 changed files with 44 additions and 19 deletions

View File

@@ -6,7 +6,7 @@ from django.conf import settings
from django.contrib.sites.models import RequestSite
from django.contrib.sites.models import Site
from seahub.auth.models import get_hexdigest, check_password
from seahub.auth.models import get_hexdigest
from seahub.auth import login
from registration import signals
#from registration.forms import RegistrationForm
@@ -329,7 +329,7 @@ class RegistrationBackend(object):
site = RequestSite(request)
from registration.models import RegistrationProfile
if settings.ACTIVATE_AFTER_REGISTRATION == True:
if settings.ACTIVATE_AFTER_REGISTRATION is True:
# since user will be activated after registration,
# so we will not use email sending, just create acitvated user
new_user = RegistrationProfile.objects.create_active_user(username, email,
@@ -350,10 +350,10 @@ class RegistrationBackend(object):
# ccnet_threaded_rpc.add_binding(new_user.username, userid)
if settings.REQUIRE_DETAIL_ON_REGISTRATION:
name = kwargs['name']
department = kwargs['department']
telephone = kwargs['telephone']
note = kwargs['note']
name = kwargs.get('name', '')
department = kwargs.get('department', '')
telephone = kwargs.get('telephone', '')
note = kwargs.get('note', '')
Profile.objects.add_or_update(new_user.username, name, note)
DetailedProfile.objects.add_detailed_profile(new_user.username,
department,
@@ -499,11 +499,29 @@ class RegistrationForm(forms.Form):
class DetailedRegistrationForm(RegistrationForm):
attrs_dict = { 'class': 'input' }
try:
from seahub.settings import REGISTRATION_DETAILS_MAP
except:
REGISTRATION_DETAILS_MAP = None
if REGISTRATION_DETAILS_MAP:
name_required = REGISTRATION_DETAILS_MAP.get('name', False)
dept_required = REGISTRATION_DETAILS_MAP.get('department', False)
tele_required = REGISTRATION_DETAILS_MAP.get('telephone', False)
note_required = REGISTRATION_DETAILS_MAP.get('note', False)
else:
# Backward compatible
name_required = dept_required = tele_required = note_required = True
name = forms.CharField(widget=forms.TextInput(
attrs=dict(attrs_dict, maxlength=64)), label=_("name"))
attrs=dict(attrs_dict, maxlength=64)), label=_("name"),
required=name_required)
department = forms.CharField(widget=forms.TextInput(
attrs=dict(attrs_dict, maxlength=512)), label=_("department"))
attrs=dict(attrs_dict, maxlength=512)), label=_("department"),
required=dept_required)
telephone = forms.CharField(widget=forms.TextInput(
attrs=dict(attrs_dict, maxlength=100)), label=_("telephone"))
attrs=dict(attrs_dict, maxlength=100)), label=_("telephone"),
required=tele_required)
note = forms.CharField(widget=forms.TextInput(
attrs=dict(attrs_dict, maxlength=100)), label=_("note"))
attrs=dict(attrs_dict, maxlength=100)), label=_("note"),
required=note_required)

View File

@@ -8,7 +8,7 @@ from seahub.profile.settings import EMAIL_ID_CACHE_PREFIX, EMAIL_ID_CACHE_TIMEOU
from registration.signals import user_registered
class ProfileManager(models.Manager):
def add_or_update(self, username, nickname, intro, lang_code=None):
def add_or_update(self, username, nickname, intro='', lang_code=None):
"""Add or update user profile.
"""
try:

View File

@@ -14,7 +14,7 @@
<p>{% trans "Welcome back, you are already signed in." %}</p>
{% else %}
<form action="" method="post">{% csrf_token %}
{% if form.name %}
{% if form.name.field.required %}
<label for="id_name">{% trans "Name" %}</label>
{{ form.name }} {{ form.name.errors }}
{% endif %}
@@ -26,11 +26,18 @@
<div id="pwd_strength"></div>
<label for="id_password2">{% trans "Confirm Password" %}</label>
{{ form.password2 }} {{ form.password2.errors }}
{% if form.department and form.telephone %}
{% if form.department.field.required %}
<label for="id_department">{% trans "Department" %}</label>
{{ form.department }} {{ form.department.errors }}
{% endif %}
{% if form.telephone.field.required %}
<label for="id_telephone">{% trans "Telephone" %}</label>
{{ form.telephone }} {{ form.telephone.errors }}
{% endif %}
{% if form.note.field.required %}
<label for="id_note">{% trans "Note" %}</label>
{{ form.note }} {{ form.note.errors }}
{% endif %}

View File

@@ -205,8 +205,8 @@ def register(request, backend, success_url=None, form_class=None,
if src:
form = form_class(initial={'email': src})
return render_to_response(template_name,
{ 'form': form,
return render_to_response(template_name, {
'form': form,
'min_len': USER_PASSWORD_MIN_LENGTH,
'strong_pwd_required': USER_STRONG_PASSWORD_REQUIRED,
'level': USER_PASSWORD_STRENGTH_LEVEL,