refactor email. fix activation and reset password email layout

remotes/origin/HEAD
Max Yakovenko 8 years ago
parent 24e5d37899
commit c15a4bc424
  1. 81
      templates/admin/orders/detail.html
  2. 100
      templates/cart/detail.html
  3. 2
      templates/email_base.html
  4. 17
      templates/emails/activation_email.html
  5. 21
      templates/emails/password_reset_email.html
  6. 1
      templates/landing/home.html
  7. 187
      templates/landing/landing.html
  8. 28
      templates/landing/product_item.html
  9. 46
      templates/orders/create.html
  10. 14
      templates/orders/created.html
  11. 121
      templates/orders/pdf.html
  12. 40
      templates/products/categorieslist.html
  13. 200
      templates/products/list.html
  14. 70
      templates/products/product.html
  15. 33
      templates/products/productslist.html
  16. 16
      templates/products/search.html
  17. 3
      templates/search/product_text.txt
  18. 103
      templates/search/search.html
  19. 24
      templates/userprofile/pick_up_points.html
  20. 42
      templates/userprofile/profile.html
  21. 14
      templates/userprofile/update_profile.html

@ -0,0 +1,81 @@
{% extends "admin/base_site.html" %}
{% load static %}
{% block title %}
Order {{ order.id }} {{ block.super }}
{% endblock %}
{% block breadcrumbs %}
<div class="breadcrumbs">
<a href="{% url 'admin:index' %}">Main</a>
<a href="{% url 'admin:orders_order_changelist' %}">Orders</a>
<a href="{% url 'admin:orders_order_change' order.id %}">Order {{ order.id }}</a>
Details
</div>
{% endblock %}
{% block content %}
<h1>Order {{ order.id }}</h1>
<ul class="object-tools">
<li>
<a href="#" onclick="window.print()">Print order</a>
</li>
</ul>
<table width="100%">
<tr>
<th>Create</th>
<td>{{ order.created }}</td>
</tr>
<tr>
<th>Customer</th>
<td>{{ order.customer_name }}</td>
</tr>
<tr>
<th>E-mail</th>
<td><a href="mailto:{{ order.customer_email }}">{{ order.customer_email }}</a></td>
</tr>
<tr>
<th>Address</th>
<td>{{ order.customer_address }}</td>
</tr>
<tr>
<th>Total cost</th>
<td>{{ order.total_price }} RUB.</td>
</tr>
<tr>
<th>Status</th>
<td>{% if order.paid %}Paid{% else %}NOT Paid{% endif %}</td>
</tr>
</table>
<div class="module">
<div class="tabular inline-related list-related">
<table>
<h2>Ordered soft</h2>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>Quantity</th>
<th>Total price</th>
</tr>
</thead>
<tbody>
{% for item in order.items.all %}
<tr class="row{% cycle '1' '2' %}">
<td>{{ item.product.name }}</td>
<td>{{ item.price_per_itom }} RUB.</td>
<td>{{ item.number }}</td>
<td>{{ item.total_price }} RUB.</td>
</tr>
{% endfor %}
<tr class="total">
<td colspan="3">All Total Cost</td>
<td class="num">{{ order.total_price }} RUB.</td>
</tr>
</tbody>
</table>
</div>
</div>
{% endblock %}

