diff --git a/account/urls.py b/account/urls.py index 683f148..2793767 100644 --- a/account/urls.py +++ b/account/urls.py @@ -20,11 +20,6 @@ from . import views urlpatterns = [ path('register', views.register, name='register'), path('profile/', views.profile, name='profile'), - # path('account', views.account, name='account'), - # path('account_', views.account_action, name='account_action'), - # - # path('catalog/', views.catalog, name='catalog'), - # path('catalog//', views.product_view, name='product_view'), - # path('cart', views.cart, name='cart'), + path('my-orders/', views.my_orders, name='my-orders'), ] diff --git a/account/views.py b/account/views.py index a5e4255..31e1238 100644 --- a/account/views.py +++ b/account/views.py @@ -1,11 +1,13 @@ +from django.contrib.auth.decorators import login_required from django.shortcuts import render from django.http import HttpResponseRedirect from .forms import SiteUserForm +from order.models import * from django.contrib.auth import login, authenticate def index(request): - return render(request, 'profile.html') + return render(request, 'account/profile.html') def register(request): @@ -25,4 +27,11 @@ def register(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}) diff --git a/api/api_methods.py b/api/api_methods.py index 798446b..f312142 100644 --- a/api/api_methods.py +++ b/api/api_methods.py @@ -3,7 +3,7 @@ from .models import * from django.core.exceptions import * -def _reqire_access_token(params): +def _require_access_token(params): token = api_get_param_str(params, "access_token") return UserToken.get_user_by_token(token) @@ -66,7 +66,7 @@ def account_register(params): def account_verify_phone(params): - user = _reqire_access_token(params) + user = _require_access_token(params) if user.is_phone_verified: raise Exception(API_ERROR_VALIDATION_CURRENTLY_VERIFIED) @@ -98,7 +98,7 @@ def account_verify_phone(params): def account_get(params): - user = _reqire_access_token(params) + user = _require_access_token(params) return api_make_response({ "id": user.id, "name": user.name, diff --git a/templates/account/my-orders.html b/templates/account/my-orders.html new file mode 100644 index 0000000..7c9fd03 --- /dev/null +++ b/templates/account/my-orders.html @@ -0,0 +1,30 @@ +{% extends 'base.html' %} +{% block title %} Аккаунт | вход {% endblock %} + +{% block styles %} + +{% endblock %} + +{% block content %} +

Мои заказы

+ + {% if orders %} + {% for order in orders %} +
+ {{ order.create_time }} +

{{ order.name }}

+

{{ order.description }}

+
+ {% endfor %} + {% else %} +

Пока тут нет заказов. Создайте свой первый заказ тут!

+ {% endif %} + +{% endblock %} diff --git a/templates/account/profile.html b/templates/account/profile.html new file mode 100644 index 0000000..7731fae --- /dev/null +++ b/templates/account/profile.html @@ -0,0 +1,26 @@ +{% extends 'base.html' %} +{% block title %} Аккаунт | вход {% endblock %} + +{% block content %} +

Ваш аккаунт

+ {% if user.is_authenticated %} + Ваше имя: {{ user.name }}
+ Ваша фамилия: {{ user.surname }}
+ Ваша почта: {{ user.email }}
+ Ваш телефон: {{ user.phone }}
+ Ваш телефон верифицирован: + {% if user.is_phone_verified %} + Да + {% else %} + Нет + {% endif %}
+ + {% if user.is_staff %} + Вам разрешено входить в административную часть сайта +
+ {% endif %} + {% else %} + Вы не вошли. Используйте меню аккаунта для входа или авторизации. + {% endif %} + +{% endblock %}