parent
ff323a7e25
commit
cff8033bdd
19 changed files with 259 additions and 25 deletions
@ -0,0 +1 @@ |
||||
{% extends 'partials/base.html' %} |
||||
@ -0,0 +1,20 @@ |
||||
{% extends "password_reset/base.html" %}{% load i18n %} |
||||
|
||||
{% block title %}{% trans "New password set" %}{% endblock %} |
||||
|
||||
{% block content %} |
||||
|
||||
<div class="container container_1200"> |
||||
<hr> |
||||
</div> |
||||
|
||||
<!-- block_registr --> |
||||
<div class="container container_1200"> |
||||
|
||||
<div class="block_registr" style="height: auto;"> |
||||
<div class="text-center registr">Успех</div> |
||||
{% trans "Your password has successfully been reset. You can use it right now on the login page." %} |
||||
</div> |
||||
</div> |
||||
<!-- block_registr end --> |
||||
{% endblock %} |
||||
@ -0,0 +1,9 @@ |
||||
{% load i18n %}{% blocktrans %}Dear {{ username }},{% endblocktrans %} |
||||
|
||||
{% blocktrans with domain=site.domain %}You -- or someone pretending to be you -- has requested a password reset on {{ domain }}.{% endblocktrans %} |
||||
|
||||
{% trans "You can set your new password by following this link:" %} |
||||
|
||||
http{% if secure %}s{% endif %}://{{ site.domain }} |
||||
|
||||
{% trans "If you don't want to reset your password, simply ignore this email and it will stay unchanged." %} |
||||
@ -0,0 +1,29 @@ |
||||
{% extends "password_reset/base.html" %} |
||||
{% load i18n %} |
||||
|
||||
{% block title %}{% trans "Password recovery" %}{% endblock %} |
||||
|
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="col-lg-12"> |
||||
<p class="titleScore">Восстановление пароля</p> |
||||
</div> |
||||
<div class="form-regestration"> |
||||
<form method="post" action="{{ url }}"> |
||||
{% csrf_token %} |
||||
|
||||
<div class="col-lg-12 select-reg"> |
||||
<input type="email" name="{{ form.username_or_email.name }}" class="box-sizing pass-reg" id="inputEmail" |
||||
placeholder="Электронная почта"> |
||||
<p>{{ form.username_or_email.errors.as_text }}</p> |
||||
</div> |
||||
|
||||
<div class="col-lg-12 select-reg"> |
||||
<button type="submit" class="reg-sub"> |
||||
Восстановить |
||||
</button> |
||||
</div> |
||||
</form> |
||||
</div> |
||||
{% endblock %} |
||||
@ -0,0 +1,46 @@ |
||||
{% extends "password_reset/base.html" %}{% load i18n %} |
||||
|
||||
{% block content %} |
||||
<div class="container container_1200"> |
||||
<hr> |
||||
</div> |
||||
|
||||
<!-- block_registr --> |
||||
<div class="container container_1200"> |
||||
|
||||
<div class="block_registr" style="height: auto;"> |
||||
<div class="text-center registr">Сброс пароля</div> |
||||
|
||||
{% if invalid %}{% url "password_reset_recover" as recovery_url %} |
||||
{% blocktrans %}Sorry, this password reset link is invalid. You can still |
||||
<a href="{{ recovery_url }}">request a new one</a>.{% endblocktrans %} |
||||
{% else %} |
||||
|
||||
{% blocktrans %}Hi, <strong>{{ username }}</strong>. Please choose your new password.{% endblocktrans %} |
||||
|
||||
|
||||
<form method="post" action="{% url "password_reset_reset" token %}"> |
||||
{% csrf_token %} |
||||
|
||||
<div class="form-group"> |
||||
<input type="password" name="{{ form.password1.name }}" class="col-xs-10 form-control" id="id_password1" |
||||
placeholder="Новый пароль"> |
||||
<p>{{ form.password1.errors.as_text }}</p> |
||||
</div> |
||||
<div class="form-group"> |
||||
<input type="password" name="{{ form.password2.name }}" class="col-xs-10 form-control" id="id_password2" |
||||
placeholder="Подтверждение"> |
||||
<p>{{ form.password2.errors.as_text }}</p> |
||||
</div> |
||||
|
||||
<div> |
||||
<button type="submit" class="btn registr_button"> |
||||
Изменить пароль |
||||
</button> |
||||
</div> |
||||
</form> |
||||
{% endif %} |
||||
</div> |
||||
</div> |
||||
<!-- block_registr end --> |
||||
{% endblock %} |
||||
@ -0,0 +1,28 @@ |
||||
{% extends "password_reset/base.html" %} |
||||
{% load i18n %} |
||||
|
||||
{% block title %}{% trans "Password recovery sent" %}{% endblock %} |
||||
|
||||
{#{% block content %}#} |
||||
{# <p></p>#} |
||||
{#{% endblock %}#} |
||||
|
||||
|
||||
{% block content %} |
||||
|
||||
<div class="container container_1200"> |
||||
<hr> |
||||
</div> |
||||
|
||||
<!-- block_registr --> |
||||
<div class="container container_1200"> |
||||
|
||||
<div class="block_registr" style="height: 300px;"> |
||||
<div class="text-center registr">Письмо отправлено</div> |
||||
{# <div class="alert alert-success">#} |
||||
{% blocktrans with ago=timestamp|timesince %}An email was sent to <strong>{{ email }}</strong> {{ ago }} ago. Use the link in it to set a new password.{% endblocktrans %} |
||||
</div> |
||||
{# </div>#} |
||||
</div> |
||||
<!-- block_registr end --> |
||||
{% endblock %} |
||||
@ -0,0 +1,25 @@ |
||||
from django.conf import settings |
||||
from django.contrib.auth import get_user_model |
||||
|
||||
from .models import User |
||||
|
||||
|
||||
class EmailOrUsernameModelBackend(object): |
||||
|
||||
def authenticate(self, username=None, password=None): |
||||
if '@' in username: |
||||
kwargs = {'email': username} |
||||
else: |
||||
kwargs = {'username': username} |
||||
try: |
||||
user = get_user_model().objects.get(**kwargs) |
||||
if user.check_password(password): |
||||
return user |
||||
except User.DoesNotExist: |
||||
return None |
||||
|
||||
def get_user(self, username): |
||||
try: |
||||
return get_user_model().objects.get(pk=username) |
||||
except get_user_model().DoesNotExist: |
||||
return None |
||||
@ -0,0 +1,20 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.6 on 2016-07-10 16:50 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('users', '0018_auto_20160710_1838'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RenameField( |
||||
model_name='user', |
||||
old_name='data_joined', |
||||
new_name='date_joined', |
||||
), |
||||
] |
||||
@ -1,6 +1,47 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% block content %} |
||||
|
||||
<h1>Upload Files</h1> |
||||
|
||||
<form id="fileupload" method="POST" enctype="multipart/form-data"> |
||||
|
||||
<div class="col-lg-6" style="padding-left: 100px;"> |
||||
<!-- The fileinput-button span is used to style the file input field as button --> |
||||
<span class="btn btn-success fileinput-button"> |
||||
<i class="glyphicon glyphicon-plus"></i> |
||||
<span>Add files...</span> |
||||
<input type="file" name="files[]" multiple> |
||||
</span> |
||||
<button type="submit" class="btn btn-primary start"> |
||||
<i class="glyphicon glyphicon-upload"></i> |
||||
<span>Start upload</span> |
||||
</button> |
||||
<button type="reset" class="btn btn-warning cancel"> |
||||
<i class="glyphicon glyphicon-ban-circle"></i> |
||||
<span>Cancel upload</span> |
||||
</button> |
||||
<button type="button" class="btn btn-danger delete"> |
||||
<i class="glyphicon glyphicon-trash"></i> |
||||
<span>Delete</span> |
||||
</button> |
||||
<input type="checkbox" class="toggle"> |
||||
</div> |
||||
|
||||
</form> |
||||
|
||||
{% endblock %} |
||||
{% block js_block %} |
||||
<script> |
||||
$(function () { |
||||
$('#fileupload').fileupload({ |
||||
dataType: 'json', |
||||
done: function (e, data) { |
||||
$.each(data.result.files, function (index, file) { |
||||
$('<p/>').text(file.name).appendTo(document.body); |
||||
}); |
||||
} |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
|
||||
Loading…
Reference in new issue