@ -0,0 +1,100 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}
Your Cart
{% endblock %}
{% block content %}
<h1>Ваша корзина</h1>
<table class="table-cart" border="1px">
<thead>
<tr>
<th>Image</th>
<th>Product</th>
<th>Quantity</th>
<th>Delete</th>
<th>Price per item</th>
<th>Full price</th>
</tr>
</thead>
<tbody>
{% for item in cart %}
{% with offer=item.offer %}
<tr>
<td class="cart-img">
<a href="{{ offer.get_absolute_url }}">
<img src="{% if offer.product.image %}{{ offer.product.image.url }}{% else %}{% static 'img/no-image.jpg'%}{% endif %}">
</a>
</td>
<td>{{ offer.name }}</td>
<td>
<form action="{% url 'cart:CartAdd' %}" method="post" class="add">
{% csrf_token %}
{{ item.update_quantity_form.quantity }}
{{ item.update_quantity_form.product_slug }}
{{ item.update_quantity_form.price_per_itom }}
{{ item.update_quantity_form.update }}
<input type="submit" value="Изменить">
</form>
</td>
<td><a href="{% url 'cart:CartRemove' offer.slug %}">Удалить</a></td>
<td class="num">{{ item.price }} rub.</td>
<td class="num">{{ item.total_price }} rub.</td>
</tr>
{% endwith %}
{% endfor %}
{% if cart.discount %}
<tr class="subtotal">
<td>Total price without discount</td>
<td colspan="4"></td>
<td>{{ cart.get_total_price }}</td>
</tr>
<tr>
<td>
"{{ cart.discount.code }}" discount for ({{ cart.discount.discount }} %)
</td>
<td colspan="4"></td>
<td class="num discount">- {{ cart.get_discount|floatformat:"2" }} руб.</td>
</tr>
{% endif %}
<tr class="total">
<td colspan="5">Всего</td>
<td class="num">{{ cart.get_total_price|floatformat:"2" }} руб.
{% if request.session.points %}
<tr>
<td colspan="5"></td>
<td>- {{ cart.get_max }} бал.</td>
</tr>
<tr>
<td colspan="5"></td>
<td>{{ cart.get_total_deduct_points }} руб.</td>
</tr>
{% endif %}
</td>
</tr>
</tbody>
</table>
<!--<p>Apply Discount</p>-->
<!--<form action="{% url 'discount:apply' %}" method="post" class="add">-->
<!--{% csrf_token %}-->
<!--{{ discount_apply_form }}-->
<!--<input type="submit" value="Apply">-->
<!--</form>-->
<p>Доступные баллы: {{ user.profile.user_points }}</p>
<form action="{% url 'discount:points' %}" method="post">{% csrf_token %}
<input type="submit" name="points" value="Использовать" />
</form>
<form action="{% url 'discount:revoke_points' %}" method="post">{% csrf_token %}
<input type="submit" name="points" value="Отменить" />
</form>
<p class="text-right">
<a href="{% url 'products:ProductList'%}" class="btn btn-success">Добавить товар</a>
<a href="{% url 'orders:OrderCreate' %}" class="btn btn-success">Оформить заказ</a>
</p>
{% endblock %}

@ -355,7 +355,7 @@
<div class="content">
<!-- START CENTERED WHITE CONTAINER -->
<span class="preheader">This is preheader text. Some clients will show this text as a preview.</span>
<span class="preheader">{% block pre_header %}{% endblock pre_header %}</span>
<table class="main">
<!-- START MAIN CONTENT AREA -->

@ -1,4 +1,4 @@
{% extends 'emails/email_base.html' %}
{% extends 'email_base.html' %}
{% block title %}
Активация учетной записи
{% endblock title %}
@ -7,8 +7,8 @@
<tr>
<td>
<p>Здравствуйте!</p>
<p>Спасибо за регистрацию на сайте {{ request.get_host }}</p>
<p>Для того чтобы войти в свой аккуант его нужно активировать.\n
<p>Спасибо за регистрацию на сайте {{ site.name }}</p>
<p>Для того чтобы войти в свой аккуант его нужно активировать. <br/>
Чтобы активировать ваш аккаунт, перейдите по ссылке:</p>
<table border="0" cellpadding="0" cellspacing="0" class="btn btn-primary">
<tbody>
@ -17,7 +17,11 @@
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><a href="http://htmlemail.io" target="_blank">Активация</a></td>
<td>
<a href="http://{{site.domain}}{% url 'registration_activate' activation_key %}">
{{ activation_key }}
</a>
</td>
</tr>
</tbody>
</table>
@ -25,9 +29,8 @@
</tr>
</tbody>
</table>
<p>This is a really simple email template. Its sole purpose is to get the
recipient to click the button with no distractions.</p>
<p>С уважением, Администрация сайта {{ request.get_host }}</p>
<p>Если вы не отправляли запрос на регистрацию, проигнорируйте данное письмо</p>
<p>С уважением, Администрация сайта {{ site.name }}</p>
</td>
</tr>
</table>

@ -1,4 +1,4 @@
{% extends 'emails/email_base.html' %}
{% extends 'email_base.html' %}
{% block title %}
Сброс пароля
{% endblock title %}
@ -6,9 +6,9 @@
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<p>Hi there,</p>
<p>Sometimes you just want to send a simple HTML email with a simple design
and clear call to action. This is it.</p>
<p>Уважаемый пользователь {{ email }}.</p>
<p>Вы отправили запрос на восстановления пароля на сайте {{ site_name }}.
Чтобы получить новый пароль пройдите по ссылке ниже:</p>
<table border="0" cellpadding="0" cellspacing="0" class="btn btn-primary">
<tbody>
<tr>
@ -16,8 +16,12 @@
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><a href="http://htmlemail.io" target="_blank">Call
To Action</a></td>
<td>
<a rel="noreferrer"
href="{{ domain }}://{{ site_name }}/{% url 'accounts_ext:reset_password_change' uidb64=uid token=token%}" target="_blank">
Сбросить пароль
</a>
</td>
</tr>
</tbody>
</table>
@ -25,9 +29,8 @@
</tr>
</tbody>
</table>
<p>This is a really simple email template. Its sole purpose is to get the
recipient to click the button with no distractions.</p>
<p>Good luck! Hope it works.</p>
<p>Если вы не отправляли запрос на регистрацию, проигнорируйте данное письмо</p>
<p>С уважением, Администрация сайта {{ site.name }}</p>
</td>
</tr>
</table>

