mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ADF-4471] TaskCloud - disable editable fields when the task is unclaimed (#4680)
* [ADF-4471] TaskCloud - task header disabled when the task is unclaimed * [ADF-4471] - fix unit test * [ADF-4471] - pr changes * [ADF-4471] - add return type
This commit is contained in:
committed by
Maurizio Vitale
parent
d1bc5a608a
commit
4a363c731b
@@ -113,6 +113,11 @@ describe('Task Cloud Service', () => {
|
|||||||
expect(canCompleteTaskResult).toEqual(false);
|
expect(canCompleteTaskResult).toEqual(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should verify if the task is editable', () => {
|
||||||
|
const isTaskEditable = service.isTaskEditable(assignedTaskDetailsCloudMock);
|
||||||
|
expect(isTaskEditable).toEqual(true);
|
||||||
|
});
|
||||||
|
|
||||||
it('should complete task with owner as null', async(() => {
|
it('should complete task with owner as null', async(() => {
|
||||||
const appName = 'simple-app';
|
const appName = 'simple-app';
|
||||||
const taskId = '68d54a8f';
|
const taskId = '68d54a8f';
|
||||||
|
@@ -76,8 +76,16 @@ export class TaskCloudService extends BaseCloudService {
|
|||||||
* @returns Boolean value if the task can be completed
|
* @returns Boolean value if the task can be completed
|
||||||
*/
|
*/
|
||||||
canCompleteTask(taskDetails: TaskDetailsCloudModel): boolean {
|
canCompleteTask(taskDetails: TaskDetailsCloudModel): boolean {
|
||||||
const currentUser = this.identityUserService.getCurrentUserInfo().username;
|
return taskDetails && taskDetails.isAssigned() && this.isAssignedToMe(taskDetails.assignee);
|
||||||
return taskDetails && taskDetails.assignee && taskDetails.assignee === currentUser && taskDetails.isAssigned();
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Validate if a task is editable.
|
||||||
|
* @param taskDetails task details object
|
||||||
|
* @returns Boolean value if the task is editable
|
||||||
|
*/
|
||||||
|
isTaskEditable(taskDetails: TaskDetailsCloudModel): boolean {
|
||||||
|
return taskDetails && taskDetails.isAssigned() && this.isAssignedToMe(taskDetails.assignee);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -211,6 +219,11 @@ export class TaskCloudService extends BaseCloudService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private isAssignedToMe(assignee: string): boolean {
|
||||||
|
const currentUser = this.identityUserService.getCurrentUserInfo().username;
|
||||||
|
return assignee === currentUser;
|
||||||
|
}
|
||||||
|
|
||||||
private buildCompleteTaskUrl(appName: string, taskId: string): string {
|
private buildCompleteTaskUrl(appName: string, taskId: string): string {
|
||||||
return `${this.getBasePath(appName)}/rb/v1/tasks/${taskId}/complete`;
|
return `${this.getBasePath(appName)}/rb/v1/tasks/${taskId}/complete`;
|
||||||
}
|
}
|
||||||
|
@@ -5,9 +5,8 @@
|
|||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
<adf-card-view
|
<adf-card-view
|
||||||
[properties]="properties"
|
[properties]="properties"
|
||||||
[editable]="!taskDetails.isCompleted()">
|
[editable]="isTaskEditable()">
|
||||||
</adf-card-view>
|
</adf-card-view>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@@ -230,14 +230,18 @@ export class TaskHeaderCloudComponent implements OnInit, OnDestroy {
|
|||||||
return !!this.taskDetails.assignee ? true : false;
|
return !!this.taskDetails.assignee ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
isTaskValid() {
|
isTaskValid(): boolean {
|
||||||
return (this.appName || this.appName === '') && this.taskId;
|
return (this.appName || this.appName === '') && !!this.taskId;
|
||||||
}
|
}
|
||||||
|
|
||||||
isTaskAssigned() {
|
isTaskAssigned(): boolean {
|
||||||
return this.taskDetails.assignee !== undefined;
|
return this.taskDetails.assignee !== undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isTaskEditable(): boolean {
|
||||||
|
return this.taskCloudService.isTaskEditable(this.taskDetails);
|
||||||
|
}
|
||||||
|
|
||||||
private isValidSelection(filteredProperties: string[], cardItem: CardViewBaseItemModel): boolean {
|
private isValidSelection(filteredProperties: string[], cardItem: CardViewBaseItemModel): boolean {
|
||||||
return filteredProperties ? filteredProperties.indexOf(cardItem.key) >= 0 : true;
|
return filteredProperties ? filteredProperties.indexOf(cardItem.key) >= 0 : true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user