#ARC-2 add links for password-reset

remotes/origin/PR-39
Mukhtar 10 years ago
parent 205abceb2b
commit ef1d2b4bc5
  1. 34
      archilance/urls.py
  2. 6
      templates/partials/header.html
  3. 25
      templates/password_reset/recovery_done.html
  4. 2
      templates/password_reset/recovery_email.txt
  5. 46
      templates/password_reset/recovery_form.html
  6. 91
      templates/password_reset/reset.html
  7. 33
      templates/password_reset/reset_sent.html
  8. 8
      templates/registration/login.html
  9. 14
      templates/registration/logout.html
  10. 2
      users/urls.py
  11. 6
      work_sell/forms.py
  12. 135
      work_sell/templates/worksells_list.html
  13. 9
      work_sell/views.py

@ -7,25 +7,25 @@ from django.views.generic import TemplateView
from .views import HomeTemplateView, TestChatTemplateView from .views import HomeTemplateView, TestChatTemplateView
urlpatterns = [ urlpatterns = [
url(r'^$', HomeTemplateView.as_view()), url(r'^$', HomeTemplateView.as_view()),
url('', include('social.apps.django_app.urls', namespace='social')), url('', include('social.apps.django_app.urls', namespace='social')),
url(r'^chattest/$', TestChatTemplateView.as_view()), url(r'^chattest/$', TestChatTemplateView.as_view()),
url(r'^work_sell/', include('work_sell.urls')), url(r'^work_sell/', include('work_sell.urls')),
url(r'^test/$', TemplateView.as_view(template_name='test.html'), name='test'), url(r'^test/$', TemplateView.as_view(template_name='test.html'), name='test'),
url(r'^projects/', include('projects.urls')), url(r'^projects/', include('projects.urls')),
url(r'^reviews/', include('reviews.urls')), url(r'^reviews/', include('reviews.urls')),
url(r'^wallets/', include('wallets.urls')), url(r'^wallets/', include('wallets.urls')),
url(r'^chat/', include('chat.urls')), url(r'^chat/', include('chat.urls')),
url(r'^specializations/', include('specializations.urls')), url(r'^specializations/', include('specializations.urls')),
url(r'^users/', include('users.urls')), url(r'^users/', include('users.urls')),
url(r'^common/', include('common.urls')), url(r'^common/', include('common.urls')),
url(r'^users/', include('registration.backends.default.urls')), url(r'^password/', include('password_reset.urls')),
url(r'^users/', include('registration.backends.default.urls')),
url(r'^admin/', admin.site.urls), url(r'^admin/', admin.site.urls),
url(r'^api/', include('api.urls')), url(r'^api/', include('api.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
if settings.DEBUG: if settings.DEBUG:
urlpatterns += staticfiles_urlpatterns() urlpatterns += staticfiles_urlpatterns()

@ -108,9 +108,15 @@
<li class="icon_mm5"> <li class="icon_mm5">
<a href="#">Настройки<span></span></a> <a href="#">Настройки<span></span></a>
</li> </li>
<li class="icon_mm6"> <li class="icon_mm6">
<a href="#">FAQ<span></span></a> <a href="#">FAQ<span></span></a>
</li> </li>
<li class="icon_mm6">
<a href="{% url 'auth_logout' %}">Выйти<span></span></a>
</li>
</ul> </ul>
</div> </div>
</div> </div>

@ -3,18 +3,21 @@
{% block title %}{% trans "New password set" %}{% endblock %} {% block title %}{% trans "New password set" %}{% endblock %}
{% block content %} {% block content %}
{% include 'partials/header.html' %}
<div class="container mainScore">
<div class="row">
<div class="col-lg-12">
<p class="titleScore">Успех</p>
</div>
<div class="container container_1200"> <div class="col-lg-12">
<hr> {% trans "Your password has successfully been reset. You can use it right now on the login page." %}
</div> </div>
<!-- block_registr --> {% include 'partials/footer.html' %}
<div class="container container_1200"> </div>
</div>
<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 %} {% endblock %}

@ -4,6 +4,6 @@
{% trans "You can set your new password by following this link:" %} {% trans "You can set your new password by following this link:" %}
http{% if secure %}s{% endif %}://{{ site.domain }} http{% if secure %}s{% endif %}://{{ site.domain }}{% url "password_reset_reset" token %}
{% trans "If you don't want to reset your password, simply ignore this email and it will stay unchanged." %} {% trans "If you don't want to reset your password, simply ignore this email and it will stay unchanged." %}

@ -5,25 +5,37 @@
{% block content %} {% block content %}
{% include 'partials/header.html' %} {% include 'partials/header.html' %}
<div class="container mainScore">
<div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<p class="titleScore">Восстановление пароля</p> <p class="titleScore">Восстановление пароля</p>
</div> </div>
<div class="form-regestration">
<form method="post" action="{{ url }}"> <div class="form-regestration" style="padding-top:10px;">
{% csrf_token %} <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"> <div class="col-lg-12 select-reg">
<button type="submit" class="reg-sub"> <input type="email" name="{{ form.username_or_email.name }}" class="box-sizing pass-reg"
Восстановить id="inputEmail"
</button> 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 class="col-lg-12 select-reg">
<p></p>
</div>
</div>
{% include 'partials/footer.html' %}
</div> </div>
</form>
</div> </div>
{% endblock %} {% endblock %}

@ -1,46 +1,55 @@
{% extends "password_reset/base.html" %}{% load i18n %} {% extends "password_reset/base.html" %}{% load i18n %}
{% block content %} {% block content %}
<div class="container container_1200"> {% include 'partials/header.html' %}
<hr> <div class="container mainScore">
</div> <div class="row">
<div class="col-lg-12">
<!-- block_registr --> <p class="titleScore">Сброс пароля</p>
<div class="container container_1200"> </div>
<div class="block_registr" style="height: auto;">
<div class="text-center registr">Сброс пароля</div> {% if invalid %}{% url "password_reset_recover" as recovery_url %}
<div class="col-lg-12">
{% if invalid %}{% url "password_reset_recover" as recovery_url %} {% blocktrans %}Sorry, this password reset link is invalid. You can still
{% blocktrans %}Sorry, this password reset link is invalid. You can still <a href="{{ recovery_url }}">request a new one</a>.{% endblocktrans %}
<a href="{{ recovery_url }}">request a new one</a>.{% endblocktrans %} </div>
{% else %} {% else %}
{% blocktrans %}Hi, <strong>{{ username }}</strong>. Please choose your new password.{% endblocktrans %}
<form method="post" action="{% url "password_reset_reset" token %}"> <div class="form-regestration" style="padding-top:10px;">
{% csrf_token %} {% blocktrans %}Hi, <strong>{{ username }}</strong>. Please choose your new password.
{% endblocktrans %}
<div class="form-group"> <form method="post" action="{% url "password_reset_reset" token %}">
<input type="password" name="{{ form.password1.name }}" class="col-xs-10 form-control" id="id_password1" {% csrf_token %}
placeholder="Новый пароль">
<p>{{ form.password1.errors.as_text }}</p> <div class="col-lg-12 select-reg">
</div> <input type="password" name="{{ form.password1.name }}" class="box-sizing pass-reg"
<div class="form-group"> id="id_password1"
<input type="password" name="{{ form.password2.name }}" class="col-xs-10 form-control" id="id_password2" placeholder="Новый пароль">
placeholder="Подтверждение"> <p>{{ form.password1.errors.as_text }}</p>
<p>{{ form.password2.errors.as_text }}</p> </div>
</div>
<div class="col-lg-12 select-reg">
<div> <input type="password" name="{{ form.password2.name }}" class="box-sizing pass-reg"
<button type="submit" class="btn registr_button"> id="id_password2"
Изменить пароль placeholder="Подтверждение">
</button> <p>{{ form.password2.errors.as_text }}</p>
</div> </div>
</form>
{% endif %} <div class="col-lg-12 select-reg">
<button type="submit" class="reg-sub">
Изменить пароль
</button>
</div>
</form>
</div>
{% endif %}
{% include 'partials/footer.html' %}
</div>
</div> </div>
</div>
<!-- block_registr end -->
{% endblock %} {% endblock %}

@ -3,26 +3,21 @@
{% block title %}{% trans "Password recovery sent" %}{% endblock %} {% block title %}{% trans "Password recovery sent" %}{% endblock %}
{#{% block content %}#}
{# <p></p>#}
{#{% endblock %}#}
{% block content %} {% block content %}
{% include 'partials/header.html' %}
<div class="container mainScore">
<div class="row">
<div class="col-lg-12">
<p class="titleScore">Письмо отправлено</p>
</div>
<div class="block_registr" style="height: 300px;">
{% 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 class="container container_1200"> {% include 'partials/footer.html' %}
<hr> </div>
</div> </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 %} {% endblock %}

@ -17,6 +17,14 @@
<div class="col-lg-12 select-reg"> <div class="col-lg-12 select-reg">
<input type="password" name="{{ form.password.name }}" class="box-sizing pass-reg" placeholder="Пароль"> <input type="password" name="{{ form.password.name }}" class="box-sizing pass-reg" placeholder="Пароль">
</div> </div>
<div class="col-lg-12 select-reg">
<div class="check-reg">
<label><input type="checkbox" name="check-reg"><span></span></label>
<p>Запомнить</p>
<p><a href="{% url 'password_reset_recover' %}">Забыли пароль ?</a></p>
</div>
</div>
<div class="col-lg-12 select-reg"> <div class="col-lg-12 select-reg">
<button class="reg-sub">Вход</button> <button class="reg-sub">Вход</button>
</div> </div>

@ -1,7 +1,15 @@
{% extends 'partials/base.html' %} {% extends 'partials/base.html' %}
{% block content %} {% block content %}
<div class="col-lg-12"> {% include 'partials/header.html' %}
<p class="titleScore">Выход</p> <div class="container mainScore">
</div> <div class="row">
<div class="col-lg-12">
<p class="titleScore">Вы вышли</p>
</div>
{% include 'partials/footer.html' %}
</div>
</div>
{% endblock %} {% endblock %}

@ -23,7 +23,7 @@ from .views import (
app_name = 'users' app_name = 'users'
urlpatterns = [ urlpatterns = [
urls.url(r'^password/', include('password_reset.urls')),
urls.url(r'^(?P<pk>\d+)/edit/$', UserProfileEditView.as_view(), name='user-profile-edit'), urls.url(r'^(?P<pk>\d+)/edit/$', UserProfileEditView.as_view(), name='user-profile-edit'),
urls.url(r'^(?P<pk>\d+)/financial-info/edit/$', UserFinancialInfoEditView.as_view(), name='user-financial-info-edit'), urls.url(r'^(?P<pk>\d+)/financial-info/edit/$', UserFinancialInfoEditView.as_view(), name='user-financial-info-edit'),

@ -44,3 +44,9 @@ class WorkSellForm(forms.ModelForm):
self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants() self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants()
# self.fields['location'].queryset = Location.objects # Migrate with this enabled # self.fields['location'].queryset = Location.objects # Migrate with this enabled
# class WorkSellFilterForm(forms.ModelForm):
#
# class Meta:
# model = WorkSell

@ -13,56 +13,68 @@
</div> </div>
<form action="{{ request.path }}" method="GET" novalidate> <form action="{% url 'projects:project-filter' %}" method="GET" novalidate>
<div class="col-lg-12"> <div class="col-lg-12">
<div class="filter clearfix"> <div class="filter clearfix">
<div class="triangle1"></div> <div class="triangle1"></div>
<div class="titleF1 disTab"> <div class="titleF1 disTab">
<div class="col-lg-3">Специализации:</div> <div class="col-lg-3">Тип работы</div>
<div class="col-lg-3"></div>
<div class="col-lg-3"></div>
<div class="col-lg-3"></div>
</div> </div>
<div class="polsF1 disTab"> <div class="polsF1 disTab">
<div class="col-lg-3"> <div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%"> {{ form.work_type }}
</div> </div>
</div>
<div class="titleF1 disTab">
<div class="col-lg-3">Специализации</div>
<div class="col-lg-9"></div>
</div>
<div class="polsF1 disTab">
<div class="col-lg-3"> <div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-2" style="width: 100%"> <input type="hidden" class="-spec-select -spec-select-level-1" style="width: 100%">
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%"> <input type="hidden" class="-spec-select -spec-select-level-2" style="width: 100%">
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%"> <input type="hidden" class="-spec-select -spec-select-level-3" style="width: 100%">
</div> </div>
<div class="col-lg-3">
</div> <input type="hidden" class="-spec-select -spec-select-level-4" style="width: 100%">
<div class="titleF1 titleF2 disTab"> </div>
<div class="col-lg-4">Тип работ:</div>
<div class="col-lg-8"></div> <input type="hidden" id="chosenSpecId" name="{{ form.specialization.html_name }}" value="{{ form.specialization.value }}">
</div> </div>
<div class="searchF1 polsF1 polsFF">
<div class="col-lg-4">
<input type="text" placeholder="От" name="from_budget" class="box-sizing otInp"> <div class="searchF1">
<input type="text" placeholder="До" name="to_budget" class="box-sizing otInp"> <div class="col-lg-6">
<select class="selectpicker2 valul"> <input
<option>&#36;</option> type="text"
<option>&#36;</option> name="keywords"
<option>&#36;</option> onkeydown="event.keyCode === 13 && $(this).closest('form').submit()"
</select> value="{{ form.keywords.value }}"
class="searchInp box-sizing"
placeholder="Ключевые слова">
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<a href="#" class="findReal" onclick="$(this).closest('form').submit(); return false">
найти проект
</a>
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<button type="submit" class="findReal">Поиск</button> <a href="{% url 'projects:project-filter' %}" class="clearSearch">
</div>
<div class="col-lg-2">
<a href="javascript:void(0)" class="clearSearch">
Очистить фильтр Очистить фильтр
</a> </a>
</div> </div>
</div> </div>
<div class="resSearchF1"> <div class="resSearchF1">
<div class="col-lg-3"> <div class="col-lg-3">
<p class="titleResF1">Расширенный поиск</p> <p class="titleResF1">Расширенный поиск</p>
@ -74,43 +86,70 @@
<div class="borderS1"></div> <div class="borderS1"></div>
</div> </div>
</div> </div>
<div class="slideRes disTab activeSlide"> <div class="slideRes disTab activeSlide">
<div class="titleF1 disTab"> <div class="titleF1 disTab">
<div class="col-lg-3">Классификация</div> <div class="col-lg-3">Классификация здания</div>
<div class="col-lg-3">Вид строительства:</div> <div class="col-lg-3">Вид строительства</div>
<div class="col-lg-3">Местоположение:</div>
<div class="col-lg-3"></div> <div class="col-lg-3"></div>
</div> </div>
<div class="polsF1 polsF2 disTab">
<div class="polsF1 disTab">
<div class="col-lg-3"> <div class="col-lg-3">
<select class="selectpicker" name="building_classification"> {{ realty_form.building_classification }}
{% for bc in building_classifications %}
<option>{{ bc }}</option>
{% endfor %}
</select>
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<select class="selectpicker"> {{ realty_form.construction_type }}
{% for ct in construction_types %}
<option>{{ ct }}</option>
{% endfor %}
</select>
</div> </div>
</div>
</div>
<div class="slideRes disTab activeSlide">
<div class="titleF1 disTab">
<div class="col-lg-3">Местоположение</div>
</div>
<div class="polsF1 disTab">
<div class="col-lg-3">
<input type="hidden" class="-location-select -location-select-country" style="width: 100%">
</div>
<div class="col-lg-3"> <div class="col-lg-3">
<select class="selectpicker"> <input type="hidden" class="-location-select -location-select-region" style="width: 100%">
<option>Mustard</option>
</select>
</div> </div>
<div class="col-lg-3"> <div class="col-lg-3">
<select class="selectpicker"> <input type="hidden" class="-location-select -location-select-city" style="width: 100%">
<option>Mustard</option> </div>
</select>
<input type="hidden" id="chosenLocationId" name="{{ realty_form.location.html_name }}" value="{{ realty_form.location.value }}">
</div>
<div class="sro">
<div class="col-lg-12">
<label>{{ form.cro }}<span></span></label>
<p>Требуется допуск (СРО)</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</form>
</form>
<div class="galleryWork disTab"> <div class="galleryWork disTab">

@ -63,6 +63,15 @@ class WorkSellsView(ListView):
return context return context
class WorkSellFilterView(View):
template_name = 'worksells_list.html'
def get(self, request, *args, **kwargs):
context = {}
return render(request, self.template_name, context)
class WorkSellDetail(DetailView): class WorkSellDetail(DetailView):
model = WorkSell model = WorkSell
template_name = 'worksell_detail.html' template_name = 'worksell_detail.html'

Loading…
Cancel
Save