@ -0,0 +1,187 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}
News
{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<div class="content">
<div class="content__title">Новости</div>
<div class="news">
<div class="news__item">
<div class="row">
<div class="col-md-4 col-12">
<div class="news__image"><img src="./img/test-b.png" alt=""></div>
</div>
<div class="col-lg-6 col-md-8 col-12">
<div class="news__content">
<div class="news__title"><a href="#">Новость 1</a></div>
<div class="news__text">
<p>It is a long established fact that a reader will be distracted by the
readable
content of a page when looking at its layout. The point of using Lorem
Ipsum is
that
it has a more-or-less normal distribution of letters, as opposed to
using
'Content
here, content here', making it look like readable English. Many desktop
publishing
packages and web page editors now use Lorem Ipsum as their default model
text,
and a
search for 'lorem ipsum' will uncover many web sites still in their
infancy.
Various
versions have evolved over the years, sometimes by accident, sometimes
on
purpose
(injected humour and the like).</p>
</div>
</div>
</div>
</div>
</div>
<div class="news__item">
<div class="row">
<div class="col-md-4 col-12">
<div class="news__image"><img src="./img/test-b.png" alt=""></div>
</div>
<div class="col-lg-6 col-md-8 col-12">
<div class="news__content">
<div class="news__title"><a href="#">Новость 1</a></div>
<div class="news__text">
<p>It is a long established fact that a reader will be distracted by the
readable
content of a page when looking at its layout. The point of using Lorem
Ipsum is
that
it has a more-or-less normal distribution of letters, as opposed to
using
'Content
here, content here', making it look like readable English. Many desktop
publishing
packages and web page editors now use Lorem Ipsum as their default model
text,
and a
search for 'lorem ipsum' will uncover many web sites still in their
infancy.
Various
versions have evolved over the years, sometimes by accident, sometimes
on
purpose
(injected humour and the like).</p>
</div>
</div>
</div>
</div>
</div>
<div class="news__item">
<div class="row">
<div class="col-md-4 col-12">
<div class="news__image"><img src="./img/test-b.png" alt=""></div>
</div>
<div class="col-lg-6 col-md-8 col-12">
<div class="news__content">
<div class="news__title"><a href="#">Новость 1</a></div>
<div class="news__text">
<p>It is a long established fact that a reader will be distracted by the
readable
content of a page when looking at its layout. The point of using Lorem
Ipsum is
that
it has a more-or-less normal distribution of letters, as opposed to
using
'Content
here, content here', making it look like readable English. Many desktop
publishing
packages and web page editors now use Lorem Ipsum as their default model
text,
and a
search for 'lorem ipsum' will uncover many web sites still in their
infancy.
Various
versions have evolved over the years, sometimes by accident, sometimes
on
purpose
(injected humour and the like).</p>
</div>
</div>
</div>
</div>
</div>
<div class="news__item">
<div class="row">
<div class="col-md-4 col-12">
<div class="news__image"><img src="./img/test-b.png" alt=""></div>
</div>
<div class="col-lg-6 col-md-8 col-12">
<div class="news__content">
<div class="news__title"><a href="#">Новость 1</a></div>
<div class="news__text">
<p>It is a long established fact that a reader will be distracted by the
readable
content of a page when looking at its layout. The point of using Lorem
Ipsum is
that
it has a more-or-less normal distribution of letters, as opposed to
using
'Content
here, content here', making it look like readable English. Many desktop
publishing
packages and web page editors now use Lorem Ipsum as their default model
text,
and a
search for 'lorem ipsum' will uncover many web sites still in their
infancy.
Various
versions have evolved over the years, sometimes by accident, sometimes
on
purpose
(injected humour and the like).</p>
</div>
</div>
</div>
</div>
</div>
<div class="news__item">
<div class="row">
<div class="col-md-4 col-12">
<div class="news__image"><img src="./img/test-b.png" alt=""></div>
</div>
<div class="col-lg-6 col-md-8 col-12">
<div class="news__content">
<div class="news__title"><a href="#">Новость 1</a></div>
<div class="news__text">
<p>It is a long established fact that a reader will be distracted by the
readable
content of a page when looking at its layout. The point of using Lorem
Ipsum is
that
it has a more-or-less normal distribution of letters, as opposed to
using
'Content
here, content here', making it look like readable English. Many desktop
publishing
packages and web page editors now use Lorem Ipsum as their default model
text,
and a
search for 'lorem ipsum' will uncover many web sites still in their
infancy.
Various
versions have evolved over the years, sometimes by accident, sometimes
on
purpose
(injected humour and the like).</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

@ -0,0 +1,28 @@
<div class="col-lg-3">
<div class="product-item">
<div>
<a href="{% url 'products' product_image.product.id %}">
<img src="{{ product_image.image.url }}" class="img-responsive">
</a>
</div>
{% if product_image.product.discount %}
<div class="discount-container">
<span>{{ product_image.product.discount }}%</span>
</div>
{% endif %}
<h4>{{ product_image.product.name }}</h4>
<p>
{{ product_image.product.description|truncatechars_html:30 }}
</p>
<div>
{{ product_image.product.price }} RUB
</div>
<div class="add-to-card-btn">
<button class="btn btn-success">
Add to basket
</button>
</div>
</div>
</div>

@ -0,0 +1,46 @@
{% extends "base.html" %}
{% block title %}
Ordering
{% endblock %}
{% block content %}
<div class="col-sm-4">
<h2>Пожалуйста введите информацию о заказе.</h2>
<form class="order-form" action="." method="post">
{% csrf_token %}
{{ form.as_p }}
<!--<label for="customer_name"></label>-->
<!--<input id="customer_name" type="text" name="customer_name" maxlength="64">-->
<!--<label for="customer_phone"></label>-->
<!--<input id="customer_phone" type="text" name="customer_phone" maxlength="64">-->
<!--<label for="customer_email"></label>-->
<!--<input id="customer_email" type="text" name="customer_email" maxlength="64">-->
<!--<label for="city"></label>-->
<!--<input id="city" type="text" name="city" maxlength="100">-->
<input type="submit" value="Submit">
</form>
</div>
<div class="order-info col-sm-8">
<h2>Ваш заказ</h2>
<ul>
{% for item in cart %}
<li>
{{ item.offer.name }} | Количество: {{ item.quantity }} | Стоимость: {{ item.total_price }} руб.
</li>
{% endfor %}
{% if cart.discount %}
<li>
"{{ cart.discount.code }}" ({{ cart.discount.discount }}% less)
<span> - {{ cart.get_discount|floatformat:"2"}} руб.</span>
</li>
{% endif %}
</ul>
{% if request.session.points %}
<p><strong>Всего:</strong> {{ cart.get_total_deduct_points|floatformat:"2"}} руб.</p>
{% else %}
<p><strong>Всего:</strong> {{ cart.get_total_price|floatformat:"2"}} руб.</p>
{% endif %}
</div>
{% endblock %}

@ -0,0 +1,14 @@
{% extends "base.html" %}
{% block title %}
Спасибо за заказ
{% endblock %}
{% block content %}
<h1>Благодарим Вас за заказ!</h1>
<h1>На указанную Вами почту было отправлено платежное поручение, заказ будет принят в работу после оплаты.</h1>
<p>Номер Вашего заказа: {{ order.id }}</p>
<p class="text-right">
<a href="{% url 'products:ProductList'%}" class="btn btn-success">На главную страницу</a>
</p>
{% endblock %}

@ -0,0 +1,121 @@
{% load static %}
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
text-align: left;
}
td#h01, td#h03 {
border: 0px;
font-weight:bold;
}
td#h02, td#h04 {
border-top: 0px;
font-size: x-small;
}
td#t01, td#t02, td#t03 {
text-align: right;
font-weight:bold;
}
</style>
</head>
<body>
<!--<h3>-->
<!--ВНИМАНИЕ! В ПЛАТЕЖНОМ ПОРУЧЕНИИ УКАЗЫВАТЬ ПОЛНОЕ НАИМЕНОВАНИЕ-->
<!--ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ "РУССКИЕ ПРОГРАММЫ".-->
<!--</h3>-->
<div><img src="file:///home/denis/Eshop/Eshop/static/img/payment_header.jpg"></div>
<table class="table">
<tr>
<td id="h01">{{ bank }}</td>
<td>БИК</td>
<td>{{ BIK }}</td>
</tr>
<tr>
<td id="h02">Банк получателя</td>
<td>Сч. №</td>
<td>{{ bank_acc }}</td>
</tr>
<tr>
<td rowspan="2" id="h03">{{ name }}</td>
<td>ИНН</td>
<td>{{ INN }}</td>
</tr>
<tr>
<td>КПП</td>
<td>{{ KPP }}</td>
</tr>
<tr>
<td id="h04">Получатель</td>
<td>Сч. №</td>
<td>{{ acc }}</td>
</tr>
</table>
<h3>
<b><u>Счет на оплату № {{ order.id }} от {{ order.created }}</u></b>
</h3>
<table class="table">
<tr>
<th>Поставщик:</th>
<td>{{ sup_info }}</td>
</tr>
<tr>
<th>Покупатель:</th>
<td>{{ order.customer_name }}</td>
</tr>
</table>
<table class="table">
<thead>
<tr>
<th></th>
<th>Товары(работы/услуги)</th>
<th>Кол-во</th>
<th>Ед.</th>
<th>Цена</th>
<th>Сумма</th>
</tr>
</thead>
<tbody>
{% for item in order.items.all %}
<tr class="row{% cycle '1' '2' %}">
<td>{{ forloop.counter }}</td>
<td>{{ item.product.name }}</td>
<td>{{ item.number }}</td>
<td>шт</td>
<td>{{ item.price_per_itom }}</td>
<td>{{ item.total_price }}</td>
</tr>
{% endfor %}
<tr>
<td colspan="5" id="t01">Итого:</td>
<td class="num">{{ order.total_price }}</td>
</tr>
<tr>
<td colspan="5" id="t02">Без налога (НДС)</td>
<td class="num">-</td>
</tr>
<tr>
<td colspan="5" id="t03">Всего к оплате:</td>
<td class="num">{{ order.total_price }}</td>
</tr>
</tbody>
</table>
<p>Всего наименований {{ order.items.count }} на сумму {{ order.total_price }} руб.</p>
<p>{{ verb_price }} {{ verb_cur }} 00 копеек</p>
<img src="file:///home/denis/Eshop/Eshop/static/img/Payment_foot.jpg">
</body>
</html>

