Merge branch 'develop' of gitlab.com:OldminTeam/expomap into develop

remotes/origin/tests
Slava Kyrachevsky 9 years ago
commit 623aed25a4
  1. 2
      proj/urls.py
  2. 6
      registration/backends/default/views.py
  3. 4
      registration/forms.py
  4. 5
      static/client/css/main.css
  5. 2
      static/client/css_min/main.min.css
  6. 58
      static/client/js/_modules/block.common.js
  7. 2
      static/client/js_min/_modules/block.common.min.js
  8. 9
      templates/client/popups/register.html

@ -123,8 +123,8 @@ if settings.DEBUG:
# ajax urls # ajax urls
urlpatterns += solid_i18n_patterns('', urlpatterns += solid_i18n_patterns('',
url(r'^registration/reply/$', 'registration.backends.default.views.RegisterReply'), url(r'^registration/reply/$', 'registration.backends.default.views.RegisterReply'),
url(r'^register/', 'registration.backends.default.views.RegisterAjaxView', name='register'),
url(r'^register/validate/', 'registration.backends.default.views.registration_form_validate', name='registration_form_validate'), url(r'^register/validate/', 'registration.backends.default.views.registration_form_validate', name='registration_form_validate'),
url(r'^register/', 'registration.backends.default.views.RegisterAjaxView', name='register'),
url(r'^register-complete/', 'registration.backends.default.views.complete_registration'), url(r'^register-complete/', 'registration.backends.default.views.complete_registration'),
url(r'^callback/', 'core.simple_index_view.callback'), url(r'^callback/', 'core.simple_index_view.callback'),
url(r'^search-form/get-parent/$', 'settings.views.search_parent'), url(r'^search-form/get-parent/$', 'settings.views.search_parent'),

@ -168,9 +168,8 @@ def registration_form_validate(request):
@sensitive_post_parameters('password1', 'password2') @sensitive_post_parameters('password1', 'password2')
@never_cache @never_cache
def RegisterAjaxView(request): def RegisterAjaxView(request):
#if request.is_ajax():
data = {'success': False} data = {'success': False}
if request.POST: if request.method == 'POST':
form = RegistrationFormUniqueEmail(request.POST) form = RegistrationFormUniqueEmail(request.POST)
if form.is_valid(): if form.is_valid():
first_name, last_name, email, password = form.cleaned_data['first_name'],\ first_name, last_name, email, password = form.cleaned_data['first_name'],\
@ -194,9 +193,6 @@ def RegisterAjaxView(request):
else: else:
# 404 # 404
return HttpResponse('not post') return HttpResponse('not post')
#else:
# 404
# return HttpResponse('not ajax')
def RegisterReply(request): def RegisterReply(request):
if request.GET: if request.GET:

@ -51,9 +51,9 @@ class RegistrationForm(forms.Form):
widget=forms.TextInput(attrs={'placeholder':_(u'Фамилия')})) widget=forms.TextInput(attrs={'placeholder':_(u'Фамилия')}))
email = forms.EmailField(label=_("E-mail"), widget=forms.TextInput(attrs={'placeholder':_(u'Адрес электронной почты')})) email = forms.EmailField(label=_("E-mail"), widget=forms.TextInput(attrs={'placeholder':_(u'Адрес электронной почты')}))
password1 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder':_(u'Придумайте пароль')}), password1 = forms.CharField(min_length=6, widget=forms.PasswordInput(attrs={'placeholder':_(u'Придумайте пароль')}),
label=_("Password")) label=_("Password"))
password2 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder':_(u'Повторите пароль')}), password2 = forms.CharField(min_length=6, widget=forms.PasswordInput(attrs={'placeholder':_(u'Повторите пароль')}),
label=_("Password (again)")) label=_("Password (again)"))
def clean(self): def clean(self):

