Skip to content

Commit 3e9c486

Browse files
authored
Merge pull request #307 from netgrif/NAE-2231
[NAE-2231] Unable to change behavior of taskRef on finish event witho…
2 parents c56661c + a7853f0 commit 3e9c486

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

projects/netgrif-components-core/src/lib/event/model/event-outcomes/task-outcomes/finish-task-event-outcome.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ import {TaskEventOutcome} from './task-event-outcome';
22

33
// eslint-disable-next-line @typescript-eslint/no-empty-interface
44
export interface FinishTaskEventOutcome extends TaskEventOutcome {
5-
5+
isTaskStillExecutable?: boolean;
66
}

projects/netgrif-components-core/src/lib/resources/interface/task.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,6 @@ export interface Task {
7070
delegateTitle?: string;
7171
immediateData?: Array<ImmediateData>;
7272
assignedUserPolicy?: AssignedUserPolicy;
73+
74+
isStillExecutable?: boolean;
7375
}

projects/netgrif-components-core/src/lib/task-content/services/task-content.service.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,11 +206,12 @@ export abstract class TaskContentService implements OnDestroy {
206206
/**
207207
* Clears the assignee, start date and finish date from the managed Task.
208208
*/
209-
public updateStateData(eventOutcome: TaskEventOutcome): void {
209+
public updateStateData(eventOutcome: TaskEventOutcome, isStillExecutable: boolean = true): void {
210210
if (this._task) {
211211
this._task.user = eventOutcome.task.user;
212212
this._task.startDate = eventOutcome.task.startDate;
213213
this._task.finishDate = eventOutcome.task.finishDate;
214+
this._task.isStillExecutable = isStillExecutable;
214215
}
215216
}
216217

@@ -235,7 +236,7 @@ export abstract class TaskContentService implements OnDestroy {
235236
}
236237

237238
protected updateField(chFields: ChangedFields, field: DataField<any>, frontendActions: Change, referenced: boolean = false): void {
238-
if (this._fieldConverterService.resolveType(field) === FieldTypeResource.TASK_REF) {
239+
if (this._fieldConverterService.resolveType(field) === FieldTypeResource.TASK_REF && (!!this._task?.isStillExecutable || this._task?.isStillExecutable === undefined)) {
239240
this._taskDataReloadRequest$.next(frontendActions ? frontendActions : undefined);
240241
return;
241242
}

projects/netgrif-components-core/src/lib/task/services/finish-task.service.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ export class FinishTaskService extends TaskHandlingService {
133133
}
134134

135135
if (outcomeResource.success) {
136-
this._taskContentService.updateStateData(outcomeResource.outcome as FinishTaskEventOutcome);
136+
const outcome = outcomeResource.outcome as FinishTaskEventOutcome
137+
this._taskContentService.updateStateData(outcome, outcome.isTaskStillExecutable);
137138
const changedFieldsMap: ChangedFieldsMap = this._eventService
138139
.parseChangedFieldsFromOutcomeTree(outcomeResource.outcome);
139140
if (!!changedFieldsMap) {

0 commit comments

Comments
 (0)