@ -0,0 +1,40 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}
Categories Page
{% endblock %}
{% block content %}
<div id="main" class="product_list col-sm-9">
<form class="search-form-container" action="/find/" method="get" >
<div class="form-group">
<div class="icon-addon addon-lg">
<input type="text" placeholder="what are you looking for ?" class="form-control" name="q" id="q" autocomplete="on">
<div id="selction-ajax"></div>
</div>
</div>
</form>
<div class="items row">
{% for category in categories %}
<div class="item col-sm-4">
<a href="{{ category.get_absolute_url }}">
<img src="{% if category.image %}{{ category.image.url }}{% else %}{% static 'img/no-image.jpg' %} {% endif %}" class="img-responsive">
</a>
<a href="{{ category.get_absolute_url }}">{{ category.name }}</a><br>
</div>
{% endfor %}
{% for product in products %}
<div class="item col-sm-4">
<a href="{{ product.get_absolute_url }}">
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% static 'img/no-image.jpg' %} {% endif %}" class="img-responsive">
</a>
<a href="{{ product.get_absolute_url }}">{{ product.name }}</a><br>
<h4 class="product-price">
<span class="label label-info">{{ product.price }} rub.</span>
</h4>
</div>
{% endfor %}
</div>
</div>
{% endblock %}

