added debugging on the admin confirm
All checks were successful
Build frontend / build (push) Successful in 41s

This commit is contained in:
mouazkh
2026-04-16 22:33:19 +03:00
parent 7e9a9d79f2
commit beccd8b24f
2 changed files with 63 additions and 8 deletions

View File

@ -1177,12 +1177,6 @@ const RequestCard = ({ request, onConfirmDeposit, onViewDetails, confirmingDepos
)}
</div>
{canConfirmDeposit && (
<div className="rounded-xl bg-indigo-50 px-4 py-3 text-sm text-indigo-800">
يظهر زر تأكيد العربون فقط عندما تكون حالة الحجز <span className="font-bold">depositPaid (2)</span>.
</div>
)}
{Number(request.status) === RESERVATION_STATUS.depositConfirmed && (
<div className="rounded-xl bg-green-50 px-4 py-3 text-sm text-green-800">
تم تأكيد العربون من قبل الإدارة.
@ -1372,11 +1366,21 @@ export default function BookingRequests() {
const handleDepositConfirmation = async (request) => {
if (!AuthService.isAdmin()) {
console.warn('[Admin] Deposit confirmation blocked: current user is not admin', {
user: AuthService.getUser(),
roles: AuthService.getRoles?.(),
request,
});
toast.error('هذا الإجراء متاح للإدارة فقط');
return;
}
if (Number(request?.status) !== RESERVATION_STATUS.depositPaid) {
console.warn('[Admin] Deposit confirmation blocked: reservation is not in depositPaid state', {
requestId: request?.id,
reservationId: request?.reservationId,
status: request?.status,
});
toast.error('يمكن تأكيد العربون فقط عندما تكون الحالة depositPaid');
return;
}
@ -1391,7 +1395,25 @@ export default function BookingRequests() {
const parsedAdminId = Number(adminUser?.id);
const adminId = Number.isFinite(parsedAdminId) ? parsedAdminId : adminUser?.id;
console.log('[Admin] Preparing admin confirm deposit request', {
requestId: request?.id,
reservationId,
adminId,
adminUser,
status: request?.status,
endpoint: '/Reservations/AdminConfirmDeposit/admin-confirm-deposit',
payload: {
reservationId,
adminId,
comment: null,
},
});
if (adminId == null || adminId === '') {
console.warn('[Admin] Deposit confirmation blocked: adminId is missing', {
adminUser,
parsedAdminId,
});
toast.error('لم نتمكن من تحديد هوية المدير');
return;
}
@ -1401,6 +1423,15 @@ export default function BookingRequests() {
try {
const result = await adminConfirmDeposit(reservationId, adminId, null);
console.log('[Admin] Deposit confirmation response', {
requestId: request?.id,
reservationId,
status: result?.status,
ok: result?.ok,
message: result?.message,
data: result?.data,
});
if (!result.ok) {
throw new Error(result.message || result.data?.message || `HTTP ${result.status}`);
}