diff --git a/app/services/letzshop/order_service.py b/app/services/letzshop/order_service.py index ee23de18..46e75063 100644 --- a/app/services/letzshop/order_service.py +++ b/app/services/letzshop/order_service.py @@ -705,6 +705,7 @@ class LetzshopOrderService: "records_processed": log.records_processed or 0, "records_succeeded": log.records_succeeded or 0, "records_failed": log.records_failed or 0, + "error_details": log.error_details, } ) @@ -733,6 +734,7 @@ class LetzshopOrderService: "records_processed": log.records_processed or 0, "records_succeeded": log.records_succeeded or 0, "records_failed": log.records_failed or 0, + "error_details": log.error_details, # Include export file details } ) diff --git a/app/templates/admin/partials/letzshop-jobs-table.html b/app/templates/admin/partials/letzshop-jobs-table.html index 3b5440cd..bcab54ed 100644 --- a/app/templates/admin/partials/letzshop-jobs-table.html +++ b/app/templates/admin/partials/letzshop-jobs-table.html @@ -178,3 +178,162 @@ + + +
+
+ +
+

Job Details

+ +
+ + +
+ +
+
+ Job ID: + # +
+
+ Type: + + + +
+
+ Status: + + + +
+
+ Vendor: + +
+
+ + +
+

Records

+
+
+
+
Succeeded
+
+
+
+
Processed
+
+
+
+
Failed
+
+
+
+ + +
+
+ Started: + +
+
+ Completed: + +
+
+ Duration: + +
+
+ + + + + + +
+ + + +
+
diff --git a/static/admin/js/marketplace-letzshop.js b/static/admin/js/marketplace-letzshop.js index a2d095e3..3d15596e 100644 --- a/static/admin/js/marketplace-letzshop.js +++ b/static/admin/js/marketplace-letzshop.js @@ -129,7 +129,9 @@ function adminMarketplaceLetzshop() { showTrackingModal: false, showOrderModal: false, showResolveModal: false, + showJobDetailsModal: false, selectedOrder: null, + selectedJobDetails: null, selectedExceptionForResolve: null, trackingForm: { tracking_number: '', tracking_provider: '' }, resolveForm: { product_id: null, product_name: '', notes: '', bulk_resolve: false }, @@ -1412,12 +1414,12 @@ function adminMarketplaceLetzshop() { }, /** - * View job details + * View job details in modal */ viewJobDetails(job) { - // For now, just log - could open a modal marketplaceLetzshopLog.info('View job details:', job); - alert(`Job #${job.id}\nType: ${job.type}\nStatus: ${job.status}\nRecords: ${job.records_succeeded}/${job.records_processed}`); + this.selectedJobDetails = job; + this.showJobDetailsModal = true; }, /**