@ -0,0 +1,200 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}
Producers Page
{% endblock %}
{% block content %}
<!--<div id="sidebar" class="col-sm-3">-->
<!--<h3>Categories</h3>-->
<!--<ul>-->
<!--<li {% if not category %} class="selected" {% endif %}>-->
<!--<a href="{% url 'products:ProductList' %}">All</a>-->
<!--</li>-->
<!--{% for cat in categories %}-->
<!--<li {% if category.slug == cat.slug %} class="selected" {% endif %}>-->
<!--<a href="{{ cat.get_absolute_url }}">{{ cat.name }}</a>-->
<!--{% for child in cat.get_children %}-->
<!--<a href="{{ child.get_absolute_url }}">{{ child.name }}</a>-->
<!--{% endfor %}-->
<!--</li>-->
<!--{% endfor %}-->
<!--</ul>-->
<!--</div>-->
<div class="banner">
<div class="container">
<div class="banner__content">
<img src="http://via.placeholder.com/1190x360" alt="Банер" class="img-responsive">
</div>
</div>
</div>
<div class="row">
<div class="col-4 left-menu">
<div class="">
<div class="left-menu__search">
<form action="">
<input type="text" placeholder="Поиск программы...">
<button class="left-menu__search-btn"><img src="{% static './img/search.svg' %}" alt="Поиск"></button>
</form>
</div>
<div class="left-menu__category">
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/windows.svg' %}" alt=""></span>
<span class="category-item__name">Microsoft</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/antivirus.svg' %}" alt=""></span>
<span class="category-item__name">Антивирусы</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/1c.svg' %}" alt=""></span>
<span class="category-item__name">1C</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/graphic.svg' %}" alt=""></span>
<span class="category-item__name">Графика и видео</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/planning.svg' %}" alt=""></span>
<span class="category-item__name">Проектирование</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/office.svg' %}" alt=""></span>
<span class="category-item__name">Офисный программы</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/save.svg' %}" alt=""></span>
<span class="category-item__name">Резервное копирование</span>
</a>
<a class="left-menu__category-item" href="#">
<span class="category-item__image"><img src="{% static './img/menu/virtualization.svg' %}" alt=""></span>
<span class="category-item__name">Виртуализация</span>
</a>
</div>
<div class="left-menu__contact">
<form action="">
<div class="left-menu__title">Не нашли нужную программу
или разработчика?
Заполните форму и с Вами
свяжется наш специалист.
</div>
<input class="left-menu__text" type="text" placeholder="Имя">
<input class="left-menu__text" type="text" placeholder="Название продукта">
<input class="left-menu__text" type="text" placeholder="E-mail">
<input class="left-menu__text" type="text" placeholder="Номер телефона">
<button class="left-menu__btn">Отправить</button>
</form>
</div>
</div>
</div>
<div class="col-lg-8 col-md-12">
<div class="content">
<div class="content__menu">
<div class="row">
<div class="col-5 d-flex justify-content-start align-items-center">
<button id="content__category-btn" class="content__menu-btn">Разделы сайта</button>
</div>
<div class="col-7 justify-content-center">
<div class="content__search">
<form action="">
<input type="text" placeholder="Поиск программы...">
<button class="content__search-btn"><img src="{% static './img/search.svg' %}" alt="Поиск">
</button>
</form>
</div>
</div>
</div>
</div>
<div class="content__category">
<ul class="content__category-list">
<li><a href="#">Microsoft</a></li>
<li><a href="#">Антивирусы</a></li>
<li><a href="#">1C</a></li>
<li><a href="#">Графика и видео</a></li>
<li><a href="#">Проектирование</a></li>
<li><a href="#">Офисные программы</a></li>
<li><a href="#">Резервное копирование</a></li>
<li><a href="#">Виртуализация</a></li>
</ul>
</div>
<div class="content__banner align-items-center">
<div class="banner__close">
<button><img src="{% static './img/close.svg' %}" alt=""></button>
</div>
<div class="banner__info">
<div class="banner__title">Узнать подробнее о бонусных баллах
и заработке на приглашенных друзьях.
</div>
<div class="banner__btn">
<a href="#" class="banner__link">Узнать подробнее</a>
</div>
</div>
<div class="banner__image"><img src="{%static './img/coins.png' %}" alt=""></div>
</div>
<div class="content__title">Выбор ПО по разработчику</div>
<div class="selectPO">
<div class="selectPO__list">
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/1c.png' %}" alt=""></a>
</div>
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/avast.png' %}" alt=""></a>
</div>
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/corel.png' %}" alt=""></a>
</div>
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/roadmin.png' %}" alt=""></a>
</div>
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/mcAfee.png' %}" alt=""></a>
</div>
<div class="selectPO__item">
<a href="#"><img src="{% static 'img/po_create/veeam.png' %}" alt=""></a>
</div>
</div>
</div>
<div class="content__title">Наши клиенты</div>
<div class="clients">
<ul class="clients__list">
<li><a href="#"><img src="{% static 'img/po_create/kerio.png' %}" alt=""></a></li>
<li><a href="#"><img src="{% static 'img/po_create/roadmin.png' %}" alt=""></a></li>
<li><a href="#"><img src="{% static 'img/po_create/eset.png' %}" alt=""></a></li>
</ul>
</div>
<div class="content__title">Наши сертефикаты</div>
<div class="certificate__list">
<a href="{% static './img/license/1.jpg' %}" class="certificate__item"><img src="{% static './img/lin_test.png' %}" alt=""></a>
<a href="{% static './img/license/2.jpg' %}" class="certificate__item"><img src="{% static './img/lin_test.png' %}" alt=""></a>
</div>
</div>
</div>
</div>
<!--
<div id="main" class="product_list col-sm-9">
<form class="search-form-container" action="/find/" method="get" >
<div class="form-group">
<div class="icon-addon addon-lg">
<input type="text" placeholder="what are you looking for ?" class="form-control" name="q" id="q" autocomplete="on">
<div id="selction-ajax"></div>
</div>
</div>
</form>
<table class="ItemsRow">
<tbody>
{% for producer in producers %}
{% cycle '<tr>' '' '' '' %}
<td>
<a href="{{ producer.get_absolute_url }}">
<img src="{% if producer.image %}{{ producer.image.url }}{% else %}{% static 'img/no-image.jpg' %} {% endif %}" class="img-responsive">
</a>
</td>
{% cycle '' '' '' '</tr>' %}
{% endfor %}
</tbody>
</table>
</div>-->
{% endblock %}

