125 lines
3.6 KiB
Python
125 lines
3.6 KiB
Python
from django.conf.urls.i18n import i18n_patterns
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.urls import path
|
|
from django.utils.text import gettext_lazy as _
|
|
|
|
from web.views.components import (
|
|
cart,
|
|
cart_dropdown,
|
|
list_customer_addresses_component,
|
|
list_products,
|
|
list_wishlisted_products,
|
|
update_customer_address,
|
|
user_info_component,
|
|
wishlist_button,
|
|
change_password_component,
|
|
)
|
|
from web.views.users import (
|
|
login,
|
|
logout,
|
|
my_account,
|
|
register,
|
|
reset_password,
|
|
reset_password_confirm,
|
|
reset_password_email_sent,
|
|
)
|
|
from web.views.web import (
|
|
add_cart_item,
|
|
add_to_wishlist,
|
|
cart_detail,
|
|
category_view,
|
|
delete_cart_item,
|
|
delete_from_wishlist,
|
|
index,
|
|
manifest,
|
|
order_detail,
|
|
orders,
|
|
product_detail,
|
|
wishlist,
|
|
)
|
|
|
|
app_name = "web"
|
|
|
|
i18n_resolvers = i18n_patterns(
|
|
path("", index, name="index"),
|
|
path(
|
|
_("wishlist"), login_required(wishlist, login_url=_("/login/")), name="wishlist"
|
|
),
|
|
path(_("categories/<str:slug>/"), category_view, name="category_view"),
|
|
path(_("products/<int:pk>/<str:slug>/"), product_detail, name="product_detail"),
|
|
path(_("cart/"), cart_detail, name="cart_detail"),
|
|
path(_("orders/"), login_required(orders, login_url=_("/login/")), name="orders"),
|
|
path(_("order/<str:uuid>/"), order_detail, name="order"),
|
|
# users
|
|
path(_("login/"), login, name="login"),
|
|
path(_("logout/"), logout, name="logout"),
|
|
path(_("register/"), register, name="register"),
|
|
path(_("reset-password/"), reset_password, name="reset_password"),
|
|
path(
|
|
_("reset-password/<uidb64>/<token>/"),
|
|
reset_password_confirm,
|
|
name="reset_password_confirm",
|
|
),
|
|
path(
|
|
_("reset-password/email-sent/"),
|
|
reset_password_email_sent,
|
|
name="reset_password_email_sent",
|
|
),
|
|
path(
|
|
_("my-account/"),
|
|
login_required(my_account, login_url=_("/login/")),
|
|
name="my_account",
|
|
),
|
|
)
|
|
|
|
urlpatterns = [
|
|
# components
|
|
path("web/components/products/", list_products, name="list_products"),
|
|
path(
|
|
"web/components/wishlist/",
|
|
list_wishlisted_products,
|
|
name="list_wishlisted_products",
|
|
),
|
|
path("web/components/cart-dropdown/", cart_dropdown, name="cart_dropdown"),
|
|
path("web/components/cart/", cart, name="cart"),
|
|
path(
|
|
"web/components/wishlist-button/<int:pk>/",
|
|
wishlist_button,
|
|
name="wishlist_button",
|
|
),
|
|
path(
|
|
"web/components/user-info/",
|
|
login_required(user_info_component, login_url=_("/login/")),
|
|
name="user_info_component",
|
|
),
|
|
path(
|
|
"web/components/change-password/",
|
|
login_required(change_password_component, login_url=_("/login/")),
|
|
name="change_password_component",
|
|
),
|
|
# api
|
|
path("web/add-cart-item/", add_cart_item, name="add_cart_item"),
|
|
path("web/delete-cart-item/<int:pk>/", delete_cart_item, name="delete_cart_item"),
|
|
path("web/add-to-wishlist/", add_to_wishlist, name="add_to_wishlist"),
|
|
path(
|
|
"web/delete-from-wishlist/<int:pk>/",
|
|
delete_from_wishlist,
|
|
name="delete_from_wishlist",
|
|
),
|
|
path(
|
|
"web/customer-address/<int:pk>/",
|
|
update_customer_address,
|
|
name="update_customer_address",
|
|
),
|
|
path(
|
|
"web/customer-addresses/",
|
|
list_customer_addresses_component,
|
|
name="list_customer_addresses_component",
|
|
),
|
|
# manifest
|
|
path("manifest.json", manifest, name="manifest_json"),
|
|
]
|
|
|
|
for resolver in i18n_resolvers:
|
|
urlpatterns += resolver.url_patterns
|