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 _ from django.utils.translation import ugettext_lazy as _
# Create your views here. # Create your views here.
from cart.models import BUYING_STATUS_IN_CART
from core.views import ProtectedView from core.views import ProtectedView
def get_mobile_phone_number(user):
return user.profile.phone
class IndexView(ProtectedView): class IndexView(ProtectedView):
template_name = 'cabinet/index.html' template_name = 'cabinet/index.html'
title = _('Личный кабинет') 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): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['title'] = self.title 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="row">
<div class="col-lg-6 col-12"> <div class="col-lg-6 col-12">
<div class="content__title">{{ title }}</div> <div class="content__title">{{ title }}</div>
<div class="cabinet__bonus"> {# <div class="cabinet__bonus">#}
<div class="d-sm-flex flex-row cabinet__wrap"> {# <div class="d-sm-flex flex-row cabinet__wrap">#}
<div class="cabinet__title bonus__title"> {# <div class="cabinet__title bonus__title">#}
Ваши бонусы: <span>1326</span> {# Ваши бонусы: <span>1326</span>#}
</div> {# </div>#}
<div class="bonus__btn_bx flex-xl-fill"> {# <div class="bonus__btn_bx flex-xl-fill">#}
<a href="#" class="cabinet__link_fill">Вывести бонусы</a> {# <a href="#" class="cabinet__link_fill">Вывести бонусы</a>#}
</div> {# </div>#}
<div class="bonus__btn_bx"> {# <div class="bonus__btn_bx">#}
<a href="#" class="cabinet__link_fill">Потратить на подарки</a> {# <a href="#" class="cabinet__link_fill">Потратить на подарки</a>#}
</div> {# </div>#}
</div> {# </div>#}
</div> {# </div>#}
<div class="d-sm-flex flex-row cabinet__wrap"> <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>
<div class="bonus__btn_bx"> <div class="bonus__btn_bx">
<a href="#" class="cabinet__link_fill">Скопировать</a> <a href="#" class="cabinet__link_fill" onclick="">Скопировать</a>
</div> </div>
</div> </div>
</div> </div>
@ -34,14 +35,17 @@
<div class="friends__title_header">Имя</div> <div class="friends__title_header">Имя</div>
<div class="friends__info_header">Баллы</div> <div class="friends__info_header">Баллы</div>
</div> </div>
<div class="d-flex flex-row friends__row"> {% for ref_user in referral_user_list %}
<div class="friends__title">Nikolas</div> <div class="d-flex flex-row friends__row">
<div class="friends__info">120</div> <div class="friends__title">{{ ref_user.name }}</div>
</div> {# <div class="friends__info">120</div>#}
<div class="d-flex flex-row friends__row"> </div>
<div class="friends__title">Nikolas</div> {% empty %}
<div class="friends__info">120</div> <div class="d-flex flex-row friends__row">
</div> <div class="friends__title">Nikolas</div>
<div class="friends__info">120</div>
</div>
{% endfor %}
</div> </div>
</div> </div>
</div> </div>
@ -58,34 +62,23 @@
<th>Кол-во</th> <th>Кол-во</th>
<th>Сумма</th> <th>Сумма</th>
</tr> </tr>
<tr> {% for bought_item in bought_item_list %}
<td>12.06.17</td> <tr>
<td>142251366</td> <td>{{ bought_item.bought_at }}</td>
<td>Windows 7 BOX...</td> <td>{{ bought_item.id }}</td>
<td>1</td> <td>{{ bought_item.product.name }}</td>
<td>7570₽</td> <td>{{ bought_item.amount }}</td>
</tr> <td>{{ bought_item.total_price }}7570₽</td>
<tr> </tr>
<td>12.06.17</td> {% empty %}
<td>142251366</td> <tr>
<td>Windows 7 BOX...</td> <td>12.06.17</td>
<td>1</td> <td>142251366</td>
<td>7570₽</td> <td>Windows 7 BOX...</td>
</tr> <td>1</td>
<tr> <td>7570₽</td>
<td>12.06.17</td> </tr>
<td>142251366</td> {% endfor %}
<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>
</table> </table>
<div class="history__btn_bx"><a href="#" class="cabinet__link_fill">Вся история покупок</a> <div class="history__btn_bx"><a href="#" class="cabinet__link_fill">Вся история покупок</a>
</div> </div>
@ -93,19 +86,19 @@
<div class="cabinet__userdata"> <div class="cabinet__userdata">
<div class="d-flex flex-row userdata_row"> <div class="d-flex flex-row userdata_row">
<div class="userdata_title">ФИО:</div> <div class="userdata_title">ФИО:</div>
<div class="userdata_info">Мезенцев Игорь Евгеньевич</div> <div class="userdata_info">{{ full_name|default:"-" }}</div>
</div> </div>
<div class="d-flex flex-row userdata_row"> <div class="d-flex flex-row userdata_row">
<div class="userdata_title">Дата рождения:</div> <div class="userdata_title">Дата рождения:</div>
<div class="userdata_info">24.08.1995</div> <div class="userdata_info">{{ birthday|default:"-" }}</div>
</div> </div>
<div class="d-flex flex-row userdata_row"> <div class="d-flex flex-row userdata_row">
<div class="userdata_title">Номер телефона:</div> <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>
<div class="d-flex flex-row userdata_row"> <div class="d-flex flex-row userdata_row">
<div class="userdata_title">Эл.почта:</div> <div class="userdata_title">Эл.почта:</div>
<div class="userdata_info">igormezencev55@yandex.ru</div> <div class="userdata_info">{{ email }}</div>
</div> </div>
</div> </div>
<div class="cabinet__nextpay"> <div class="cabinet__nextpay">

Loading…
Cancel
Save