@ -0,0 +1,70 @@
{% extends 'base.html' %}
{% load staticfiles %}
{% block title %}
{{ product.name }}
{% endblock %}
{% block content %}
<div class="boxlink">
<div class="link150">
<div class="blocktov">
<div class="greenline">
<p>{{ product.name }}</p>
<div class="textproduct">
<p>{{ product.description }}</p>
</div>
<div class="calcblock">
<input type="hidden" id="variants" name="variants" value="{{ variant_picker_data.variants }}">
<input type="hidden" id="discount_policy" name="discount_policy" value="{{ variant_picker_data.discount_policy }}">
<input type="hidden" id="variant_length" name="variant_length" value="{{ variant_picker_data.variantAttributes|length }}">
{% for atribute in variant_picker_data.variantAttributes %}
<div class="buy">
<label> {{ atribute.public_name }} </label>
<select id="id_{{ forloop.counter0 }}" name="{{ atribute.name }}" onchange="calculate()">
{% for value in atribute.values %}
<option value="{{ value }}"
{% if value == atribute.values.0 %} selected="selected"{% endif %}>
{{ value.name }}
</option>
{% endfor %}
</select>
</div>
{% endfor %}
<div class="itog">Cash-back:<br><span id="erw">0</span> руб.</div>
<p class="bonussumm" > <span id="result_itog">0</span></p>
<div>
<form class="add" action="{% url 'cart:CartAdd'%}" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Add to cart">
</form>
</div>
</div>
</div>
<div class="blocktovleft">
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% static 'img/no-image.jpg'%}{% endif %}">
<div class="bonusblock">
<p class="bonussumm" > <span id="result"></span></p>
</div>
</div>
</div>
</div>
</div>
{% endblock content %}

