#1031 - Check the value of old forms in process variables

This commit is contained in:
Vito Albano
2016-12-16 13:08:38 +00:00
parent c6c5a39a85
commit 12c4de2c1e
7 changed files with 22 additions and 35 deletions

View File

@@ -280,7 +280,7 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges {
loadForm() { loadForm() {
if (this.taskId) { if (this.taskId) {
this.getFormByTaskId(this.taskId); this.getFormByTaskId(this.taskId);
this.visibilityService.getTaskProcessVariable(this.taskId); this.visibilityService.getTaskProcessVariable(this.taskId).subscribe();
return; return;
} }
@@ -411,7 +411,7 @@ export class ActivitiForm implements OnInit, AfterViewChecked, OnChanges {
*/ */
getFormDefinitionOutcomes(form: FormModel): FormOutcomeModel[] { getFormDefinitionOutcomes(form: FormModel): FormOutcomeModel[] {
return [ return [
new FormOutcomeModel(form, {id: '$custom', name: FormOutcomeModel.SAVE_ACTION, isSystem: true}) new FormOutcomeModel(form, { id: '$custom', name: FormOutcomeModel.SAVE_ACTION, isSystem: true })
]; ];
} }

View File

@@ -38,7 +38,7 @@ describe('DisplayValueWidget', () => {
beforeEach(() => { beforeEach(() => {
settingsService = new AlfrescoSettingsService(); settingsService = new AlfrescoSettingsService();
formService = new FormService(null, null); formService = new FormService(null, null);
visibilityService = new WidgetVisibilityService(null, null, null); visibilityService = new WidgetVisibilityService(null);
widget = new DisplayValueWidget(formService, visibilityService, settingsService); widget = new DisplayValueWidget(formService, visibilityService, settingsService);
}); });

View File

@@ -34,7 +34,7 @@ describe('DropdownWidget', () => {
beforeEach(() => { beforeEach(() => {
formService = new FormService(null, null); formService = new FormService(null, null);
visibilityService = new WidgetVisibilityService(null, null, null); visibilityService = new WidgetVisibilityService(null);
widget = new DropdownWidget(formService, visibilityService); widget = new DropdownWidget(formService, visibilityService);
widget.field = new FormFieldModel(new FormModel()); widget.field = new FormFieldModel(new FormModel());
}); });

View File

@@ -28,7 +28,7 @@ describe('DynamicTableWidget', () => {
beforeEach(() => { beforeEach(() => {
table = new DynamicTableModel(null); table = new DynamicTableModel(null);
visibilityService = new WidgetVisibilityService(null, null, null); visibilityService = new WidgetVisibilityService(null);
widget = new DynamicTableWidget(null, visibilityService); widget = new DynamicTableWidget(null, visibilityService);
widget.content = table; widget.content = table;
}); });

View File

@@ -36,7 +36,7 @@ describe('RadioButtonsWidget', () => {
beforeEach(() => { beforeEach(() => {
formService = new FormService(null, null); formService = new FormService(null, null);
visibilityService = new WidgetVisibilityService(null, null, null); visibilityService = new WidgetVisibilityService(null);
widget = new RadioButtonsWidget(formService, visibilityService); widget = new RadioButtonsWidget(formService, visibilityService);
widget.field = new FormFieldModel(new FormModel(), { restUrl: '<url>' }); widget.field = new FormFieldModel(new FormModel(), { restUrl: '<url>' });
}); });

View File

@@ -35,7 +35,7 @@ describe('TypeaheadWidget', () => {
beforeEach(() => { beforeEach(() => {
formService = new FormService(null, null); formService = new FormService(null, null);
visibilityService = new WidgetVisibilityService(null, null, null); visibilityService = new WidgetVisibilityService(null);
widget = new TypeaheadWidget(formService, visibilityService); widget = new TypeaheadWidget(formService, visibilityService);
widget.field = new FormFieldModel(new FormModel({ taskId: 'task-id' })); widget.field = new FormFieldModel(new FormModel({ taskId: 'task-id' }));
}); });

View File

@@ -16,9 +16,8 @@
*/ */
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { Response, Http, Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs/Rx'; import { Observable } from 'rxjs/Rx';
import { AlfrescoSettingsService, AlfrescoAuthenticationService } from 'ng2-alfresco-core'; import { AlfrescoApiService } from 'ng2-alfresco-core';
import { import {
FormModel, FormModel,
FormFieldModel, FormFieldModel,
@@ -35,9 +34,7 @@ export class WidgetVisibilityService {
private processVarList: TaskProcessVariableModel[]; private processVarList: TaskProcessVariableModel[];
constructor(private http: Http, constructor(private apiService: AlfrescoApiService) {
private alfrescoSettingsService: AlfrescoSettingsService,
private authService: AlfrescoAuthenticationService) {
} }
public refreshVisibility(form: FormModel) { public refreshVisibility(form: FormModel) {
@@ -80,10 +77,14 @@ export class WidgetVisibilityService {
} }
getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { getLeftValue(form: FormModel, visibilityObj: WidgetVisibilityModel) {
let leftValue = '';
if (visibilityObj.leftRestResponseId && visibilityObj.leftRestResponseId !== 'null') { if (visibilityObj.leftRestResponseId && visibilityObj.leftRestResponseId !== 'null') {
return this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList); leftValue = this.getVariableValue(form, visibilityObj.leftRestResponseId, this.processVarList);
} else {
leftValue = this.getFormValue(form, visibilityObj.leftFormFieldId);
leftValue = leftValue ? leftValue : this.getVariableValue(form, visibilityObj.leftFormFieldId, this.processVarList);
} }
return this.getFormValue(form, visibilityObj.leftFormFieldId); return leftValue;
} }
getRightValue(form: FormModel, visibilityObj: WidgetVisibilityModel) { getRightValue(form: FormModel, visibilityObj: WidgetVisibilityModel) {
@@ -231,29 +232,15 @@ export class WidgetVisibilityService {
} }
getTaskProcessVariable(taskId: string): Observable<TaskProcessVariableModel[]> { getTaskProcessVariable(taskId: string): Observable<TaskProcessVariableModel[]> {
let url = `${this.alfrescoSettingsService.getBPMApiBaseUrl()}/app/rest/task-forms/${taskId}/variables`; return Observable.fromPromise(this.apiService.getInstance().activiti.taskFormsApi.getTaskFormVariables(taskId))
let options = this.getRequestOptions(); .map((response: TaskProcessVariableModel[]) => {
return this.http this.processVarList = response;
.get(url, options) })
.map((response: Response) => this.processVarList = <TaskProcessVariableModel[]> response.json())
.catch(this.handleError); .catch(this.handleError);
} }
private getHeaders(): Headers { private handleError() {
return new Headers({ console.error('Error while performing a call');
'Accept': 'application/json', return Observable.throw('Error while performing a call - Server error');
'Content-Type': 'application/json',
'Authorization': this.authService.getTicketBpm()
});
}
private getRequestOptions(): RequestOptions {
let headers = this.getHeaders();
return new RequestOptions({headers: headers});
}
private handleError(error: Response) {
console.error(error);
return Observable.throw(error.json().error || 'Server error');
} }
} }