From cbab4cb65b539325cd504014c37d00e3c3fce157 Mon Sep 17 00:00:00 2001 From: Damien <damien.burel@maarch.org> Date: Mon, 17 Feb 2020 10:52:12 +0100 Subject: [PATCH] FEAT #13199 TIME 1:00 End modal redirect contact --- rest/index.php | 2 +- src/core/controllers/AutoCompleteController.php | 2 +- .../group/contacts-group-administration.component.ts | 2 +- ...list-administration-redirect-modal.component.html | 12 ++++++------ .../list/contacts-list-administration.component.ts | 2 +- src/frontend/app/profile.component.ts | 2 +- src/frontend/lang/lang-en.ts | 4 ++++ src/frontend/lang/lang-fr.ts | 4 ++++ src/frontend/lang/lang-nl.ts | 4 ++++ test/unitTests/core/AutocompleteControllerTest.php | 2 +- 10 files changed, 24 insertions(+), 12 deletions(-) diff --git a/rest/index.php b/rest/index.php index fbd7d71ae3c..b8f967d7a68 100755 --- a/rest/index.php +++ b/rest/index.php @@ -87,7 +87,7 @@ $app->get('/attachmentsTypes', \Attachment\controllers\AttachmentController::cla $app->get('/autocomplete/users', \SrcCore\controllers\AutoCompleteController::class . ':getUsers'); $app->get('/autocomplete/maarchParapheurUsers', \SrcCore\controllers\AutoCompleteController::class . ':getMaarchParapheurUsers'); $app->get('/autocomplete/correspondents', \SrcCore\controllers\AutoCompleteController::class . ':getCorrespondents'); -$app->get('/autocomplete/contacts/groups', \SrcCore\controllers\AutoCompleteController::class . ':getContactsForGroups'); +$app->get('/autocomplete/contacts', \SrcCore\controllers\AutoCompleteController::class . ':getContacts'); $app->get('/autocomplete/contacts/company', \SrcCore\controllers\AutoCompleteController::class . ':getContactsCompany'); $app->get('/autocomplete/users/administration', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForAdministration'); $app->get('/autocomplete/users/circuit', \SrcCore\controllers\AutoCompleteController::class . ':getUsersForCircuit'); diff --git a/src/core/controllers/AutoCompleteController.php b/src/core/controllers/AutoCompleteController.php index 676a1e6d457..973deb0aafd 100755 --- a/src/core/controllers/AutoCompleteController.php +++ b/src/core/controllers/AutoCompleteController.php @@ -543,7 +543,7 @@ class AutoCompleteController return $response->withJson($data); } - public static function getContactsForGroups(Request $request, Response $response) + public static function getContacts(Request $request, Response $response) { $data = $request->getQueryParams(); diff --git a/src/frontend/app/administration/contact/group/contacts-group-administration.component.ts b/src/frontend/app/administration/contact/group/contacts-group-administration.component.ts index 56cbd9fab56..4f98ec3f669 100644 --- a/src/frontend/app/administration/contact/group/contacts-group-administration.component.ts +++ b/src/frontend/app/administration/contact/group/contacts-group-administration.component.ts @@ -110,7 +110,7 @@ export class ContactsGroupAdministrationComponent implements OnInit { debounceTime(500), filter(value => value.length > 2), distinctUntilChanged(), - switchMap(data => this.http.get('../../rest/autocomplete/contacts/groups', { params: { "search": data } })) + switchMap(data => this.http.get('../../rest/autocomplete/contacts', { params: { "search": data } })) ).subscribe((response: any) => { this.searchResult = response; this.dataSource = new MatTableDataSource(this.searchResult); diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html index 90b4cd45af7..6e103ebf3e8 100644 --- a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html +++ b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html @@ -1,4 +1,4 @@ -<h1 mat-dialog-title>{{lang.redirects}}</h1> +<h1 mat-dialog-title>{{lang.contactsReassign}}</h1> <mat-dialog-content style="overflow:inherit;"> <form #redirectConfForm="ngForm"> <div class="modal-body"> @@ -9,23 +9,23 @@ <mat-radio-group id="processMode" name="processMode" style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" color="primary"> <mat-radio-button value="delete" color="primary"> - {{lang.delete}} + {{lang.deleteContactwithtoutReassign}} </mat-radio-button> <mat-radio-button value="reaffect" color="primary"> {{lang.reaffectContactRedirect}} </mat-radio-button> </mat-radio-group> - <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts" [routeDatas]="['/rest/autocomplete/correspondents?noUsers=true&noEntities=true&noContactsGroups=true']" [targetSearchKey]="'firstname'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> + <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts" [routeDatas]="['/rest/autocomplete/contacts']" [targetSearchKey]="'contact'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete> <div *ngIf="this.processMode" class="alert-message alert-message-info" role="alert" style="max-width: inherit;"> - <span *ngIf="this.processMode == 'delete'"><em>{{lang.delete}}</em></span> - <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffect}}</em></span> + <span *ngIf="this.processMode == 'delete'"><em>{{lang.deleteContactInformations}}</em></span> + <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectContactInformations}}</em></span> </div> </div> </div> <mat-dialog-actions> <button mat-raised-button color="primary" type="submit" [disabled]="!this.redirectContact && this.processMode == 'reaffect'" - (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.validate}}</button> + (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.delete}}</button> </mat-dialog-actions> </form> </mat-dialog-content> diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts index 45c045cb4ff..7fa23144154 100644 --- a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts +++ b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts @@ -146,7 +146,7 @@ export class ContactsListAdministrationComponent implements OnInit { this.dialogRef.afterClosed().subscribe((result: any) => { var queryparams = ''; if (result.processMode == 'reaffect') { - queryparams = '?contact=' + result.contactId; + queryparams = '?redirect=' + result.contactId; } this.http.request('DELETE', `../../rest/contacts/${contact.id}${queryparams}`) .subscribe(() => { diff --git a/src/frontend/app/profile.component.ts b/src/frontend/app/profile.component.ts index 621f7b29e8c..479ee1cabd6 100755 --- a/src/frontend/app/profile.component.ts +++ b/src/frontend/app/profile.component.ts @@ -178,7 +178,7 @@ export class ProfileComponent implements OnInit { debounceTime(500), filter(value => value.length > 2), distinctUntilChanged(), - switchMap(data => this.http.get('../../rest/autocomplete/contacts/groups', { params: { "search": data } })) + switchMap(data => this.http.get('../../rest/autocomplete/contacts', { params: { "search": data } })) ).subscribe((response: any) => { this.searchResult = response; this.dataSourceContactsListAutocomplete = new MatTableDataSource(this.searchResult); diff --git a/src/frontend/lang/lang-en.ts b/src/frontend/lang/lang-en.ts index 6bd3d3603a3..f5cfa96a8d3 100755 --- a/src/frontend/lang/lang-en.ts +++ b/src/frontend/lang/lang-en.ts @@ -1493,10 +1493,14 @@ export const LANG_EN = { "cannotCloseMails" : "Some mails cannot be closed", "followingFieldsAreEmpty" : "Following fields are empty", "checkEmptyFields" : "Requisite fields to make this action", + "contactsReassign" : "Contacts reassign", "contactLinkedToMails" : "Contact linked to mails", "reaffect" : "Reaffect", "reaffectContactRedirect" : "Reaffect to a contact", "contactReplacement" : "Replacement contact", + "deleteContactwithtoutReassign" : "Delete contact without reassign", + "deleteContactInformations" : "Links between contact and resources, attachments or acknowledgement receipts will be deleted.", + "reaffectContactInformations" : "Links between contact and resources, attachments or acknowledgement receipts will be reassigned to choosen contact.", "availableContacts" : "Available contact", "sent" : "Sent", "notSent" : "Not sent", diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index c8b72172793..3d78c6e924b 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1534,10 +1534,14 @@ export const LANG_FR = { "cannotCloseMails" : "Certains courriers ne peuvent pas être clôturés", "followingFieldsAreEmpty" : "Les champs suivants sont vides", "checkEmptyFields" : "Champs requis pour effectuer cette action", + "contactsReassign" : "Réaffectation de contacts", "contactLinkedToMails" : "Ce contact est lié à des courriers", "reaffect" : "Réaffecter", "reaffectContactRedirect" : "Réaffecter à un contact", "contactReplacement" : "Contact remplaçant", + "deleteContactwithtoutReassign" : "Supprimer le contact sans le remplacer", + "deleteContactInformations" : "Les différents liens entre le contact et les courriers, pièce-jointes ou accusés de réceptions seront supprimés.", + "reaffectContactInformations" : "Les différents liens entre le contact et les courriers, pièce-jointes ou accusés de réceptions seront réaffecter au nouveau contact choisi.", "availableContacts" : "Contact(s) disponible(s)", "sent" : "Envoyé", "notSent" : "Non envoyé", diff --git a/src/frontend/lang/lang-nl.ts b/src/frontend/lang/lang-nl.ts index 0ac9ed47c4d..b175f7a32b3 100755 --- a/src/frontend/lang/lang-nl.ts +++ b/src/frontend/lang/lang-nl.ts @@ -1518,10 +1518,14 @@ export const LANG_NL = { "cannotCloseMails" : "Some mails cannot be closed", //_TO_TRANSLATE "followingFieldsAreEmpty" : "Following fields are empty", //_TO_TRANSLATE "checkEmptyFields" : "Requisite fields to make this action", //_TO_TRANSLATE + "contactsReassign" : "Contacts reassign",//_TO_TRANSLATE "contactLinkedToMails" : "Contact linked to mails", //_TO_TRANSLATE "reaffect" : "Reaffect", //_TO_TRANSLATE "reaffectContactRedirect" : "Reaffect to a contact", //_TO_TRANSLATE "contactReplacement" : "Replacement contact", //_TO_TRANSLATE + "deleteContactwithtoutReassign" : "Delete contact without reassign", //_TO_TRANSLATE + "deleteContactInformations" : "Links between contact and resources, attachments or acknowledgement receipts will be deleted.",//_TO_TRANSLATE + "reaffectContactInformations" : "Links between contact and resources, attachments or acknowledgement receipts will be reassigned to choosen contact.",//_TO_TRANSLATE "availableContacts" : "Available contact", //_TO_TRANSLATE "sent" : "Sent", //_TO_TRANSLATE "notSent" : "Not sent", //_TO_TRANSLATE diff --git a/test/unitTests/core/AutocompleteControllerTest.php b/test/unitTests/core/AutocompleteControllerTest.php index 4e11063f73d..da13ac2aa20 100755 --- a/test/unitTests/core/AutocompleteControllerTest.php +++ b/test/unitTests/core/AutocompleteControllerTest.php @@ -27,7 +27,7 @@ class AutocompleteControllerTest extends TestCase ]; $fullRequest = $request->withQueryParams($aArgs); - $response = $autocompleteController->getContactsForGroups($fullRequest, new \Slim\Http\Response()); + $response = $autocompleteController->getContacts($fullRequest, new \Slim\Http\Response()); $responseBody = json_decode((string)$response->getBody()); $this->assertInternalType('array', $responseBody); -- GitLab