add index view to cabinet app

remotes/origin/HEAD
Max Yakovenko 8 years ago
parent 80011eebb8
commit bb37e74dc2
  1. 29
      cabinet/views.py
  2. 103
      templates/cabinet/index.html

@ -1,14 +1,41 @@
from django.shortcuts import render
from django.conf import settings
from django.core.paginator import Paginator
from django.utils.translation import ugettext_lazy as _
# Create your views here.
from cart.models import BUYING_STATUS_IN_CART
from core.views import ProtectedView
def get_mobile_phone_number(user):
return user.profile.phone
class IndexView(ProtectedView):
template_name = 'cabinet/index.html'
title = _('Личный кабинет')
def get_ref_link(self,user):
return user.referral.url if user.referral else ""
def get_bought_item_list(self,user):
paginator = Paginator(object_list=user.buying_set.filter(status=BUYING_STATUS_IN_CART).order_by('create_at').all(), per_page=settings.DEFAULT_PAGE_AMMOUNT)
the_page = self.kwargs.get('page',1)
return paginator.page(the_page)
def get_full_name(self,user):
return '{last_name}{first_name}{patronymic}'.format(**{
'last_name': user.profile.last_name or "",
'first_name': user.profile.first_name or "",
'patronymic': user.profile.patronymic or ""
})
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = self.title
context['ref_link'] = self.get_ref_link(self.request.user)
context['bought_item_list'] = self.get_bought_item_list(self.request.user)
context['full_name'] = self.get_full_name(self.request.user)
context['email'] = self.request.user.email
context['phone_number'] = self.request.user.profile.phone
return context

@ -6,24 +6,25 @@
<div class="row">
<div class="col-lg-6 col-12">
<div class="content__title">{{ title }}</div>
<div class="cabinet__bonus">
<div class="d-sm-flex flex-row cabinet__wrap">
<div class="cabinet__title bonus__title">
Ваши бонусы: <span>1326</span>
</div>
<div class="bonus__btn_bx flex-xl-fill">
<a href="#" class="cabinet__link_fill">Вывести бонусы</a>
</div>
<div class="bonus__btn_bx">
<a href="#" class="cabinet__link_fill">Потратить на подарки</a>
</div>
</div>
</div>
{# <div class="cabinet__bonus">#}
{# <div class="d-sm-flex flex-row cabinet__wrap">#}
{# <div class="cabinet__title bonus__title">#}
{# Ваши бонусы: <span>1326</span>#}
{# </div>#}
{# <div class="bonus__btn_bx flex-xl-fill">#}
{# <a href="#" class="cabinet__link_fill">Вывести бонусы</a>#}
{# </div>#}
{# <div class="bonus__btn_bx">#}
{# <a href="#" class="cabinet__link_fill">Потратить на подарки</a>#}
{# </div>#}
{# </div>#}
{# </div>#}
<div class="d-sm-flex flex-row cabinet__wrap">
<div class="cabinet__title bonus__title">Ваша ссылка: <a href="" title="rusprog.ru/igor115">rusprog.ru/igor115</a>
<div class="cabinet__title bonus__title">
Ваша ссылка: <a href="" title="{{ res_link }}">{{ res_link }}</a>
</div>
<div class="bonus__btn_bx">
<a href="#" class="cabinet__link_fill">Скопировать</a>
<a href="#" class="cabinet__link_fill" onclick="">Скопировать</a>
</div>
</div>
</div>
@ -34,14 +35,17 @@
<div class="friends__title_header">Имя</div>
<div class="friends__info_header">Баллы</div>
</div>
<div class="d-flex flex-row friends__row">
<div class="friends__title">Nikolas</div>
<div class="friends__info">120</div>
</div>
<div class="d-flex flex-row friends__row">
<div class="friends__title">Nikolas</div>
<div class="friends__info">120</div>
</div>
{% for ref_user in referral_user_list %}
<div class="d-flex flex-row friends__row">
<div class="friends__title">{{ ref_user.name }}</div>
{# <div class="friends__info">120</div>#}
</div>
{% empty %}
<div class="d-flex flex-row friends__row">
<div class="friends__title">Nikolas</div>
<div class="friends__info">120</div>
</div>
{% endfor %}
</div>
</div>
</div>
@ -58,34 +62,23 @@
<th>Кол-во</th>
<th>Сумма</th>
</tr>
<tr>
<td>12.06.17</td>
<td>142251366</td>
<td>Windows 7 BOX...</td>
<td>1</td>
<td>7570₽</td>
</tr>
<tr>
<td>12.06.17</td>
<td>142251366</td>
<td>Windows 7 BOX...</td>
<td>1</td>
<td>7570₽</td>
</tr>
<tr>
<td>12.06.17</td>
<td>142251366</td>
<td>Windows 7 BOX...</td>
<td>1</td>
<td>7570₽</td>
</tr>
<tr>
<td>12.06.17</td>
<td>142251366</td>
<td>Windows 7 BOX...</td>
<td>1</td>
<td>7570₽</td>
</tr>
{% for bought_item in bought_item_list %}
<tr>
<td>{{ bought_item.bought_at }}</td>
<td>{{ bought_item.id }}</td>
<td>{{ bought_item.product.name }}</td>
<td>{{ bought_item.amount }}</td>
<td>{{ bought_item.total_price }}7570₽</td>
</tr>
{% empty %}
<tr>
<td>12.06.17</td>
<td>142251366</td>
<td>Windows 7 BOX...</td>
<td>1</td>
<td>7570₽</td>
</tr>
{% endfor %}
</table>
<div class="history__btn_bx"><a href="#" class="cabinet__link_fill">Вся история покупок</a>
</div>
@ -93,19 +86,19 @@
<div class="cabinet__userdata">
<div class="d-flex flex-row userdata_row">
<div class="userdata_title">ФИО:</div>
<div class="userdata_info">Мезенцев Игорь Евгеньевич</div>
<div class="userdata_info">{{ full_name|default:"-" }}</div>
</div>
<div class="d-flex flex-row userdata_row">
<div class="userdata_title">Дата рождения:</div>
<div class="userdata_info">24.08.1995</div>
<div class="userdata_info">{{ birthday|default:"-" }}</div>
</div>
<div class="d-flex flex-row userdata_row">
<div class="userdata_title">Номер телефона:</div>
<div class="userdata_info">8 (913) 464-14-43</div>
<div class="userdata_info">{{ phone_number|default:"-" }}</div>
</div>
<div class="d-flex flex-row userdata_row">
<div class="userdata_title">Эл.почта:</div>
<div class="userdata_info">igormezencev55@yandex.ru</div>
<div class="userdata_info">{{ email }}</div>
</div>
</div>
<div class="cabinet__nextpay">

Loading…
Cancel
Save