Add my-orders page in account

This commit is contained in:
vlados31 2022-10-03 01:42:20 +03:00
parent 6f70716f0a
commit 0362fbcae6
5 changed files with 71 additions and 11 deletions

View File

@ -20,11 +20,6 @@ from . import views
urlpatterns = [ urlpatterns = [
path('register', views.register, name='register'), path('register', views.register, name='register'),
path('profile/', views.profile, name='profile'), path('profile/', views.profile, name='profile'),
# path('account', views.account, name='account'), path('my-orders/', views.my_orders, name='my-orders'),
# path('account_<str:action>', views.account_action, name='account_action'),
#
# path('catalog/', views.catalog, name='catalog'),
# path('catalog/<int:product_id>/', views.product_view, name='product_view'),
# path('cart', views.cart, name='cart'),
] ]

View File

@ -1,11 +1,13 @@
from django.contrib.auth.decorators import login_required
from django.shortcuts import render from django.shortcuts import render
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from .forms import SiteUserForm from .forms import SiteUserForm
from order.models import *
from django.contrib.auth import login, authenticate from django.contrib.auth import login, authenticate
def index(request): def index(request):
return render(request, 'profile.html') return render(request, 'account/profile.html')
def register(request): def register(request):
@ -25,4 +27,11 @@ def register(request):
def profile(request): def profile(request):
return render(request, 'profile.html') return render(request, 'account/profile.html')
@login_required
def my_orders(request):
orders = Order.objects.filter(owner_id=request.user.id).select_related('address_city')
return render(request, 'account/my-orders.html', {"orders": orders})

View File

@ -3,7 +3,7 @@ from .models import *
from django.core.exceptions import * from django.core.exceptions import *
def _reqire_access_token(params): def _require_access_token(params):
token = api_get_param_str(params, "access_token") token = api_get_param_str(params, "access_token")
return UserToken.get_user_by_token(token) return UserToken.get_user_by_token(token)
@ -66,7 +66,7 @@ def account_register(params):
def account_verify_phone(params): def account_verify_phone(params):
user = _reqire_access_token(params) user = _require_access_token(params)
if user.is_phone_verified: if user.is_phone_verified:
raise Exception(API_ERROR_VALIDATION_CURRENTLY_VERIFIED) raise Exception(API_ERROR_VALIDATION_CURRENTLY_VERIFIED)
@ -98,7 +98,7 @@ def account_verify_phone(params):
def account_get(params): def account_get(params):
user = _reqire_access_token(params) user = _require_access_token(params)
return api_make_response({ return api_make_response({
"id": user.id, "id": user.id,
"name": user.name, "name": user.name,

View File

@ -0,0 +1,30 @@
{% extends 'base.html' %}
{% block title %} Аккаунт | вход {% endblock %}
{% block styles %}
<style>
.order-wrapper {
border: var(--brand-color) solid 3px;
border-radius: 1em;
margin: 1em;
padding: 1em;
}
</style>
{% endblock %}
{% block content %}
<h1 class=deprecated-page-header"> Мои заказы </h1>
{% if orders %}
{% for order in orders %}
<div class="order-wrapper">
<span class="order-pub-date">{{ order.create_time }}</span>
<h3><a href="{% url 'order-view' order.id %}">{{ order.name }}</a></h3>
<p>{{ order.description }}</p>
</div>
{% endfor %}
{% else %}
<p>Пока тут нет заказов. Создайте свой первый заказ <a href="{% url 'order-create' %}">тут</a>!</p>
{% endif %}
{% endblock %}

View File

@ -0,0 +1,26 @@
{% extends 'base.html' %}
{% block title %} Аккаунт | вход {% endblock %}
{% block content %}
<h1 class=deprecated-page-header"> Ваш аккаунт </h1>
{% if user.is_authenticated %}
Ваше имя: {{ user.name }}<br>
Ваша фамилия: {{ user.surname }}<br>
Ваша почта: {{ user.email }}<br>
Ваш телефон: {{ user.phone }}<br>
Ваш телефон верифицирован:
{% if user.is_phone_verified %}
<span style="color: green">Да</span>
{% else %}
<span style="color: red">Нет</span>
{% endif %}<br>
{% if user.is_staff %}
<span style="color: green">Вам разрешено входить в административную часть сайта</span>
<br>
{% endif %}
{% else %}
Вы не вошли. Используйте меню аккаунта для входа или авторизации.
{% endif %}
{% endblock %}