diff --git a/src/frontend/app/actions/actions.service.ts b/src/frontend/app/actions/actions.service.ts index 59e795ef05b20f5aa1716deaff947b3b5cc00e92..53a9fe63983fa18cce6b20440b2faf8dff901667 100644 --- a/src/frontend/app/actions/actions.service.ts +++ b/src/frontend/app/actions/actions.service.ts @@ -560,7 +560,7 @@ export class ActionsService { processDocument(options: any = null) { this.stopRefreshResourceLock(); this.unlockResource(); - this.router.navigate([`/process/users/${this.currentUserId}/groups/${this.currentGroupId}/baskets/${this.currentBasketId}/resId/${this.currentResIds}`], { queryParams: { tab: options.defaultTab } }); + this.router.navigate([`/process/users/${this.currentUserId}/groups/${this.currentGroupId}/baskets/${this.currentBasketId}/resId/${this.currentResIds}`]); } signatureBookAction(options: any = null) { diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts index 4b2ffae231e55700f557362895f148c27a9ac405..45ddd6466cb3b359a87bec27eb0e0ec009f455c4 100644 --- a/src/frontend/app/administration/basket/list/list-administration.component.ts +++ b/src/frontend/app/administration/basket/list/list-administration.component.ts @@ -238,8 +238,11 @@ export class ListAdministrationComponent implements OnInit { this.selectedListEvent = this.basketGroup.list_event === null ? 'noEvent' : this.basketGroup.list_event; this.selectedListEventClone = this.selectedListEvent; - this.selectedProcessTool.defaultTab = this.basketGroup.list_event_data === null && this.basketGroup.list_event === 'processDocument' ? 'dashboard' : this.basketGroup.list_event_data.defaultTab; - this.selectedProcessTool.canUpdate = this.basketGroup.list_event_data === null ? false : this.basketGroup.list_event_data.canUpdate; + if (this.basketGroup.list_event === 'processDocument') { + this.selectedProcessTool.defaultTab = this.basketGroup.list_event_data === null ? 'dashboard' : this.basketGroup.list_event_data.defaultTab; + this.selectedProcessTool.canUpdate = this.basketGroup.list_event_data === null ? false : this.basketGroup.list_event_data.canUpdate; + } + this.selectedProcessToolClone = JSON.parse(JSON.stringify(this.selectedProcessTool)); this.displayedSecondaryDataClone = JSON.parse(JSON.stringify(this.displayedSecondaryData)); } diff --git a/src/frontend/app/process/process.component.html b/src/frontend/app/process/process.component.html index cc5c6f0706eb6477318d427fc207035acfb44ebd..b4f8cfbabab47c4db745866fc0baa369ab2c503c 100644 --- a/src/frontend/app/process/process.component.html +++ b/src/frontend/app/process/process.component.html @@ -91,7 +91,7 @@ [resId]="currentResourceInformations.resId" [target]="'process'" (reloadBadgeAttachments)="refreshBadge($event,'attachments')"> </app-attachments-list> <app-indexing-form *ngIf="currentTool === 'info' && !loading" #indexingForm [groupId]="currentGroupId" - [resId]="currentResourceInformations.resId" [indexingFormId]="currentResourceInformations.modelId" [mode]="'process'"></app-indexing-form> + [resId]="currentResourceInformations.resId" [indexingFormId]="currentResourceInformations.modelId" [mode]="'process'" [canEdit]="canEditData"></app-indexing-form> <button mat-raised-button *ngIf="indexingForm !== undefined && currentTool === 'info'" [disabled]="!indexingForm.isResourceModified()" (click)="confirmModification()" color="primary" [title]="lang.openInExternalModal" style="position:absolute;top:0px;"> {{lang.save}} </button> @@ -244,7 +244,7 @@ <app-attachments-list *ngIf="modal.id === 'attachments' && !loading" #appAttachmentsList [resId]="currentResourceInformations.resId" (reloadBadgeAttachments)="refreshBadge($event,'attachments')"> </app-attachments-list> - <app-indexing-form *ngIf="modal.id === 'info' && !loading" #indexingForm [groupId]="currentGroupId" [indexingFormId]="currentResourceInformations.modelId" [resId]="currentResourceInformations.resId" [mode]="'process'"> + <app-indexing-form *ngIf="modal.id === 'info' && !loading" #indexingForm [groupId]="currentGroupId" [indexingFormId]="currentResourceInformations.modelId" [resId]="currentResourceInformations.resId" [mode]="'process'" [canEdit]="canEditData"> </app-indexing-form> </div> </div> diff --git a/src/frontend/app/process/process.component.ts b/src/frontend/app/process/process.component.ts index a70ea307d6f1359337d9589fe04fb58f594f30d1..7d4ba2c613b50a7d297b822ee548c3409bbef03f 100644 --- a/src/frontend/app/process/process.component.ts +++ b/src/frontend/app/process/process.component.ts @@ -47,9 +47,7 @@ export class ProcessComponent implements OnInit { categoryUse: [] }; - currentResourceInformations: any = { - - }; + currentResourceInformations: any = {}; processTool: any[] = [ { @@ -122,6 +120,8 @@ export class ProcessComponent implements OnInit { actionEnded: boolean = false; + canEditData: boolean = false; + @ViewChild('snav', { static: true }) sidenavLeft: MatSidenav; @ViewChild('snav2', { static: true }) sidenavRight: MatSidenav; @@ -156,11 +156,6 @@ export class ProcessComponent implements OnInit { this.headerService.setHeader(this.lang.eventProcessDoc); this.route.params.subscribe(params => { - this.route.queryParams.subscribe(queryParams => { - if (queryParams['tab'] !== undefined) { - this.currentTool = queryParams['tab']; - } - }); this.currentUserId = params['userSerialId']; this.currentGroupId = params['groupSerialId']; this.currentBasketId = params['basketId']; @@ -174,6 +169,19 @@ export class ProcessComponent implements OnInit { this.loadResource(); + this.http.get(`../../rest/baskets/${this.currentBasketId}/groups/${this.currentGroupId}/listEventData`).pipe( + tap((data: any) => { + if (data.listEventData !== null) { + this.currentTool = data.listEventData.defaultTab; + this.canEditData = data.listEventData.canUpdate; + } + }), + catchError((err: any) => { + this.notify.handleErrors(err); + return of(false); + }) + ).subscribe(); + this.http.get(`../../rest/resourcesList/users/${this.currentUserId}/groups/${this.currentGroupId}/baskets/${this.currentBasketId}/actions?resId=${this.currentResourceInformations.resId}`).pipe( map((data: any) => { data.actions = data.actions.map((action: any, index: number) => {