diff --git a/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx b/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx
index f775abe..26d834e 100644
--- a/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx
+++ b/ipi-survey-platform/src/components/dashboard/SubmissionHistory.jsx
@@ -287,9 +287,17 @@ const handleDeleteDraft = async (e, submission) => {
+
+
+
)}
diff --git a/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx b/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx
index f784f78..c62821f 100644
--- a/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx
+++ b/ipi-survey-platform/src/components/survey/ReviewSubmit/ReviewSubmit.jsx
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import Table from '@/components/common/Table';
-import { getQuarterPeriods , resubmitSurvey } from '@/services/submissions/submissionService';
+import { getQuarterPeriods , submitSurvey, resubmitSurvey } from '@/services/submissions/submissionService';
import { getEmirates, fetchVariationReasons, fetchZeroTargetReasons } from '@/services/masters/masterService';
const caretUpSrc = '/assets/images/caret-up.svg';
const caretDownSrc = '/assets/images/CaretDown-black.svg';
@@ -523,10 +523,19 @@ if (!establishment) {
const formattedProducts = products.map(product => {
// Get the selected product option to access product_id
const selectedProduct = productOptions.find(p => p.value === product.product);
- const existingProduct = currentSubmission.products?.find(p =>
- p.product_id === product.product_id ||
- p.product?.id === product.product_id
- );
+const existingProduct = currentSubmission.products?.find(p =>
+ p.product_id === (selectedProduct?.product_id || product.product_id) ||
+ p.product?.id === (selectedProduct?.product_id || product.product_id)
+);
+console.log('Existing product match:', {
+ productId: product.id,
+ productProductId: product.product_id,
+ selectedProductId: selectedProduct?.product_id,
+ foundExistingProduct: !!existingProduct,
+ existingProductId: existingProduct?.id,
+ existingProductProductId: existingProduct?.product_id,
+ allExistingProductIds: currentSubmission.products?.map(p => p.id) || []
+});
return {
id: existingProduct?.id || 0,
product_id: selectedProduct?.product_id || product.product_id || null,
@@ -589,23 +598,36 @@ if (!establishment) {
if (submissionId) {
// Update existing submission
response = await resubmitSurvey(submissionId, payload);
- alert('Draft updated successfully');
-
+ alert('Draft updated successfully')
} else {
// Create new submission
response = await submitSurvey(payload);
// Update local storage with the new submission ID if this was a create operation
- if (response && response.id) {
- const updatedSubmission = { ...currentSubmission, id: response.id };
- localStorage.setItem('currentSubmission', JSON.stringify(updatedSubmission));
+ if (response && response.submission_data) {
+ localStorage.setItem('currentSubmission', JSON.stringify(response.submission_data));
}
alert('Draft saved successfully')
}
+ // Add this debug log
+ console.log('API Response:', {
+ status: response?.status,
+ data: response?.data,
+ submissionId: submissionId
+ });
} catch (error) {
- console.error('Error saving draft:', error);
+ console.error('Error details:', {
+ message: error.message,
+ response: error.response?.data,
+ status: error.response?.status,
+ config: {
+ url: error.config?.url,
+ method: error.config?.method,
+ data: error.config?.data
+ }
+ });
alert(error.message || 'Failed to save draft');
} finally {
setIsSavingDraft(false);
diff --git a/ipi-survey-platform/src/pages/Overview/Overview.jsx b/ipi-survey-platform/src/pages/Overview/Overview.jsx
index 2ed0084..b21bba3 100644
--- a/ipi-survey-platform/src/pages/Overview/Overview.jsx
+++ b/ipi-survey-platform/src/pages/Overview/Overview.jsx
@@ -182,7 +182,13 @@ const handleDeleteDraft = async (e, record) => {
/>
- ) : 'View Details',
+ ) :
+
]);
}, [filteredRows, uae_currency]);