diff --git a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.html b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.html index b9316605ca7ca54e449ea6f637cc8373b59ad9ee..5042661f25e743ad5b6c67f9ca9c7e3912c16eef 100755 --- a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.html +++ b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.html @@ -18,7 +18,7 @@ <mat-menu #menu="matMenu" class="docToSignTemplateMenu"> <button mat-menu-item *ngFor="let resource of resourcesToSign" (click)="openSignaturePosition(resource)" style="font-size:12px;"> - <mat-icon style="height: auto;" class="fas fa-compress-arrows-alt"></mat-icon> + <mat-icon style="height: auto;" class="fas fa-compress-arrows-alt" [class.position]="hasPositions(resource)" [class.noPosition]="!hasPositions(resource)"></mat-icon> <span> <span color="primary">{{resource.chrono}}</span> - {{resource.title}} </span> diff --git a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.scss b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.scss index fc2db684050b25766dd3b5832e5d8b98081aed44..17302b256e7203912e0441b5ba974fb274924be9 100644 --- a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.scss +++ b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.scss @@ -1,3 +1,5 @@ +@import '../../../../css/vars.scss'; + .fieldsetdContainer { position: relative; @@ -37,4 +39,12 @@ ::ng-deep.docToSignTemplateMenu.mat-menu-panel { max-width: 100% !important; +} + +.noPosition { + opacity: 0.3; +} + +.position { + color: $accent } \ No newline at end of file diff --git a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.ts b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.ts index 6e95f8c7c0e6283dc73ebd864253697ecb9d8be5..71299093f9e93cb30b96f89c3a86454a9194a59c 100644 --- a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.ts +++ b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/maarch-paraph.component.ts @@ -63,18 +63,25 @@ export class MaarchParaphComponent implements OnInit { } getDatas() { + const formatedData: any = { steps : []}; const workflow = this.appVisaWorkflow.getWorkflow(); - workflow.forEach((element: any) => { - this.externalSignatoryBookDatas.steps.push( - { - 'externalId': element.externalId.maarchParapheur, - 'action': element.requested_signature ? 'sign' : 'visa', - } - ); + this.resourcesToSign.forEach((resource: any) => { + workflow.forEach((element: any, index: number) => { + formatedData['steps'].push( + { + 'resId': resource.resId, + 'mainDocument': resource.mainDocument, + 'externalId': element.externalId.maarchParapheur, + 'sequence' : index, + 'action': element.requested_signature ? 'sign' : 'visa', + 'signaturePositions': resource.signaturePositions !== undefined ? resource.signaturePositions : [], + } + ); + }); }); - return this.externalSignatoryBookDatas; + return formatedData; } openSignaturePosition(resource: any) { @@ -101,4 +108,12 @@ export class MaarchParaphComponent implements OnInit { }) ).subscribe(); } + + hasPositions(resource: any) { + if (this.resourcesToSign.filter((itemToSign: any) => itemToSign.resId === resource.resId && itemToSign.mainDocument === resource.mainDocument)[0]['signaturePositions'] === undefined) { + return false; + } else { + return this.resourcesToSign.filter((itemToSign: any) => itemToSign.resId === resource.resId && itemToSign.mainDocument === resource.mainDocument)[0]['signaturePositions'].length > 0; + } + } } diff --git a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/signature-position/signature-position.component.scss b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/signature-position/signature-position.component.scss index 2e3a08dc4e13e1468354f73329c123d4f52b9692..dfb74242acc0d4380d918b7ecaec04437e85923e 100644 --- a/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/signature-position/signature-position.component.scss +++ b/src/frontend/app/actions/send-external-signatory-book-action/maarch-paraph/signature-position/signature-position.component.scss @@ -97,7 +97,7 @@ .signUserName { position: absolute; font-size: 10px; - bottom: -25px; + bottom: 5px; font-weight: normal; - color: $primary; + color: white; } \ No newline at end of file diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.ts b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.ts index 56a0515895f744397027e4f65a275e7a22cbfc8b..4cb4a98b8e1ba691cd0dccd469d509ac2f7f236c 100755 --- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.ts +++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.ts @@ -13,7 +13,7 @@ import { tap, finalize, catchError } from 'rxjs/operators'; import { of } from 'rxjs'; @Component({ - templateUrl: "send-external-signatory-book-action.component.html", + templateUrl: 'send-external-signatory-book-action.component.html', styleUrls: ['send-external-signatory-book-action.component.scss'], }) export class SendExternalSignatoryBookActionComponent implements OnInit { @@ -81,22 +81,6 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { return new Promise((resolve, reject) => { this.http.post(`../rest/resourcesList/users/${this.data.userId}/groups/${this.data.groupId}/baskets/${this.data.basketId}/checkExternalSignatoryBook`, { resources: this.data.resIds }).pipe( tap((data: any) => { - // FOR TEST - const test = [ - { - resId: 103, - chrono: 'MAARCH/2020A/2', - subject: 'Réponse à signer', - }, - { - resId: 104, - chrono: 'MAARCH/2020A/4', - subject: 'Réponse à signer 2', - } - ]; - test.forEach((res: any) => { - this.toggleDocToSign(true, res, false); - }); this.additionalsInfos = data.additionalsInfos; if (this.additionalsInfos.attachments.length > 0) { this.signatoryBookEnabled = data.signatureBookEnabled; @@ -105,6 +89,9 @@ export class SendExternalSignatoryBookActionComponent implements OnInit { this.resourcesMailing.push(value); } }); + data.availableResources.forEach((element: any) => { + this.toggleDocToSign(true, element, false); + }); } this.errors = data.errors; resolve(true);