remotes/origin/stage6
Alexander Burdeiny 9 years ago
parent 64ba105832
commit f61be2a871
  1. 31
      accounts/forms.py
  2. 4
      templates/client/popups/register.html
  3. 11
      templates/client/popups/user_information.html

@ -1,7 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import re import re
import json import json
import string
import ast import ast
from random import choice
from django import forms from django import forms
from django.contrib.auth.forms import ReadOnlyPasswordHashField from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.forms.util import ErrorList from django.forms.util import ErrorList
@ -207,7 +209,7 @@ class RegistrationCompleteForm(forms.ModelForm):
country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(), country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(),
widget=forms.Select(attrs={'class': 'select2'})) widget=forms.Select(attrs={'class': 'select2'}))
city = forms.CharField(label=_(u'Город'), widget=forms.HiddenInput()) city = forms.CharField(label=_(u'Город'), widget=forms.HiddenInput())
url = forms.CharField(widget=forms.TextInput(attrs={'placeholder': _(u'url(обязательно)')})) url = forms.CharField(widget=forms.TextInput(), required=False)
# code_country = forms.ChoiceField(label=_(u'код страны'), initial='70', # code_country = forms.ChoiceField(label=_(u'код страны'), initial='70',
# choices=[(str(c.phone_code), '+' + str(c.phone_code)) for c in # choices=[(str(c.phone_code), '+' + str(c.phone_code)) for c in
@ -245,15 +247,34 @@ class RegistrationCompleteForm(forms.ModelForm):
valid = url_regex.match(url) valid = url_regex.match(url)
if valid is None: if valid is None:
raise forms.ValidationError(_(u'url должен состоять только из латинских букв и цифр')) raise forms.ValidationError(_(u'url должен состоять только из латинских букв и цифр'))
if not url:
return self.make_url()
elif not self.check_url(url):
raise forms.ValidationError(_(u'Пользователь с таким url уже существует'))
return url
def check_url(self, url):
try: try:
User.objects.get(url=url) User.objects.get(url=url)
User.objects.get(id=int(url))
except (User.DoesNotExist,): except (User.DoesNotExist,):
return url
except (ValueError, ):
pass pass
raise forms.ValidationError(_(u'Пользователь с таким url уже существует')) else:
return False
try:
User.objects.get(id=int(url))
except (ValueError, User.DoesNotExist,):
return True
else:
return False
def make_url(self, url=None):
if url is None:
url = 'id{pk}'.format(pk=self.instance.pk)
else:
url += choice(string.ascii_lowercase)
if not self.check_url(url):
return self.make_url(url)
return url
class SocialRegistrationCompleteForm(RegistrationCompleteForm): class SocialRegistrationCompleteForm(RegistrationCompleteForm):

@ -6,7 +6,7 @@
<div class="pw-title">{% trans 'Регистрация' %}</div> <div class="pw-title">{% trans 'Регистрация' %}</div>
</header> </header>
<div class="pw-body clearfix"> <div class="pw-body clearfix">
<form method="post" class="pw-form pw-form simple-validate-register reg-form" id="reg_form" action="/register/">{% csrf_token %} <form method="post" class="pw-form simple-validate-register reg-form" id="reg_form" action="/register/">{% csrf_token %}
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field"> <div class="pwf-field">
<input id="id_first_name" maxlength="30" name="first_name" placeholder="{% trans 'Имя' %}" type="text"> <input id="id_first_name" maxlength="30" name="first_name" placeholder="{% trans 'Имя' %}" type="text">
@ -35,7 +35,7 @@
</div> </div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div> <div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div> </div>
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field"> <div class="pwf-field">
<input id="id_password2" name="password2" placeholder="{% trans 'Повторите пароль' %}" type="password"> <input id="id_password2" name="password2" placeholder="{% trans 'Повторите пароль' %}" type="password">
</div> </div>

@ -89,16 +89,19 @@
{% endcomment %} {% endcomment %}
<tr> <tr>
{% trans "Укажите ниже желаемый адрес для Вашего профиля на Expomap" %}
<th>www.expomap.ru/</th> <th>www.expomap.ru/</th>
<td class="input_bottom" colspan="3"> <td class="input_bottom" colspan="3">
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field url-field"> <div class="pwf-field url-field">
{{ form.url }} {{ form.url }}
</div> </div>
<div class="hint-box">ivanova</div> <div class="pwf-msg">
<div class="pwf-msg err-message-box"></div> <div class="msg-help">{% trans 'например, ivanova' %}</div>
</div> </div>
<div class="pwf-msg err-message-box">
</div>
</div>
</td> </td>
</tr> </tr>

Loading…
Cancel
Save