parent
a0fe73f49a
commit
4f282f0250
15 changed files with 617 additions and 776 deletions
@ -0,0 +1,22 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.7 on 2016-07-26 16:58 |
||||
from __future__ import unicode_literals |
||||
|
||||
import datetime |
||||
from django.db import migrations, models |
||||
from django.utils.timezone import utc |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('projects', '0004_auto_20160726_1931'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='stage', |
||||
name='created', |
||||
field=models.DateTimeField(default=datetime.datetime(2016, 7, 26, 16, 58, 47, 631021, tzinfo=utc)), |
||||
), |
||||
] |
||||
@ -1,224 +0,0 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% load staticfiles %} |
||||
{% load common_tags %} |
||||
|
||||
|
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<form method="post" enctype="multipart/form-data">{% csrf_token %} |
||||
<div class="projectsBlock disTab"> |
||||
<div class="col-lg-12"> |
||||
{% load mptt_tags %} |
||||
{{ form.errors }} |
||||
<div class="col-lg-3 divCol3"> |
||||
<div class="avatar"> |
||||
<div class="avatarInset"> |
||||
|
||||
<img src="/media/{{ form.avatar.value }}" alt="profile-image"> |
||||
</div> |
||||
</div> |
||||
<div class="menuUser upload-img disTab"> |
||||
<div class="upload2 up-l1"> |
||||
<input type="file" name="{{ form.avatar.name }}"> |
||||
<p>Загрузить фотографию</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-9 divCol9"> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">ФИО:</p> |
||||
<input type="text" value="{{ form.first_name.value }}" name="{{ form.first_name.name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.last_name.value }}" name="{{ form.last_name.name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.patronym.value }}" name="{{ form.patronym.name }}" class="box-sizing inp-edit"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">Специализация:</p> |
||||
<div class="polsF1 pols-edit disTab"> |
||||
|
||||
{% for spec in form.instance.contractor_specializations.all %} |
||||
<select class="selectpicker4"> |
||||
{% for sp in nodes %} |
||||
<option value="{{ sp.pk }}" {% if spec.pk == sp.pk %}selected{% endif %}>{{ "-"|multiply:sp.level }}{{ sp }}</option> |
||||
{% endfor %} } |
||||
</select> |
||||
{% endfor %} |
||||
|
||||
<a href="javascript:void(0)" class="add-edit" id="add-edit-spec"> |
||||
Добавить еще |
||||
|
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">Местоположение:</p> |
||||
<div class="polsF1 pols-edit disTab"> |
||||
|
||||
<select id="location-country"> |
||||
</select> |
||||
|
||||
<select id="location-region"> |
||||
</select> |
||||
|
||||
<select id="location-city" data-id="{{ orm.location.value }}" name="{{ form.location.name }}"> |
||||
</select> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="buttonGP btn-edit disTab"> |
||||
<div class="btn-group valProject valProject2" role="group" aria-label="..."> |
||||
<button type="button" class="btn btn-default">Общая информация</button> |
||||
<button type="button" class="btn btn-default">Финансовая информация</button> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 col12 new-filter"> |
||||
<div class="filter clearfix"> |
||||
<div class="titleF1 disTab"> |
||||
<div class="col-lg-7">Дата рождения:</div> |
||||
<div class="col-lg-5">Пол: </div> |
||||
</div> |
||||
<div class="polsF1 disTab"> |
||||
<div class="col-lg-7"> |
||||
{{ form.date_of_birth }} |
||||
</div> |
||||
<div class="col-lg-5 dog-new ed-new"> |
||||
|
||||
<label> |
||||
<input type="radio" value="male" name="{{ form.gender.name }}" {% if form.gender.value == 'male' %} checked {% endif %}><span></span></label> |
||||
<p>Мужской</p> |
||||
<label class="woman"> |
||||
<input type="radio" value="woman" name="{{ form.gender.name }}" {% if form.gender.value == 'woman' %} checked {% endif %}><span></span></label> |
||||
<p>Женский</p> |
||||
</div> |
||||
</div> |
||||
<div class="titleF1 titleF2 disTab"> |
||||
<div class="col-lg-3">Сайт:</div> |
||||
<div class="col-lg-3">Skype:</div> |
||||
|
||||
<div class="col-lg-3">Телефон:</div> |
||||
</div> |
||||
<div class="searchF1 polsF1 polsFF polsF3"> |
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.website.name }}" value="{{ form.website.value }}" class="box-sizing surr surr2" placeholder="beeg.com"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.skype.name }}" value="{{ form.skype.value }}" class="box-sizing surr surr2" placeholder="nokia770"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.phone.name }}" value="{{ form.phone.value }}" class="box-sizing surr surr2" placeholder="+7 999 999 44 02"> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12"> |
||||
<div class="col-lg-12 make-new make-eed"> |
||||
<label>{{ form.cro }}<span></span></label> |
||||
<p>Есть допуск СРО</p> |
||||
</div> |
||||
</div> |
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Сохранить" /> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
|
||||
{% block js_block %} |
||||
<script type="text/javascript"> |
||||
$(function(){ |
||||
|
||||
function getCookie(name) { |
||||
var cookieValue = null; |
||||
if (document.cookie && document.cookie != '') { |
||||
var cookies = document.cookie.split(';'); |
||||
for (var i = 0; i < cookies.length; i++) { |
||||
var cookie = jQuery.trim(cookies[i]); |
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) { |
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
return cookieValue; |
||||
} |
||||
|
||||
|
||||
$("#add-edit-spec").on('click',function(){ |
||||
$("<select class='selectpicker4'><option >Видное</option></select>").insertBefore("#add-edit-spec"); |
||||
$('.selectpicker4').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '237px' |
||||
}); |
||||
|
||||
}); |
||||
var csrftoken = getCookie('csrftoken'); |
||||
|
||||
$('#id_date_of_birth_day').addClass('selectpicker2 valul'); |
||||
$('#id_date_of_birth_month').addClass('selectpicker left-edit'); |
||||
$('#id_date_of_birth_year').addClass('selectpicker5 valul left-edit'); |
||||
|
||||
$('.selectpicker2').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '90px' |
||||
}); |
||||
|
||||
|
||||
$('.selectpicker5').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '117px' |
||||
}); |
||||
$.ajax({ |
||||
url: '/api/locations', |
||||
type: 'GET', |
||||
data:{ csrfmiddlewaretoken : csrftoken}, |
||||
dataType:'json', |
||||
'success': function(json){ |
||||
console.log(json.results); |
||||
var outCity, outCountry,outRegion; |
||||
outCity = outCountry = outRegion = ''; |
||||
|
||||
$.each(json.results, function(i,v){ |
||||
|
||||
if (v.type == 'country'){ |
||||
outCountry += '<option value="' + v.id + '">' + v.name + '</option>'; |
||||
} |
||||
|
||||
if (v.type == 'region'){ |
||||
outRegion += '<option value="' + v.id + '">' + v.name + '</option>'; |
||||
} |
||||
|
||||
if (v.type == 'town') { |
||||
outCity += '<option value="' + v.id + '">' + v.name + '</option>'; |
||||
} |
||||
}); |
||||
|
||||
$('#location-country').html(outCountry); |
||||
$('#location-city').html(outCity); |
||||
$('#location-region').html(outRegion); |
||||
$('#location-country').addClass("selectpicker4"); |
||||
$('#location-city').addClass("selectpicker4"); |
||||
$('#location-region').addClass("selectpicker4"); |
||||
|
||||
$('.selectpicker4').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '237px' |
||||
}); |
||||
} |
||||
}); |
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
|
||||
@ -1,193 +0,0 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% load thumbnail %} |
||||
|
||||
|
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<form method="post" enctype="multipart/form-data"> |
||||
{% csrf_token %} |
||||
|
||||
<div class="projectsBlock disTab"> |
||||
<div class="col-lg-12"> |
||||
{{ form.errors }} |
||||
|
||||
<div class="col-lg-3 divCol3"> |
||||
<div class="avatar"> |
||||
<div class="avatarInset"> |
||||
<img src="/media/{{ form.avatar.value }}" alt="profile-image"> |
||||
</div> |
||||
</div> |
||||
<div class="menuUser upload-img disTab"> |
||||
<div class="upload2 up-l1"> |
||||
<input type="file" name="{{ form.avatar.name }}"> |
||||
<p>Загрузить фотографию</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-9 divCol9"> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">ФИО:</p> |
||||
<input type="text" value="{{ form.first_name.value }}" name="{{ form.first_name.name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.last_name.value }}" name="{{ form.last_name.name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.patronym.value }}" name="{{ form.patronym.name }}" class="box-sizing inp-edit"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">Местоположение: {{ form.location.value }}</p> |
||||
<div class="polsF1 pols-edit disTab"> |
||||
<select id="location-country"> |
||||
</select> |
||||
|
||||
<select id="location-region"> |
||||
</select> |
||||
|
||||
<select id="location-city" name="{{ form.location.name }}"> |
||||
</select> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="buttonGP btn-edit disTab"> |
||||
<div class="btn-group valProject valProject2" role="group" aria-label="..."> |
||||
<button type="button" class="btn btn-default">Общая информация</button> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="col-lg-12 col12 new-filter"> |
||||
<div class="filter clearfix"> |
||||
<div class="titleF1 disTab"> |
||||
<div class="col-lg-7">Дата рождения:</div> |
||||
<div class="col-lg-5">Пол:</div> |
||||
</div> |
||||
|
||||
<div class="polsF1 disTab"> |
||||
<div class="col-lg-7"> |
||||
{{ form.date_of_birth }} |
||||
</div> |
||||
<div class="col-lg-5 dog-new ed-new"> |
||||
<label><input type="radio" name="{{ form.gender }}"><span></span></label> |
||||
<p>Мужской</p> |
||||
<label class="woman"><input type="radio" name="{{ form.gender }}"><span></span></label> |
||||
<p>Женский</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="titleF1 titleF2 disTab"> |
||||
<div class="col-lg-3">Сайт:</div> |
||||
<div class="col-lg-3">Skype:</div> |
||||
{# <div class="col-lg-3">Электронная почта:</div>#} |
||||
<div class="col-lg-3">Телефон:</div> |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF polsF3"> |
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.website.name }}"class="box-sizing surr surr2" placeholder="beeg.com"> |
||||
</div> |
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.skype.name }}" class="box-sizing surr surr2" placeholder="nokia770"> |
||||
</div> |
||||
{# <div class="col-lg-3">#} |
||||
{# <input type="text" name="{{ form.phone.name }}" class="box-sizing surr surr2" placeholder="example@gmail.com">#} |
||||
{# </div>#} |
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.phone.name }}" class="box-sizing surr surr2" placeholder="+7 999 999 44 02"> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="col-lg-12"> |
||||
<div class="col-lg-12 make-new make-eed"> |
||||
<label>{{ form.cro }}<span></span></label> |
||||
<p>Есть допуск СРО</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Сохранить" /> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
|
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
|
||||
|
||||
{% block js_block %} |
||||
<script> |
||||
$(function(){ |
||||
|
||||
function getCookie(name) { |
||||
var cookieValue = null; |
||||
if (document.cookie && document.cookie != '') { |
||||
var cookies = document.cookie.split(';'); |
||||
for (var i = 0; i < cookies.length; i++) { |
||||
var cookie = jQuery.trim(cookies[i]); |
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) { |
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); |
||||
break; |
||||
} |
||||
} |
||||
} |
||||
return cookieValue; |
||||
} |
||||
|
||||
|
||||
$("#add-edit-spec").on('click',function(){ |
||||
$("<select class='selectpicker4'><option >Видное</option></select>").insertBefore("#add-edit-spec"); |
||||
$('.selectpicker4').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '237px' |
||||
}); |
||||
|
||||
}); |
||||
var csrftoken = getCookie('csrftoken'); |
||||
|
||||
$.ajax({ |
||||
url: '/api/location', |
||||
type: 'GET', |
||||
data:{ csrfmiddlewaretoken : csrftoken}, |
||||
dataType:'json', |
||||
'success': function(json){ |
||||
console.log(json.results); |
||||
var out = '' |
||||
var outCountry = ''; |
||||
|
||||
$.each(json.results, function(i,v){ |
||||
if (v.type == 'country'){ |
||||
outCountry += '<option value="' + v.id + '">' + v.name + '</option>'; |
||||
} |
||||
if (v.type == 'town') { |
||||
out += '<option value="' + v.id + '">' + v.name + '</option>'; |
||||
} |
||||
}); |
||||
|
||||
$('#location-country').html(outCountry); |
||||
$('#location-city').html(out); |
||||
$('#location-country').addClass("selectpicker4"); |
||||
$('#location-city').addClass("selectpicker4"); |
||||
$('.selectpicker4').selectpicker({ |
||||
style: 'btn-info', |
||||
size: 4, |
||||
width: '237px' |
||||
}); |
||||
|
||||
} |
||||
|
||||
}); |
||||
|
||||
|
||||
|
||||
|
||||
}); |
||||
</script> |
||||
{% endblock %} |
||||
|
||||
|
||||
@ -0,0 +1,169 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% load thumbnail %} |
||||
|
||||
|
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<form action="{% url 'users:user-profile-edit' pk=pk %}" method="POST" enctype="multipart/form-data" novalidate> |
||||
{% csrf_token %} |
||||
|
||||
{% if request.user.is_customer %} |
||||
<input type="hidden" name="next" value="{% url 'users:customer-profile-open-projects' pk=pk %}"> |
||||
{% elif request.user.is_contractor %} |
||||
<input type="hidden" name="next" value="{% url 'users:contractor-profile' pk=pk %}"> |
||||
{% endif %} |
||||
|
||||
<div class="projectsBlock disTab"> |
||||
<div class="col-lg-12"> |
||||
<div class="col-lg-3 divCol3"> |
||||
<div class="avatar"> |
||||
<div class="avatarInset"> |
||||
<img src="{{ form.avatar.value.url }}" alt="profile-image"> |
||||
</div> |
||||
</div> |
||||
<div class="menuUser upload-img disTab"> |
||||
<div class="upload2 up-l1"> |
||||
<input type="file" name="{{ form.avatar.html_name }}"> |
||||
<p>Загрузить фотографию</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-9 divCol9"> |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">ФИО</p> |
||||
|
||||
<input type="text" value="{{ form.last_name.value }}" name="{{ form.last_name.html_name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.first_name.value }}" name="{{ form.first_name.html_name }}" class="box-sizing inp-edit"> |
||||
<input type="text" value="{{ form.patronym.value }}" name="{{ form.patronym.html_name }}" class="box-sizing inp-edit"> |
||||
</div> |
||||
|
||||
{% if request.user.is_contractor %} |
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">Специализации</p> |
||||
|
||||
<div id="simpleSpecContainer"> |
||||
<div class="polsF1 pols-edit disTab -simple-spec-widget" s--tyle="display: none"> |
||||
<input type="text" class="-simple-spec-select" style="width: 100%"> |
||||
<input type="text" class="-chosen-simple-spec-id" name="{{ form.contractor_specializations.html_name }}"> |
||||
</div> |
||||
</div> |
||||
|
||||
<a href="#" onclick="return false" class="add-edit" id="addSpec"> |
||||
Добавить еще |
||||
</a> |
||||
</div> |
||||
{% endif %} |
||||
|
||||
<div class="col-lg-4"> |
||||
<p class="name-edit-p">Местоположение</p> |
||||
|
||||
<div class="polsF1 pols-edit disTab"> |
||||
<div><input type="hidden" class="-location-select -location-select-country" style="width: 100%"></div> |
||||
<div><input type="hidden" class="-location-select -location-select-region" style="width: 100%"></div> |
||||
<div><input type="hidden" class="-location-select -location-select-city" style="width: 100%"></div> |
||||
|
||||
<input type="hidden" id="chosenLocationId" name="{{ form.location.html_name }}" value="{{ form.location.value }}"> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="buttonGP btn-edit disTab"> |
||||
<div class="btn-group valProject valProject2" role="group"> |
||||
<a href="{% url 'users:user-profile-edit' pk=pk %}" class="btn btn-default active">Общая информация</a> |
||||
<a href="{% url 'users:user-financial-info-edit' pk=pk %}" class="btn btn-default">Финансовая информация</a> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="col-lg-12 col12 new-filter"> |
||||
<div class="filter clearfix"> |
||||
<div class="titleF1 disTab"> |
||||
<div class="col-lg-7">Дата рождения</div> |
||||
<div class="col-lg-5">Пол</div> |
||||
</div> |
||||
|
||||
<div class="polsF1 disTab"> |
||||
<div class="col-lg-7"> |
||||
{{ form.date_of_birth }} |
||||
</div> |
||||
|
||||
<div class="col-lg-5 dog-new ed-new"> |
||||
{% for id, text in form.gender.field.choices %} |
||||
<label> |
||||
<input |
||||
type="radio" |
||||
name="{{ form.gender.html_name }}" |
||||
value="{{ id }}" |
||||
{% if form.gender.value == id %}checked{% endif %}> |
||||
|
||||
<span></span> |
||||
</label> |
||||
|
||||
<p>{{ text }}</p> |
||||
{% endfor %} |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="titleF1 titleF2 disTab"> |
||||
<div class="col-lg-3">Сайт</div> |
||||
<div class="col-lg-3">Skype</div> |
||||
{# <div class="col-lg-3">Электронная почта:</div>#} |
||||
<div class="col-lg-3">Телефон</div> |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF polsF3"> |
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.website.html_name }}" value="{{ form.website.value }}" class="box-sizing surr surr2" placeholder="beeg.com"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.skype.html_name }}" value="{{ form.skype.value }}" class="box-sizing surr surr2" placeholder="nokia770"> |
||||
</div> |
||||
|
||||
{# <div class="col-lg-3">#} |
||||
{# <input type="text" name="{{ form.email.html_name }}" value="{{ form.email.value }}" class="box-sizing surr surr2" placeholder="example@gmail.com">#} |
||||
{# </div>#} |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type="text" name="{{ form.phone.html_name }}" value="{{ form.phone.value }}" class="box-sizing surr surr2" placeholder="+7 999 999 44 02"> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="col-lg-12"> |
||||
<div class="col-lg-12 make-new make-eed"> |
||||
<label>{{ form.cro }}<span></span></label> |
||||
<p>Есть допуск СРО</p> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Сохранить" /> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</form> |
||||
|
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
|
||||
|
||||
{#{% block js_block %}#} |
||||
{# <script>#} |
||||
{# $("#add-edit-spec").on('click',function() {#} |
||||
{# $("<select class='selectpicker4'><option >Видное</option></select>").insertBefore("#add-edit-spec");#} |
||||
{# #} |
||||
{# $('.selectpicker4').selectpicker({#} |
||||
{# style: 'btn-info',#} |
||||
{# size: 4,#} |
||||
{# width: '237px'#} |
||||
{# });#} |
||||
{# });#} |
||||
{# </script>#} |
||||
{#{% endblock %}#} |
||||
Loading…
Reference in new issue