Skip to content

Commit 66cd958

Browse files
committed
fix
1 parent a8c2a4f commit 66cd958

3 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/backend/src/services/reimbursement-requests.services.ts

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55

66
// eslint-disable-next-line @typescript-eslint/no-unused-vars
7-
import { Reimbursement_Request, Reimbursement_Status_Type, Organization } from '@prisma/client';
7+
import { Reimbursement_Request, Reimbursement_Status_Type, Organization, Prisma } from '@prisma/client';
88
import {
99
Reimbursement,
1010
ReimbursementReceiptCreateArgs,
@@ -699,14 +699,20 @@ export default class ReimbursementRequestService {
699699
if (reimbursementRequest.organizationId !== organization.organizationId)
700700
throw new InvalidOrganizationException('Reimbursement Request');
701701

702-
const reimbursementRequestWithSaboNumber = await prisma.reimbursement_Request.update({
703-
where: { reimbursementRequestId },
704-
data: {
705-
saboId: saboNumber
702+
try {
703+
const reimbursementRequestWithSaboNumber = await prisma.reimbursement_Request.update({
704+
where: { reimbursementRequestId },
705+
data: {
706+
saboId: saboNumber
707+
}
708+
});
709+
return reimbursementRequestWithSaboNumber;
710+
} catch (error: unknown) {
711+
if (error instanceof Prisma.PrismaClientKnownRequestError && error.code === 'P2002') {
712+
throw new HttpException(400, 'This SABO number is already assigned to another reimbursement reqest.');
706713
}
707-
});
708-
709-
return reimbursementRequestWithSaboNumber;
714+
throw error;
715+
}
710716
}
711717

712718
/**

src/frontend/src/apis/finance.api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ export const getPendingAdvisorList = () => {
363363
* @param saboNumber the SABO number to set
364364
*/
365365
export const setSaboNumber = async (requestId: string, saboNumber: string) => {
366-
axios.post(apiUrls.financeSetSaboNumber(requestId), {
366+
await axios.post(apiUrls.financeSetSaboNumber(requestId), {
367367
saboNumber
368368
});
369369
};

src/frontend/src/pages/FinancePage/ReimbursementRequestDetailPage/AddSABONumberModal.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ const AddSABONumberModal = ({ modalShow, onHide, reimbursementRequestId }: AddSA
3434
const onSubmit = async (data: { saboNumber: string }) => {
3535
try {
3636
await setSaboNumber(data);
37+
onHide();
3738
} catch (error: unknown) {
3839
if (error instanceof Error) {
3940
toast.error(error.message);
4041
}
4142
}
42-
onHide();
4343
};
4444

4545
return (

0 commit comments

Comments
 (0)