@ -0,0 +1,33 @@
{% extends 'base.html' %}
{% load static %}
{% block title %}
Products Page
{% endblock %}
{% block content %}
<div id="main" class="product_list col-sm-9">
<form class="search-form-container" action="/find/" method="get" >
<div class="form-group">
<div class="icon-addon addon-lg">
<input type="text" placeholder="what are you looking for ?" class="form-control" name="q" id="q" autocomplete="on">
<div id="selction-ajax"></div>
</div>
</div>
</form>
<h1>Products</h1>
<div class="items row">
{% for product in products %}
<div class="item col-sm-4">
<a href="{{ product.get_absolute_url }}">
<img src="{% if product.image %}{{ product.image.url }}{% else %}{% static 'img/no-image.jpg' %} {% endif %}" class="img-responsive">
</a>
<a href="{{ product.get_absolute_url }}">{{ product.name }}</a><br>
<h4 class="product-price">
<span class="label label-info">{{ product.price }} rub.</span>
</h4>
</div>
{% endfor %}
</div>
</div>
{% endblock %}

@ -0,0 +1,16 @@
{% extends 'base.html' %}
{% load static %}
{% block content %}
{% if products_images.count > 0 %}
<div>
{% for product_image in products_images %}
{% include 'landing/product_item.html' %}
{% endfor %}
</div>
{% else %}
<li>None to show!</li>
{% endif %}
{% endblock %}

@ -0,0 +1,3 @@
{{ object.name }}
{{ object.description }}
{{ object.producer }}

