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('/', views.ProductDetailView.as_view(), name='product-detail'), path('/update/', views.ProductUpdateView.as_view(), name='product-update'), path('/delete/', views.ProductDeleteView.as_view(), name='product-delete'), # Photo management path('photo//delete/', views.product_photo_delete, name='product-photo-delete'), path('photo//set-main/', views.product_photo_set_main, name='product-photo-set-main'), path('photo//move-up/', views.product_photo_move_up, name='product-photo-move-up'), path('photo//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//', views.ProductKitDetailView.as_view(), name='productkit-detail'), path('kits//update/', views.ProductKitUpdateView.as_view(), name='productkit-update'), path('kits//delete/', views.ProductKitDeleteView.as_view(), name='productkit-delete'), path('kits//make-permanent/', views.ProductKitMakePermanentView.as_view(), name='productkit-make-permanent'), # Photo management for ProductKit path('kits/photo//delete/', views.productkit_photo_delete, name='productkit-photo-delete'), path('kits/photo//set-main/', views.productkit_photo_set_main, name='productkit-photo-set-main'), path('kits/photo//move-up/', views.productkit_photo_move_up, name='productkit-photo-move-up'), path('kits/photo//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'), path('api/kits/temporary/create/', views.create_temporary_kit_api, name='api-temporary-kit-create'), # CRUD URLs for ProductVariantGroup (Варианты товаров) path('variant-groups/', views.ProductVariantGroupListView.as_view(), name='variantgroup-list'), path('variant-groups/create/', views.ProductVariantGroupCreateView.as_view(), name='variantgroup-create'), path('variant-groups//', views.ProductVariantGroupDetailView.as_view(), name='variantgroup-detail'), path('variant-groups//update/', views.ProductVariantGroupUpdateView.as_view(), name='variantgroup-update'), path('variant-groups//delete/', views.ProductVariantGroupDeleteView.as_view(), name='variantgroup-delete'), # AJAX endpoints for ProductVariantGroup item management path('variant-groups/item//move//', views.product_variant_group_item_move, name='variantgroup-item-move'), # 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//', views.ProductCategoryDetailView.as_view(), name='category-detail'), path('categories//update/', views.ProductCategoryUpdateView.as_view(), name='category-update'), path('categories//delete/', views.ProductCategoryDeleteView.as_view(), name='category-delete'), # Category photo management path('categories/photo//delete/', views.category_photo_delete, name='category-photo-delete'), path('categories/photo//set-main/', views.category_photo_set_main, name='category-photo-set-main'), path('categories/photo//move-up/', views.category_photo_move_up, name='category-photo-move-up'), path('categories/photo//move-down/', views.category_photo_move_down, name='category-photo-move-down'), # CRUD URLs for ProductTag path('tags/', views.ProductTagListView.as_view(), name='tag-list'), path('tags/create/', views.ProductTagCreateView.as_view(), name='tag-create'), path('tags//', views.ProductTagDetailView.as_view(), name='tag-detail'), path('tags//update/', views.ProductTagUpdateView.as_view(), name='tag-update'), path('tags//delete/', views.ProductTagDeleteView.as_view(), name='tag-delete'), ]