From bda96f4edaa84bf3fdb169f0fc3be2d81abcb10f Mon Sep 17 00:00:00 2001
From: Florian Azizian <florian.azizian@maarch.org>
Date: Mon, 5 Oct 2015 15:16:14 +0000
Subject: [PATCH] FEAT #2731  (service) can't modify dest user in indexing page

---
 entities/trunk/lang/en.php           |  2 ++
 entities/trunk/lang/fr.php           |  2 ++
 entities/trunk/load_listinstance.php |  5 +++--
 entities/trunk/load_listmodel.php    |  6 +++++-
 entities/trunk/xml/services.xml      | 12 ++++++++++++
 5 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/entities/trunk/lang/en.php b/entities/trunk/lang/en.php
index 5daede6c33d..10b6e6a5e3b 100644
--- a/entities/trunk/lang/en.php
+++ b/entities/trunk/lang/en.php
@@ -310,3 +310,5 @@ if (!defined('_ENTITIES_PRINT_SEP_MLB'))
     define('_ENTITIES_PRINT_SEP_MLB', 'Print entities separator sheets');
 if (!defined('_SELECT_BARCODE_TYPE'))
     define('_SELECT_BARCODE_TYPE', 'Select the barcode type');
+if (!defined("_ADD_COPY_IN_INDEXING"))
+    define("_ADD_COPY_IN_INDEXING", "Add person just in copy in indexing page");
diff --git a/entities/trunk/lang/fr.php b/entities/trunk/lang/fr.php
index 08e58dac0d8..2c8eab7b24f 100644
--- a/entities/trunk/lang/fr.php
+++ b/entities/trunk/lang/fr.php
@@ -420,3 +420,5 @@ if (!defined("_ENTITIES_PRINT_SEP_MLB_GENERIC"))
     define("_ENTITIES_PRINT_SEP_MLB_GENERIC", "Imprimer séparateur générique COURRIER");
 if (!defined("_SELECT_BARCODE_TYPE"))
     define("_SELECT_BARCODE_TYPE", "Type de code à barres");
+if (!defined("_ADD_COPY_IN_INDEXING"))
+    define("_ADD_COPY_IN_INDEXING", "Ajouter des personnes seulement en copie dans l'indexation");
diff --git a/entities/trunk/load_listinstance.php b/entities/trunk/load_listinstance.php
index 1f63bac6dd5..332976ffacd 100644
--- a/entities/trunk/load_listinstance.php
+++ b/entities/trunk/load_listinstance.php
@@ -56,7 +56,8 @@ if (empty($_REQUEST['collId']) && $_REQUEST['load_from_model'] == 'true') {
 $onlyCC = false;
 
 
-if( $core->test_service('add_copy_in_process', 'entities', false) && $_REQUEST['origin'] == 'process'){
+if( ($core->test_service('add_copy_in_process', 'entities', false) && $_REQUEST['origin'] == 'process') 
+    || ($core->test_service('add_copy_in_indexing', 'entities', false) && $_REQUEST['origin'] == 'indexing') ){
     $onlyCC = true;
 }
 
@@ -79,7 +80,7 @@ if ($objectId <> '') {
     $_SESSION[$origin]['difflist_object']['object_id'] = $objectId;
     if ($objectType == 'entity_id') {
         
-        $query = "select entity_label from entities where entity_id = ?";
+        $query = "SELECT entity_label FROM entities WHERE entity_id = ?";
         $stmt = $db->query($query,array($objectId));
         $res = $stmt->fetchObject();
         if ($res->entity_label <> '') {
diff --git a/entities/trunk/load_listmodel.php b/entities/trunk/load_listmodel.php
index 00ac174bf28..cfdad2aef7f 100644
--- a/entities/trunk/load_listmodel.php
+++ b/entities/trunk/load_listmodel.php
@@ -28,7 +28,7 @@ $_SESSION[$origin]['difflist_type'] = $diffList->get_difflist_type($objectType);
 if ($objectId <> '') {
     $_SESSION[$origin]['difflist_object']['object_id'] = $objectId;
     if ($objectType == 'entity_id') {
-        $query = "select entity_label from entities where entity_id = ?";
+        $query = "SELECT entity_label FROM entities WHERE entity_id = ?";
         $stmt = $db->query($query,array($objectId));
         $res = $stmt->fetchObject();
         if ($res->entity_label <> '') {
@@ -59,6 +59,10 @@ ob_end_clean();
 $labelButton = _MODIFY_LIST;
 $arg = '&mode=up';
 
+if( $core->test_service('add_copy_in_indexing', 'entities', false) && $origin == 'indexing' ){
+    $onlyCC = true;
+}
+
 if ($onlyCC) {
     $arg .= '&only_cc';
 }
diff --git a/entities/trunk/xml/services.xml b/entities/trunk/xml/services.xml
index f3333952474..5b756e09e17 100644
--- a/entities/trunk/xml/services.xml
+++ b/entities/trunk/xml/services.xml
@@ -296,6 +296,18 @@
             <nature>include</nature>
         </WHEREAMIUSED>
     </SERVICE>
+    <SERVICE>
+        <id>add_copy_in_indexing</id>
+        <name>_ADD_COPY_IN_INDEXING</name>
+        <servicepage>load_listinstance.php</servicepage>
+        <servicetype>use</servicetype>
+        <system_service>false</system_service>
+        <enabled>true</enabled>
+        <WHEREAMIUSED>
+            <page>load_listinstance</page>
+            <nature>include</nature>
+        </WHEREAMIUSED>
+    </SERVICE>
     <SERVICE>
         <id>update_list_diff_in_details</id>
         <name>_UPDATE_LIST_DIFF_IN_DETAILS</name>
-- 
GitLab