51 lines
3.1 KiB
Python
51 lines
3.1 KiB
Python
from django.urls import path
|
|
from . import views
|
|
|
|
app_name = 'products'
|
|
|
|
urlpatterns = [
|
|
# Combined view for products and kits
|
|
path('', views.CombinedProductListView.as_view(), name='all-products'),
|
|
|
|
# CRUD URLs for Product
|
|
path('products/', views.ProductListView.as_view(), name='product-list'),
|
|
path('create/', views.ProductCreateView.as_view(), name='product-create'),
|
|
path('<int:pk>/', views.ProductDetailView.as_view(), name='product-detail'),
|
|
path('<int:pk>/update/', views.ProductUpdateView.as_view(), name='product-update'),
|
|
path('<int:pk>/delete/', views.ProductDeleteView.as_view(), name='product-delete'),
|
|
|
|
# Photo management
|
|
path('photo/<int:pk>/delete/', views.product_photo_delete, name='product-photo-delete'),
|
|
path('photo/<int:pk>/set-main/', views.product_photo_set_main, name='product-photo-set-main'),
|
|
path('photo/<int:pk>/move-up/', views.product_photo_move_up, name='product-photo-move-up'),
|
|
path('photo/<int:pk>/move-down/', views.product_photo_move_down, name='product-photo-move-down'),
|
|
|
|
# CRUD URLs for ProductKit (комплекты/букеты)
|
|
path('kits/', views.ProductKitListView.as_view(), name='productkit-list'),
|
|
path('kits/create/', views.ProductKitCreateView.as_view(), name='productkit-create'),
|
|
path('kits/<int:pk>/', views.ProductKitDetailView.as_view(), name='productkit-detail'),
|
|
path('kits/<int:pk>/update/', views.ProductKitUpdateView.as_view(), name='productkit-update'),
|
|
path('kits/<int:pk>/delete/', views.ProductKitDeleteView.as_view(), name='productkit-delete'),
|
|
|
|
# Photo management for ProductKit
|
|
path('kits/photo/<int:pk>/delete/', views.productkit_photo_delete, name='productkit-photo-delete'),
|
|
path('kits/photo/<int:pk>/set-main/', views.productkit_photo_set_main, name='productkit-photo-set-main'),
|
|
path('kits/photo/<int:pk>/move-up/', views.productkit_photo_move_up, name='productkit-photo-move-up'),
|
|
path('kits/photo/<int:pk>/move-down/', views.productkit_photo_move_down, name='productkit-photo-move-down'),
|
|
|
|
# API endpoints
|
|
path('api/search-products-variants/', views.search_products_and_variants, name='api-search-products-variants'),
|
|
|
|
# CRUD URLs for ProductCategory
|
|
path('categories/', views.ProductCategoryListView.as_view(), name='category-list'),
|
|
path('categories/create/', views.ProductCategoryCreateView.as_view(), name='category-create'),
|
|
path('categories/<int:pk>/', views.ProductCategoryDetailView.as_view(), name='category-detail'),
|
|
path('categories/<int:pk>/update/', views.ProductCategoryUpdateView.as_view(), name='category-update'),
|
|
path('categories/<int:pk>/delete/', views.ProductCategoryDeleteView.as_view(), name='category-delete'),
|
|
|
|
# Category photo management
|
|
path('categories/photo/<int:pk>/delete/', views.category_photo_delete, name='category-photo-delete'),
|
|
path('categories/photo/<int:pk>/set-main/', views.category_photo_set_main, name='category-photo-set-main'),
|
|
path('categories/photo/<int:pk>/move-up/', views.category_photo_move_up, name='category-photo-move-up'),
|
|
path('categories/photo/<int:pk>/move-down/', views.category_photo_move_down, name='category-photo-move-down'),
|
|
] |