parent
24e5d37899
commit
c15a4bc424
21 changed files with 1147 additions and 18 deletions
@ -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 %} |
||||||
@ -0,0 +1 @@ |
|||||||
|
|
||||||
@ -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 }}">«</a></li> |
||||||
|
{% else %} |
||||||
|
<li class="disabled"><span>«</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 }}">»</a></li> |
||||||
|
{% else %} |
||||||
|
<li class="disabled"><span>»</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…
Reference in new issue