diff --git a/ipi-survey-platform/src/components/admin/SubmissionTable.jsx b/ipi-survey-platform/src/components/admin/SubmissionTable.jsx
index 650b58c..8f7da4b 100644
--- a/ipi-survey-platform/src/components/admin/SubmissionTable.jsx
+++ b/ipi-survey-platform/src/components/admin/SubmissionTable.jsx
@@ -36,7 +36,12 @@ const SubmissionTable = ({ selectedQuarter, selectedYear }) => {
const response = await apiClient.get(`/admin_dashboard?${params.toString()}`);
const result = response?.data;
if (result?.status === 'success') {
- setData(result.recent_submissions || []);
+ // Map the data to include the updated_at as reviewerOn
+ const mappedData = (result.recent_submissions || []).map(item => ({
+ ...item,
+ reviewerOn: item.updated_at || null
+ }));
+ setData(mappedData);
} else {
console.error('Error: Invalid response', result);
}
@@ -177,7 +182,6 @@ const handleApproveConfirm = async () => {
toast.success('Submission approved successfully');
const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin';
- const currentTime = new Date().toISOString();
const updatedAt = response?.data?.updated_at || new Date().toISOString();
// Update the status of the current item in the data array
@@ -188,7 +192,8 @@ const handleApproveConfirm = async () => {
...item,
status: 'Approved',
reviewer_name: currentUser,
- reviewerOn: updatedAt
+ reviewerOn: updatedAt,
+ updated_at: updatedAt
}
: item
)
@@ -231,7 +236,6 @@ const handleRejectConfirm = async () => {
toast.error('Submission has been rejected');
const currentUser = JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin';
- const currentTime = new Date().toISOString();
const updatedAt = response?.data?.updated_at || new Date().toISOString();
// Update the status of the current item in the data array
@@ -242,7 +246,8 @@ const handleRejectConfirm = async () => {
...item,
status: 'Rejected',
reviewer_name: currentUser,
- reviewerOn: updatedAt
+ reviewerOn: updatedAt,
+ updated_at: updatedAt
}
: item
)
@@ -306,9 +311,9 @@ const tableRows = filtered.map((item) => [
item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected'
? (item?.reviewer_name || JSON.parse(sessionStorage.getItem("user_profile"))?.name || 'Admin')
: '-',
- // Reviewed On - show reviewerOn after approval/rejection, otherwise show '-'
+ // Reviewed On - show updated_at after approval/rejection, otherwise show '-'
item?.status?.toLowerCase() === 'approved' || item?.status?.toLowerCase() === 'rejected'
- ? {formatDate(item?.reviewerOn)}
+ ? {formatDate(item?.updated_at || item?.reviewerOn)}
: '-',
item,
]);
diff --git a/ipi-survey-platform/src/pages/Admin/Validations.jsx b/ipi-survey-platform/src/pages/Admin/Validations.jsx
index 20d8ddf..35da305 100644
--- a/ipi-survey-platform/src/pages/Admin/Validations.jsx
+++ b/ipi-survey-platform/src/pages/Admin/Validations.jsx
@@ -153,11 +153,11 @@ const ManageSubmissions = () => {
year: String(item.year ?? '-'),
quarter: item.quarter ?? '-',
products: item?.product_count || '-',
- submittedBy: userProfile?.name || '-',
+ submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-',
- reviewer: userProfile?.name || '-',
- reviewerOn: formatDateTime(item.updated_at || item.created_at),
+ reviewer: item.reviewer_name || '-',
+ reviewerOn: formatDateTime(item.updated_at ),
}));
setSubmissions(mapped);
} else {
@@ -198,7 +198,6 @@ const ManageSubmissions = () => {
showToast('error', 'Submission has been rejected');
// Refresh the submissions list
const data = await fetchDashboardData(selectedQuarter, selectedYear);
- const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const mapped = (data || []).map((item) => ({
id: item.id,
establishment: item?.establishment?.factory_name || '-',
@@ -206,11 +205,11 @@ const ManageSubmissions = () => {
year: String(item.year ?? '-'),
quarter: item.quarter ?? '-',
products: item?.product_count || '-',
- submittedBy: userProfile?.name || '-',
+ submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at),
status: item.status ?? '-',
- reviewer: userProfile?.name || '-',
- reviewerOn: formatDateTime(item.created_at),
+ reviewer: item.reviewer_name || '-',
+ reviewerOn: formatDateTime(item.updated_at),
}));
setSubmissions(mapped);
setRejectReason('');
@@ -241,7 +240,6 @@ React.useEffect(() => {
try {
setLoading(true);
const data = await fetchDashboardData(selectedQuarter, selectedYear);
- const userProfile = JSON.parse(sessionStorage.getItem("user_profile"));
const mapped = (data || []).map((item) => ({
id: item.id,
establishment: item?.establishment?.factory_name || '-',
@@ -249,10 +247,10 @@ React.useEffect(() => {
year: String(item.year ?? '-'),
quarter: item.quarter ?? '-',
products: item?.product_count || '-',
- submittedBy: userProfile?.name || '-',
+ submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at),
- status: item.status ?? '-',
- reviewer: userProfile?.name || '-',
+ status: item.status || 'Pending',
+ reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.updated_at || item.created_at),
}));
@@ -320,8 +318,6 @@ React.useEffect(() => {
// Then fetch the submissions with the current quarter and year
const data = await fetchDashboardData(currentQuarter, currentYear);
- const userProfile = JSON.parse(sessionStorage.getItem("user_profile") || '{}');
-
const mapped = (data || []).map((item) => ({
id: item.id,
establishment: item?.establishment?.factory_name || '-',
@@ -329,10 +325,10 @@ React.useEffect(() => {
year: String(item.year ?? '-'),
quarter: item.quarter ?? '-',
products: item?.product_count || '-',
- submittedBy: userProfile?.name || '-',
+ submittedBy: item.created_by_name || '-',
submittedAt: formatDateTime(item.created_at),
status: item.status || 'Pending',
- reviewer: userProfile?.name || '-',
+ reviewer: item.reviewer_name || '-',
reviewerOn: formatDateTime(item.updated_at || item.created_at),
}));