1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-19 18:29:23 +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 RequestSite
from django.contrib.sites.models import Site 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 seahub.auth import login
from registration import signals from registration import signals
#from registration.forms import RegistrationForm #from registration.forms import RegistrationForm
@@ -329,7 +329,7 @@ class RegistrationBackend(object):
site = RequestSite(request) site = RequestSite(request)
from registration.models import RegistrationProfile 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, # since user will be activated after registration,
# so we will not use email sending, just create acitvated user # so we will not use email sending, just create acitvated user
new_user = RegistrationProfile.objects.create_active_user(username, email, 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) # ccnet_threaded_rpc.add_binding(new_user.username, userid)
if settings.REQUIRE_DETAIL_ON_REGISTRATION: if settings.REQUIRE_DETAIL_ON_REGISTRATION:
name = kwargs['name'] name = kwargs.get('name', '')
department = kwargs['department'] department = kwargs.get('department', '')
telephone = kwargs['telephone'] telephone = kwargs.get('telephone', '')
note = kwargs['note'] note = kwargs.get('note', '')
Profile.objects.add_or_update(new_user.username, name, note) Profile.objects.add_or_update(new_user.username, name, note)
DetailedProfile.objects.add_detailed_profile(new_user.username, DetailedProfile.objects.add_detailed_profile(new_user.username,
department, department,
@@ -499,11 +499,29 @@ class RegistrationForm(forms.Form):
class DetailedRegistrationForm(RegistrationForm): class DetailedRegistrationForm(RegistrationForm):
attrs_dict = { 'class': 'input' } 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( 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( 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( 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( 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 from registration.signals import user_registered
class ProfileManager(models.Manager): 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. """Add or update user profile.
""" """
try: try:

View File

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

View File

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