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. 46
      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. 129
      templates/client/popups/register.html

@ -123,8 +123,8 @@ if settings.DEBUG:
# ajax urls
urlpatterns += solid_i18n_patterns('',
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/', 'registration.backends.default.views.RegisterAjaxView', name='register'),
url(r'^register-complete/', 'registration.backends.default.views.complete_registration'),
url(r'^callback/', 'core.simple_index_view.callback'),
url(r'^search-form/get-parent/$', 'settings.views.search_parent'),

@ -168,35 +168,31 @@ def registration_form_validate(request):
@sensitive_post_parameters('password1', 'password2')
@never_cache
def RegisterAjaxView(request):
#if request.is_ajax():
data = {'success': False}
if request.POST:
form = RegistrationFormUniqueEmail(request.POST)
if form.is_valid():
first_name, last_name, email, password = form.cleaned_data['first_name'],\
form.cleaned_data['last_name'], form.cleaned_data['email'],\
form.cleaned_data['password1']
if Site._meta.installed:
site = Site.objects.get_current()
else:
site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(first_name, last_name, email,
password, site)
signals.user_registered.send(sender=User,
user=new_user,
request=request)
data['success'] = True
data = {'success': False}
if request.method == 'POST':
form = RegistrationFormUniqueEmail(request.POST)
if form.is_valid():
first_name, last_name, email, password = form.cleaned_data['first_name'],\
form.cleaned_data['last_name'], form.cleaned_data['email'],\
form.cleaned_data['password1']
if Site._meta.installed:
site = Site.objects.get_current()
else:
data.update({'errors':form.errors})
site = RequestSite(request)
new_user = RegistrationProfile.objects.create_inactive_user(first_name, last_name, email,
password, site)
signals.user_registered.send(sender=User,
user=new_user,
request=request)
data['success'] = True
return HttpResponse(json.dumps(data), content_type='application/json')
else:
# 404
return HttpResponse('not post')
#else:
data.update({'errors':form.errors})
return HttpResponse(json.dumps(data), content_type='application/json')
else:
# 404
# return HttpResponse('not ajax')
return HttpResponse('not post')
def RegisterReply(request):
if request.GET:

@ -51,9 +51,9 @@ class RegistrationForm(forms.Form):
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"))
password2 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder':_(u'Повторите пароль')}),
password2 = forms.CharField(min_length=6, widget=forms.PasswordInput(attrs={'placeholder':_(u'Повторите пароль')}),
label=_("Password (again)"))
def clean(self):

@ -1562,6 +1562,11 @@ button:hover {
width: 265px;
cursor: pointer
}
.pw-reg button[disabled],
.pw-reg button[disabled]:hover{
background: #666666;
cursor: default;
}
button[class*=icon-]:before {
content: ' ';
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
*/
// TODO: refactor same code
$('form.simple-validate-register').on('submit', function(e){
e.preventDefault();
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
$(function () {

File diff suppressed because one or more lines are too long

@ -1,68 +1,75 @@
{% load static i18n %}
<div id="pw-reg" class="popup-window pw-reg">
<header class="clearfix">
<div class="pw-title">{% trans 'Регистрация' %}</div>
</header>
<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' %}">
{% csrf_token %}
<div class="pwf-line">
<div class="pwf-field">
<input id="id_first_name" maxlength="30" name="first_name" placeholder="{% trans 'Имя' %}" type="text">
</div>
<div class="pwf-msg">
<div class="msg-help">{% trans 'например, свое имя' %}</div>
</div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_last_name" maxlength="30" name="last_name" placeholder="{% trans 'Фамилия' %}" type="text">
</div>
<div class="pwf-msg">
<div class="msg-help">{% trans 'например, свою фамилию' %}</div>
</div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_email" name="email" placeholder="{% trans 'Адрес электронной почты' %}" type="text">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'например, ivanova@mail.ru' %}</div></div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_password1" name="password1" placeholder="{% trans 'Придумайте пароль' %}" type="password">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_password2" name="password2" placeholder="{% trans 'Повторите пароль' %}" type="password">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div>
<header class="clearfix">
<div class="pw-title">{% trans 'Регистрация' %}</div>
</header>
<a href="{% url 'termsofuse' %}" style="color:#a2a2a2;">{% trans "Пользовательское соглашение" %}</a>
<div class="pwf-buttons-line pwf-line" style="margin-top: 12px;">
<div class="pwf-field">
<button type="submit" class="icon-check">{% trans 'Зарегистрироваться' %}</button>
</div>
<div class="pwf-msg err-message-box pd-top-14 red"> {% trans "Ошибка" %}</div>
</div>
</form>
<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' %}">
{% csrf_token %}
<div class="pwf-line">
<div class="pwf-field">
<input id="id_first_name" maxlength="30" name="first_name" placeholder="{% trans 'Имя' %}" type="text">
</div>
<div class="pwf-msg">
<div class="msg-help">{% trans 'например, свое имя' %}</div>
</div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_last_name" maxlength="30" name="last_name" placeholder="{% trans 'Фамилия' %}" type="text">
</div>
<div class="pwf-msg">
<div class="msg-help">{% trans 'например, свою фамилию' %}</div>
</div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_email" name="email" placeholder="{% trans 'Адрес электронной почты' %}" type="text">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'например, ivanova@mail.ru' %}</div></div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_password1" name="password1" placeholder="{% trans 'Придумайте пароль' %}" type="password">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div>
<div class="pwf-line">
<div class="pwf-field">
<input id="id_password2" name="password2" placeholder="{% trans 'Повторите пароль' %}" type="password">
</div>
<div class="pwf-msg"><div class="msg-help">{% trans 'пароль должен иметь не меньше 6 символов' %}</div></div>
</div>
<footer class="clearfix">
<div class="soc-med-login">
<div class="sm-label">{% trans 'или войдите с помощью' %}</div>
<div class="sm-body">
<ul>
<li><a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-fb.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'twitter' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-twit.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'odnoklassniki-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-ok.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'mailru-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-mailr.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'vk-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-vk.png' %}" alt="" /></a></li>
</ul>
</div>
<a href="{% url 'termsofuse' %}" style="color:#a2a2a2;">{% trans "Пользовательское соглашение" %}</a>
<div class="pwf-buttons-line pwf-line" style="margin-top: 12px;">
<div class="pwf-field">
<button type="submit" disabled="disabled" class="icon-check">{% trans 'Зарегистрироваться' %}</button>
</div>
</footer>
<div class="pwf-msg err-message-box pd-top-14 red"> {% trans "Ошибка" %}</div>
</div>
</form>
</div>
<footer class="clearfix">
<div class="soc-med-login">
<div class="sm-label">{% trans 'или войдите с помощью' %}</div>
<div class="sm-body">
<ul>
<li><a href="{% url 'social:begin' 'facebook' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-fb.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'twitter' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-twit.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'odnoklassniki-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-ok.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'mailru-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-mailr.png' %}" alt="" /></a></li>
<li><a href="{% url 'social:begin' 'vk-oauth2' %}?next={{ request.path }}"><img src="{% static 'client/img/soc-medias/icon-vk.png' %}" alt="" /></a></li>
</ul>
</div>
</div>
</footer>
</div>

Loading…
Cancel
Save