only show task instruction text if process instance is active and display the view button if instance is suspended
This commit is contained in:
parent
03e62c7445
commit
de3358a276
|
@ -1578,32 +1578,38 @@ export default function ProcessInstanceListTable({
|
||||||
headers.push('Action');
|
headers.push('Action');
|
||||||
}
|
}
|
||||||
|
|
||||||
const rows = processInstances.map((row: ProcessInstance) => {
|
const rows = processInstances.map((processInstance: ProcessInstance) => {
|
||||||
const currentRow = reportColumns().map((column: ReportColumn) => {
|
const currentRow = reportColumns().map((column: ReportColumn) => {
|
||||||
return formattedColumn(row, column);
|
return formattedColumn(processInstance, column);
|
||||||
});
|
});
|
||||||
if (showActionsColumn) {
|
if (showActionsColumn) {
|
||||||
let buttonElement = null;
|
let buttonElement = null;
|
||||||
const interstitialUrl = `/process/${modifyProcessIdentifierForPathParam(
|
const interstitialUrl = `/process/${modifyProcessIdentifierForPathParam(
|
||||||
row.process_model_identifier
|
processInstance.process_model_identifier
|
||||||
)}/${row.id}/interstitial`;
|
)}/${processInstance.id}/interstitial`;
|
||||||
const regex = new RegExp(`\\b(${preferredUsername}|${userEmail})\\b`);
|
const regex = new RegExp(`\\b(${preferredUsername}|${userEmail})\\b`);
|
||||||
let hasAccessToCompleteTask = false;
|
let hasAccessToCompleteTask = false;
|
||||||
if (
|
if (
|
||||||
canCompleteAllTasks ||
|
canCompleteAllTasks ||
|
||||||
(row.potential_owner_usernames || '').match(regex)
|
(processInstance.potential_owner_usernames || '').match(regex)
|
||||||
) {
|
) {
|
||||||
hasAccessToCompleteTask = true;
|
hasAccessToCompleteTask = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let buttonText = 'View';
|
||||||
|
let buttonKind = 'ghost';
|
||||||
|
if (
|
||||||
|
processInstance.status !== 'suspended' &&
|
||||||
|
hasAccessToCompleteTask &&
|
||||||
|
processInstance.task_id
|
||||||
|
) {
|
||||||
|
buttonText = 'Go';
|
||||||
|
buttonKind = 'secondary';
|
||||||
|
}
|
||||||
|
|
||||||
buttonElement = (
|
buttonElement = (
|
||||||
<Button
|
<Button kind={buttonKind} href={interstitialUrl}>
|
||||||
kind={
|
{buttonText}
|
||||||
hasAccessToCompleteTask && row.task_id ? 'secondary' : 'ghost'
|
|
||||||
}
|
|
||||||
href={interstitialUrl}
|
|
||||||
>
|
|
||||||
{hasAccessToCompleteTask && row.task_id ? 'Go' : 'View'}
|
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
currentRow.push(<td>{buttonElement}</td>);
|
currentRow.push(<td>{buttonElement}</td>);
|
||||||
|
@ -1611,18 +1617,18 @@ export default function ProcessInstanceListTable({
|
||||||
|
|
||||||
const rowStyle = { cursor: 'pointer' };
|
const rowStyle = { cursor: 'pointer' };
|
||||||
const modifiedModelId = modifyProcessIdentifierForPathParam(
|
const modifiedModelId = modifyProcessIdentifierForPathParam(
|
||||||
row.process_model_identifier
|
processInstance.process_model_identifier
|
||||||
);
|
);
|
||||||
const navigateToProcessInstance = () => {
|
const navigateToProcessInstance = () => {
|
||||||
navigate(
|
navigate(
|
||||||
`${processInstanceShowPathPrefix}/${modifiedModelId}/${row.id}`
|
`${processInstanceShowPathPrefix}/${modifiedModelId}/${processInstance.id}`
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
return (
|
return (
|
||||||
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
||||||
<tr
|
<tr
|
||||||
style={rowStyle}
|
style={rowStyle}
|
||||||
key={row.id}
|
key={processInstance.id}
|
||||||
onClick={navigateToProcessInstance}
|
onClick={navigateToProcessInstance}
|
||||||
onKeyDown={navigateToProcessInstance}
|
onKeyDown={navigateToProcessInstance}
|
||||||
>
|
>
|
||||||
|
|
|
@ -147,22 +147,24 @@ export default function ProcessInterstitial() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const userMessage = (myTask: ProcessInstanceTask) => {
|
const userMessage = (myTask: ProcessInstanceTask) => {
|
||||||
if (!myTask.can_complete && userTasks.includes(myTask.type)) {
|
if (!processInstance || processInstance.status === 'completed') {
|
||||||
return (
|
if (!myTask.can_complete && userTasks.includes(myTask.type)) {
|
||||||
<>
|
return (
|
||||||
<h4 className="heading-compact-01">Waiting on Someone Else</h4>
|
<>
|
||||||
<p>
|
<h4 className="heading-compact-01">Waiting on Someone Else</h4>
|
||||||
This next task is assigned to a different person or team. There is
|
<p>
|
||||||
no action for you to take at this time.
|
This next task is assigned to a different person or team. There is
|
||||||
</p>
|
no action for you to take at this time.
|
||||||
</>
|
</p>
|
||||||
);
|
</>
|
||||||
}
|
);
|
||||||
if (shouldRedirect(myTask)) {
|
}
|
||||||
return <div>Redirecting you to the next task now ...</div>;
|
if (shouldRedirect(myTask)) {
|
||||||
}
|
return <div>Redirecting you to the next task now ...</div>;
|
||||||
if (myTask.error_message) {
|
}
|
||||||
return <div>{myTask.error_message}</div>;
|
if (myTask.error_message) {
|
||||||
|
return <div>{myTask.error_message}</div>;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let message =
|
let message =
|
||||||
|
|
Loading…
Reference in New Issue