@ -0,0 +1,103 @@
{% extends 'base.html' %}
{% load static %}
{% block content %}
{% if page_obj.object_list %}
<div class="col-md-3">
<h3>Filters</h3>
<dl>
{% if facets.fields.category %}
<dt>Filter by Category</dt>
{% for category in facets.fields.category %}
{% if category.1 != 0 %}
<dd>
<input class="facet" id="{{category.0|cut:' '}}" type="checkbox" name="category" value="{{ category.0 }}"
data-toggle="toggle" /> {{ category.0 }} ({{ category.1 }})
</dd>
{% endif %}
{% endfor %}
{% endif %}
</dl>
<div>
<input class="btn btn-info btn-sm pull-right" type="submit" value="apply filter" onclick="return onFacetChangeApplied();" />
</div>
<dl>
{% if facets.fields.producer %}
<dt>Filter by Producer</dt>
{% for producer in facets.fields.producer %}
{% if producer.1 != 0 %}
<dd>
<input class="facet" id="{{producer.0|cut:' '}}" type="checkbox" name="producer" value="{{ producer.0 }}" /> {{ producer.0 }} ({{ producer.1 }})
</dd>
{% endif %}
{% endfor %}
{% endif %}
</dl>
<div>
<input class="btn btn-info btn-sm pull-right" type="submit" value="apply filter" onclick="return onFacetChangeApplied();" />
</div>
</div>
{% endif %}
<div class="col-md-9">
<div class="row">
<div class="col-md-6 col-xs-6">
Search result for: <label> {{query}} </label>
</div>
<div class="col-md-6 col-xs-6 align-right">
Showing {{ page_obj.start_index }} - {{ page_obj.end_index }} of total {{ page_obj.paginator.count }}
results on page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}
</div>
</div>
</div>
{% if page_obj.object_list %}
<ol class="row top20">
{% for product in page_obj.object_list %}
<div class="showcase col-sm-6 col-md-4">
<a href="{{ product.object.get_absolute_url }}">
<img src="{% if product.object.image %}{{ product.object.image.url }}{% else %}{% static 'static_dev/no-image.jpg' %} {% endif %}" class="img-responsive">
</a>
<a href="{{ product.object.get_absolute_url }}">{{ product.name }}</a><br>
<h4 class="text-center"><span class="label label-info">{{ product.object.price }} rub.</span></h4>
</div>
{% endfor %}
</ol>
<div>
{% if is_paginated %}
<ul class="pagination pull-right">
{% if page_obj.has_previous %}
<li><a href="?q={{ query }}&page={{ page_obj.previous_page_number }}">&laquo;</a></li>
{% else %}
<li class="disabled"><span>&laquo;</span></li>
{% endif %}
{% for i in paginator.page_range %}
{% if page_obj.number == i %}
<li class="active"><span>{{ i }} <span class="sr-only">(current)</span></span></li>
{% else %}
<li><a href="?q={{ query }}&page={{ i }}">{{ i }}</a></li>
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<li><a href="?q={{ query }}&page={{ page_obj.next_page_number }}">&raquo;</a></li>
{% else %}
<li class="disabled"><span>&raquo;</span></li>
{% endif %}
</ul>
{% endif %}
</div>
{% else %}
<p> Sorry, no result found for the search term <strong>{{query}} </strong></p>
{% endif %}
{% endblock %}

@ -0,0 +1,24 @@
{% extends 'base.html' %}
{% load static %}
{% block content %}
<div class="general-container">
<div class="container top-container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h1 class="title">Для совершения операции необходим расчетный счет получателя!<br>
Пожалуйста, укажите номер счета для перевода.</h1>
<form action="" method="post" class="form-inline text-center"> {% csrf_token %}
<div class="form-group">
<label>Ваши реквизиты: </label>
<input name="{{ form.requisites.name }}" class="form-control">
</div>
<button type="submit" class="btn btn-primary btn-orange">Отправить</button>
</form>
</div>
</div>
</div>
</div>
{% endblock %}

@ -0,0 +1,42 @@
{% extends 'base.html' %}
{% load static %}
{% block content %}
<h2>Profile</h2>
{% for field in form %}
{{ field.error }}
{% endfor %}
<div class="user_data">
<p>Username: {{ user.username }}</p>
<p>Email: {{ user.email }}</p>
<p>Phone: {{ profile.phone }}</p>
<p>Site: {{ profile.website }}</p>
<p>City: {{ profile.city }}</p>
<p>Parent: {{ profile.parent.username }}</p>
<!--<div class="discount_code">-->
<!--<p>Discount code: {{ discount.code }}</p>-->
<!--<form action="{% url 'discount:create' %}" method="post">{% csrf_token %}-->
<!--<input type="submit" name="discount" value="GetDC" />-->
<!--</form>-->
<!--</div>-->
<div class="user_profile_points">
<p>Баллы: {{ profile.user_points }}</p>
{% if points_error %}
<label class="error">{{ points_error }}</label>
{% endif %}
<form action="{% url 'profile:pick_up_points' %}">
{% if profile.user_points != 0 %}
<button type="submit">Запросить баллы</button>
{% else %}
<button type="submit" disabled>Запросить баллы</button>
{% endif %}
</form>
</div>
<form action="{% url 'profile:update_profile' %}">
<button type="submit">Редактировать профиль</button>
</form>
</div>
{% endblock %}

@ -0,0 +1,14 @@
{% extends 'base.html' %}
{% block content %}
<h2>Profile</h2>
{% for field in form %}
{{ field.error }}
{% endfor %}
<form action="{% url 'profile:update_profile' %}" method="post">{% csrf_token %}
{{ form.as_ul }}
<input type="submit" value="Update">
</form>
{% endblock %}
Loading…
Cancel
Save