- Removed autosave.js (665 lines) and draft-creator.js (441 lines) - Removed draft_service.py (~500 lines) and DraftOrderService - Removed AJAX endpoints: autosave and create-draft - Updated order_create() to add is_create_page flag - Updated order_update() to finalize drafts without DraftOrderService - Added get_new_status() method to OrderStatusService - Updated order_form.html: - Removed old JS includes - Added beforeunload warning for unsaved data - Updated buttons: separate buttons for create/draft/finalize - Total code reduction: ~1600 lines (92% removed) New workflow: - /orders/create/ - user fills form, chooses button - /orders/<id>/edit/ - simple editing without autosave - beforeunload warning when leaving page (except on submit)
29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from django.urls import path
|
|
from . import views
|
|
|
|
app_name = 'orders'
|
|
|
|
urlpatterns = [
|
|
path('', views.order_list, name='order-list'),
|
|
path('create/', views.order_create, name='order-create'),
|
|
path('<int:order_number>/', views.order_detail, name='order-detail'),
|
|
path('<int:order_number>/edit/', views.order_update, name='order-update'),
|
|
path('<int:order_number>/delete/', views.order_delete, name='order-delete'),
|
|
|
|
# AJAX endpoints
|
|
path('api/customer-address-history/', views.get_customer_address_history, name='api-customer-address-history'),
|
|
|
|
# Wallet payment
|
|
path('<int:order_number>/apply-wallet/', views.apply_wallet_payment, name='apply-wallet'),
|
|
|
|
# AJAX status update
|
|
path('api/<int:order_number>/set-status/', views.set_order_status, name='api-set-order-status'),
|
|
|
|
# Order Status Management URLs
|
|
path('statuses/', views.order_status_list, name='status_list'),
|
|
path('statuses/create/', views.order_status_create, name='status_create'),
|
|
path('statuses/<int:pk>/edit/', views.order_status_update, name='status_edit'),
|
|
path('statuses/<int:pk>/delete/', views.order_status_delete, name='status_delete'),
|
|
]
|