From d964f991ceefcb7fedbde88882da5a2102b2f6d9 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Fri, 17 Apr 2020 15:55:10 +0100
Subject: [PATCH] FIX #13670 TIME 1 url autocomplete + tinymce + error in
 reaffect user

---
 migration/20.10/migrateCustomXml.php                      | 1 -
 src/app/user/controllers/UserController.php               | 8 ++------
 .../create-acknowledgement-receipt-action.component.ts    | 4 ++--
 .../template/template-administration.component.ts         | 4 ++--
 src/frontend/app/list/filters/filters-tool.component.ts   | 2 +-
 src/frontend/app/profile.component.ts                     | 6 +++---
 .../sent-resource-page/sent-resource-page.component.ts    | 4 ++--
 .../plugins/autocomplete/autocomplete.component.ts        | 6 +++---
 8 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/migration/20.10/migrateCustomXml.php b/migration/20.10/migrateCustomXml.php
index 5422cd5ae2f..a460013dde1 100644
--- a/migration/20.10/migrateCustomXml.php
+++ b/migration/20.10/migrateCustomXml.php
@@ -33,4 +33,3 @@ if (is_file($file)) {
     unlink($file);
     printf("Fichier custom/custom.xml migré en fichier json.\n");
 }
-
diff --git a/src/app/user/controllers/UserController.php b/src/app/user/controllers/UserController.php
index c1e4343d2ca..edb5578e8d1 100755
--- a/src/app/user/controllers/UserController.php
+++ b/src/app/user/controllers/UserController.php
@@ -1316,14 +1316,10 @@ class UserController
 
             if ($data['mode'] == 'reaffect') {
                 $listInstances = ListInstanceModel::getWithConfidentiality(['select' => ['listinstance.res_id'], 'entityId' => $aArgs['entityId'], 'userId' => $aArgs['id']]);
-                $resIdsToReplace = [];
-                foreach ($listInstances as $listInstance) {
-                    $resIdsToReplace[] = $listInstance['res_id'];
-                }
+                $resIdsToReplace = array_column($listInstances, 'res_id');
                 if (!empty($resIdsToReplace)) {
-                    $newUser = UserModel::getByLogin(['login' => $data['newUser'], 'select' => ['id']]);
                     ListInstanceModel::update([
-                        'set'   => ['item_id' => $newUser['id']],
+                        'set'   => ['item_id' => $data['newUser']['serialId']],
                         'where' => ['res_id in (?)', 'item_id = ?', 'process_date is null'],
                         'data'  => [$resIdsToReplace, $aArgs['id']]
                     ]);
diff --git a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.ts b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.ts
index 890b3ea322f..eccc0eb33e4 100644
--- a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.ts
+++ b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.ts
@@ -176,11 +176,11 @@ export class CreateAcknowledgementReceiptActionComponent implements OnInit, OnDe
     initMce() {
         tinymce.init({
             selector: "textarea#emailSignature",
-            base_url: '../../node_modules/tinymce/',
+            base_url: '../node_modules/tinymce/',
             readonly: false,
             suffix: '.min',
             language: this.lang.langISO.replace('-', '_'),
-            language_url: `../../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
+            language_url: `../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
             menubar: false,
             statusbar: false,
             plugins: [
diff --git a/src/frontend/app/administration/template/template-administration.component.ts b/src/frontend/app/administration/template/template-administration.component.ts
index af394100356..c6b67de41dc 100755
--- a/src/frontend/app/administration/template/template-administration.component.ts
+++ b/src/frontend/app/administration/template/template-administration.component.ts
@@ -176,13 +176,13 @@ export class TemplateAdministrationComponent implements OnInit, OnDestroy {
         setTimeout(() => {
             tinymce.remove('textarea');
             // LOAD EDITOR TINYMCE for MAIL SIGN
-            tinymce.baseURL = '../../node_modules/tinymce';
+            tinymce.baseURL = '../node_modules/tinymce';
             tinymce.suffix = '.min';
             tinymce.init({
                 selector: selectorId,
                 statusbar: false,
                 language: this.lang.langISO.replace('-', '_'),
-                language_url: `../../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
+                language_url: `../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
                 height: '200',
                 plugins: [
                     'autoresize',
diff --git a/src/frontend/app/list/filters/filters-tool.component.ts b/src/frontend/app/list/filters/filters-tool.component.ts
index b7b9d987062..03cc362bb86 100644
--- a/src/frontend/app/list/filters/filters-tool.component.ts
+++ b/src/frontend/app/list/filters/filters-tool.component.ts
@@ -202,7 +202,7 @@ export class FiltersToolComponent implements OnInit {
             },
         ];
 
-        this.http.get('../..' + this.routeDatas + '?init' + this.filtersListService.getUrlFilters())
+        this.http.get('..' + this.routeDatas + '?init' + this.filtersListService.getUrlFilters())
             .subscribe((data: any) => {
                 data.categories.forEach((element: any) => {
                     if (this.listProperties.categories.map((category: any) => (category.id)).indexOf(element.id) === -1) {
diff --git a/src/frontend/app/profile.component.ts b/src/frontend/app/profile.component.ts
index 815ee1f7998..627c1af0981 100755
--- a/src/frontend/app/profile.component.ts
+++ b/src/frontend/app/profile.component.ts
@@ -226,19 +226,19 @@ export class ProfileComponent implements OnInit {
     initMce() {
         tinymce.remove('textarea');
         // LOAD EDITOR TINYMCE for MAIL SIGN
-        tinymce.baseURL = '../../node_modules/tinymce';
+        tinymce.baseURL = '../node_modules/tinymce';
         tinymce.suffix = '.min';
         tinymce.init({
             selector: 'textarea#emailSignature',
             statusbar: false,
             language: this.lang.langISO.replace('-', '_'),
-            language_url: `../../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
+            language_url: `../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
             height: '200',
             plugins: [
                 'textcolor'
             ],
             external_plugins: {
-                'maarch_b64image': '../../src/frontend/plugins/tinymce/maarch_b64image/plugin.min.js'
+                'maarch_b64image': '../src/frontend/plugins/tinymce/maarch_b64image/plugin.min.js'
             },
             menubar: false,
             toolbar: 'undo | bold italic underline | alignleft aligncenter alignright | maarch_b64image | forecolor',
diff --git a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
index 7542a2092d0..b20c20b7fd6 100644
--- a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
+++ b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.ts
@@ -143,7 +143,7 @@ export class SentResourcePageComponent implements OnInit {
     initMce() {
         tinymce.init({
             selector: 'textarea#emailSignature',
-            base_url: '../../node_modules/tinymce/',
+            base_url: '../node_modules/tinymce/',
             setup: (editor: any) => {
                 editor.on('init', (e: any) => {
                     this.loading = false;
@@ -153,7 +153,7 @@ export class SentResourcePageComponent implements OnInit {
             height: '400',
             suffix: '.min',
             language: this.lang.langISO.replace('-', '_'),
-            language_url: `../../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
+            language_url: `../node_modules/tinymce-i18n/langs/${this.lang.langISO.replace('-', '_')}.js`,
             menubar: false,
             statusbar: false,
             plugins: [
diff --git a/src/frontend/plugins/autocomplete/autocomplete.component.ts b/src/frontend/plugins/autocomplete/autocomplete.component.ts
index dbff22bf09f..0f7002264f2 100644
--- a/src/frontend/plugins/autocomplete/autocomplete.component.ts
+++ b/src/frontend/plugins/autocomplete/autocomplete.component.ts
@@ -172,7 +172,7 @@ export class PluginAutocomplete implements OnInit {
         let arrayObs: any = [];
         let test: any = [];
         this.routeDatas.forEach(element => {
-            arrayObs.push(this.http.get('../..' + element, { params: { "search": data } }));
+            arrayObs.push(this.http.get('..' + element, { params: { "search": data } }));
         });
 
         return forkJoin(arrayObs).pipe(
@@ -204,7 +204,7 @@ export class PluginAutocomplete implements OnInit {
     initFormValue() {
 
         this.controlAutocomplete.value.forEach((ids: any) => {
-            this.http.get('../..' + this.manageDatas + '/' + ids).pipe(
+            this.http.get('..' + this.manageDatas + '/' + ids).pipe(
                 tap((data) => {
                     for (var key in data) {
                         this.valuesToDisplay[data[key].id] = data[key].label;
@@ -267,7 +267,7 @@ export class PluginAutocomplete implements OnInit {
 
             this.dialogRef.afterClosed().pipe(
                 filter((data: string) => data === 'ok'),
-                exhaustMap(() => this.http.post('../..' + this.manageDatas, { label: newElem[this.key] })),
+                exhaustMap(() => this.http.post('..' + this.manageDatas, { label: newElem[this.key] })),
                 tap((data: any) => {
                     for (var key in data) {
                         newElem['id'] = data[key];
-- 
GitLab