#638 disable outcomes for readonly form

- disable outcome buttons for readonly form
- activiti-task-details now detect completed forms and make them
readonly (i.e. completed tasks filter)
This commit is contained in:
Denys Vuika
2016-09-05 14:25:42 +01:00
parent 8461a41964
commit 0f71bc1ba9
5 changed files with 11 additions and 3 deletions

View File

@@ -19,6 +19,7 @@
<div *ngIf="form.hasOutcomes()" class="mdl-card__actions mdl-card--border">
<button *ngFor="let outcome of form.outcomes"
alfresco-mdl-button
[disabled]="readOnly"
[class.mdl-button--colored]="!outcome.isSystem"
[class.activiti-form-hide-button]="!isOutcomeButtonEnabled(outcome)"
(click)="onOutcomeClicked(outcome, $event)">

View File

@@ -23,7 +23,7 @@ import {
Output,
EventEmitter
} from '@angular/core';
import { MATERIAL_DESIGN_DIRECTIVES, AlfrescoAuthenticationService } from 'ng2-alfresco-core';
import { MATERIAL_DESIGN_DIRECTIVES } from 'ng2-alfresco-core';
import { EcmModelService } from './../services/ecm-model.service';
import { FormService } from './../services/form.service';
import { NodeService } from './../services/node.service';
@@ -148,7 +148,6 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges {
constructor(private formService: FormService,
private visibilityService: WidgetVisibilityService,
private authService: AlfrescoAuthenticationService,
private ecmModelService: EcmModelService,
private nodeService: NodeService) {
}

View File

@@ -1 +0,0 @@
/widget.model.ts

View File

@@ -18,6 +18,7 @@
[showRefreshButton]="showRefreshButton"
[showCompleteButton]="showCompleteButton"
[showSaveButton]="showSaveButton"
[readOnly]="readOnly"
(formSaved)='formSavedEmitter($event)'
(formCompleted)='formCompletedEmitter($event)'
(formLoaded)='formLoadedEmitter($event)'

View File

@@ -109,6 +109,14 @@ export class ActivitiTaskDetails implements OnInit {
this.activitiTaskList.getTaskDetails(taskId).subscribe(
(res: TaskDetailsModel) => {
this.taskDetails = res;
let endDate: any = res.endDate;
if (endDate && !isNaN(endDate.getTime())) {
this.readOnly = true;
} else {
this.readOnly = false;
}
if (this.taskDetails && this.taskDetails.involvedPeople) {
this.taskDetails.involvedPeople.forEach((user) => {
this.taskPeople.push(new User(user.id, user.email, user.firstName, user.lastName));