@ -1562,6 +1562,11 @@ button:hover {
width: 265px; width: 265px;
cursor: pointer cursor: pointer
} }
.pw-reg button[disabled],
.pw-reg button[disabled]:hover{
background: #666666;
cursor: default;
}
button[class*=icon-]:before { button[class*=icon-]:before {
content: ' '; content: ' ';
display: inline-block; display: inline-block;

File diff suppressed because one or more lines are too long

@ -270,6 +270,7 @@ if (EXPO.common){
/** /**
* registration form requires a special form of error messages * registration form requires a special form of error messages
*/ */
// TODO: refactor same code
$('form.simple-validate-register').on('submit', function(e){ $('form.simple-validate-register').on('submit', function(e){
e.preventDefault(); e.preventDefault();
var $form = $(this), var $form = $(this),
@ -333,6 +334,63 @@ if (EXPO.common){
} }
}); });
var timer;
$('form.simple-validate-register').on('keyup', 'input', function (e) {
e.preventDefault();
var $form = $(this).parents('form');
clearTimeout(timer);
timer = setTimeout(function () {
$.post($form.data('validate-url'), $form.serializeArray(), function (data) {
if (data.success){
$form.find('button').prop('disabled', false);
$(".error", $form).remove();
$(".required.err", $form).removeClass("required err");
$(".pwf-line .msg-help",$form).each(function () {
var $this = $(this),
defaultT = $this.attr("data-default");
if($.trim(defaultT) != ''){
$this.html('').text(defaultT);
}
});
//$resend.attr('data-email',mailVal);
// $.fancybox.close(true);
// $.fancybox('#pw-reg-complete');
}
else{
$form.find('button').prop('disabled', true);
// delete previous error messages
$(".error", $form).remove();
$(".required.err", $form).removeClass("required err");
$('.has_error', $form).removeClass('has_error');
$(".pwf-line .msg-help",$form).each(function () {
var $this = $(this),
defaultT = $this.attr("data-default");
if($.trim(defaultT) != ''){
$this.html('').text(defaultT).hide();
}
});
$.each(data.errors, function (index, value) {
var $input = $("#id_"+index, $form),
$error = $("<div/>").attr("class", "error").append(value),
$msg = $input.closest(".pwf-line").find(".msg-help");
$input.parent().addClass('required err');
$input.parents('.pwf-line').addClass('has_error');
$msg.attr("data-default", $msg.text());
$msg.text('').prepend($error);
$msg.show();
});
}
});
}, 500);
});
}); });
//private //private
$(function () { $(function () {

File diff suppressed because one or more lines are too long

@ -4,6 +4,7 @@
<header class="clearfix"> <header class="clearfix">
<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 simple-validate-register reg-form" id="reg_form" action="{% url 'register' %}" data-validate-url="{% url 'registration_form_validate' %}"> <form method="post" class="pw-form simple-validate-register reg-form" id="reg_form" action="{% url 'register' %}" data-validate-url="{% url 'registration_form_validate' %}">
{% csrf_token %} {% csrf_token %}
@ -15,6 +16,7 @@
<div class="msg-help">{% trans 'например, свое имя' %}</div> <div class="msg-help">{% trans 'например, свое имя' %}</div>
</div> </div>
</div> </div>
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field"> <div class="pwf-field">
<input id="id_last_name" maxlength="30" name="last_name" placeholder="{% trans 'Фамилия' %}" type="text"> <input id="id_last_name" maxlength="30" name="last_name" placeholder="{% trans 'Фамилия' %}" type="text">
@ -23,18 +25,21 @@
<div class="msg-help">{% trans 'например, свою фамилию' %}</div> <div class="msg-help">{% trans 'например, свою фамилию' %}</div>
</div> </div>
</div> </div>
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field"> <div class="pwf-field">
<input id="id_email" name="email" placeholder="{% trans 'Адрес электронной почты' %}" type="text"> <input id="id_email" name="email" placeholder="{% trans 'Адрес электронной почты' %}" type="text">
</div> </div>
<div class="pwf-msg"><div class="msg-help">{% trans 'например, ivanova@mail.ru' %}</div></div> <div class="pwf-msg"><div class="msg-help">{% trans 'например, ivanova@mail.ru' %}</div></div>
</div> </div>
<div class="pwf-line"> <div class="pwf-line">
<div class="pwf-field"> <div class="pwf-field">
<input id="id_password1" name="password1" placeholder="{% trans 'Придумайте пароль' %}" type="password"> <input id="id_password1" name="password1" placeholder="{% trans 'Придумайте пароль' %}" type="password">
</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">
@ -43,14 +48,16 @@
</div> </div>
<a href="{% url 'termsofuse' %}" style="color:#a2a2a2;">{% trans "Пользовательское соглашение" %}</a> <a href="{% url 'termsofuse' %}" style="color:#a2a2a2;">{% trans "Пользовательское соглашение" %}</a>
<div class="pwf-buttons-line pwf-line" style="margin-top: 12px;"> <div class="pwf-buttons-line pwf-line" style="margin-top: 12px;">
<div class="pwf-field"> <div class="pwf-field">
<button type="submit" class="icon-check">{% trans 'Зарегистрироваться' %}</button> <button type="submit" disabled="disabled" class="icon-check">{% trans 'Зарегистрироваться' %}</button>
</div> </div>
<div class="pwf-msg err-message-box pd-top-14 red"> {% trans "Ошибка" %}</div> <div class="pwf-msg err-message-box pd-top-14 red"> {% trans "Ошибка" %}</div>
</div> </div>
</form> </form>
</div> </div>
<footer class="clearfix"> <footer class="clearfix">
<div class="soc-med-login"> <div class="soc-med-login">
<div class="sm-label">{% trans 'или войдите с помощью' %}</div> <div class="sm-label">{% trans 'или войдите с помощью' %}</div>

Loading…
Cancel
Save