Skip to content

Commit 53744be

Browse files
Fix xpress workflow (#1620)
2 parents 6467114 + 9ed809f commit 53744be

4 files changed

Lines changed: 36 additions & 9 deletions

File tree

apps/backend/src/queries/StatusActionQueries.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default class StatusActionQueries {
2828
public emailTemplateDataSource: EmailTemplateDataSource
2929
) {}
3030

31-
@Authorized([Roles.USER_OFFICER])
31+
@Authorized([Roles.USER_OFFICER, Roles.INSTRUMENT_SCIENTIST])
3232
async getStatusAction(agent: UserWithRole | null, actionId: number) {
3333
const statusAction = await this.dataSource.getStatusAction(actionId);
3434

@@ -42,15 +42,15 @@ export default class StatusActionQueries {
4242
return statusActions;
4343
}
4444

45-
@Authorized([Roles.USER_OFFICER])
45+
@Authorized([Roles.USER_OFFICER, Roles.INSTRUMENT_SCIENTIST])
4646
async getConnectionStatusActions(
4747
agent: UserWithRole | null,
4848
{ workflowConnectionId }: { workflowConnectionId: number }
4949
) {
5050
return this.dataSource.getConnectionStatusActions(workflowConnectionId);
5151
}
5252

53-
@Authorized([Roles.USER_OFFICER])
53+
@Authorized([Roles.USER_OFFICER, Roles.INSTRUMENT_SCIENTIST])
5454
async getStatusActionConfig(
5555
agent: UserWithRole | null,
5656
statusAction: StatusAction

apps/backend/src/queries/WorkflowQueries.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default class WorkflowQueries {
1717
public emailService: MailService
1818
) {}
1919

20-
@Authorized([Roles.USER_OFFICER])
20+
@Authorized([Roles.USER_OFFICER, Roles.INSTRUMENT_SCIENTIST])
2121
async getWorkflow(
2222
agent: UserWithRole | null,
2323
id: number,

apps/frontend/src/components/techniqueProposal/TechniqueProposalTable.tsx

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -333,13 +333,15 @@ const TechniqueProposalTable = ({ confirm }: { confirm: WithConfirmType }) => {
333333

334334
const updateProposalStatus = async (
335335
proposalPk: number,
336-
workflowStatusId: number
336+
workflowStatusId: number,
337+
statusActionsWorkflowConnectionId?: number
337338
): Promise<void> => {
338339
await api({
339340
toastSuccessMessage: 'Proposal status updated successfully!',
340341
}).changeTechniqueProposalsStatus({
341342
workflowStatusId: workflowStatusId,
342343
proposalPks: [proposalPk],
344+
statusActionsWorkflowConnectionId,
343345
});
344346

345347
refreshTableData();
@@ -619,10 +621,33 @@ const TechniqueProposalTable = ({ confirm }: { confirm: WithConfirmType }) => {
619621
'Selected workflow status not found'
620622
);
621623
}
622-
updateProposalStatus(
623-
rowData.primaryKey,
624-
selectedWorkflowStatus.workflowStatusId
625-
);
624+
625+
return api()
626+
.getWorkflow({
627+
workflowId: rowData.workflowId,
628+
entityType: WorkflowType.PROPOSAL,
629+
})
630+
.then(({ workflow }) => {
631+
const connectionsWithActions =
632+
workflow?.connections.filter(
633+
(conn) =>
634+
conn.nextWorkflowStatusId ===
635+
selectedWorkflowStatus.workflowStatusId &&
636+
conn.statusActions &&
637+
conn.statusActions.length > 0
638+
) || [];
639+
640+
const statusActionsWorkflowConnectionId =
641+
connectionsWithActions.length === 1
642+
? connectionsWithActions[0].id
643+
: undefined;
644+
645+
updateProposalStatus(
646+
rowData.primaryKey,
647+
selectedWorkflowStatus.workflowStatusId,
648+
statusActionsWorkflowConnectionId
649+
);
650+
});
626651
});
627652
},
628653
{
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
mutation changeTechniqueProposalsStatus(
22
$proposalPks: [Int!]!
33
$workflowStatusId: Int!
4+
$statusActionsWorkflowConnectionId: Int
45
) {
56
changeTechniqueProposalsStatus(
67
changeProposalsStatusInput: {
78
proposalPks: $proposalPks
89
workflowStatusId: $workflowStatusId
10+
statusActionsWorkflowConnectionId: $statusActionsWorkflowConnectionId
911
}
1012
)
1113
}

0 commit comments

Comments
 (0)