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 -*-
import re
import json
import string
import ast
from random import choice
from django import forms
from django.contrib.auth.forms import ReadOnlyPasswordHashField
from django.forms.util import ErrorList
@ -207,7 +209,7 @@ class RegistrationCompleteForm(forms.ModelForm):
country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(),
widget=forms.Select(attrs={'class': 'select2'}))
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',
# 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)
if valid is None:
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:
User.objects.get(url=url)
User.objects.get(id=int(url))
except (User.DoesNotExist,):
return url
except (ValueError, ):
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):

@ -6,7 +6,7 @@
<div class="pw-title">{% trans 'Регистрация' %}</div>
</header>
<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-field">
<input id="id_first_name" maxlength="30" name="first_name" placeholder="{% trans 'Имя' %}" type="text">
@ -35,7 +35,7 @@
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div>
<div class="pwf-line">
<div class="pwf-line">
<div class="pwf-field">
<input id="id_password2" name="password2" placeholder="{% trans 'Повторите пароль' %}" type="password">
</div>

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

Loading…
Cancel
Save