From f86e97b001078eeef504f10afca183c23afdc1e5 Mon Sep 17 00:00:00 2001
From: Laurent Giovannoni <laurent.giovannoni@maarch.org>
Date: Fri, 26 Oct 2018 11:53:27 +0200
Subject: [PATCH] FIX #8674 refresh of tab attachments and resolve problem with
 validate button if simple attachment

---
 modules/attachments/attachments_content.php |  6 +++---
 modules/attachments/js/functions.js         | 16 +++++++++++++++-
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/modules/attachments/attachments_content.php b/modules/attachments/attachments_content.php
index cbe7268798b..7fd52dfe119 100755
--- a/modules/attachments/attachments_content.php
+++ b/modules/attachments/attachments_content.php
@@ -1256,7 +1256,7 @@ $content .= '<div class="transmissionDiv" id="addAttach1">';
     //FILE
     if ($mode == 'add') {
         $content .= '<p>';
-        $content .= '<label id="file_label">'._FILE.' <span id="templateOfficeTool"><i class="fa fa-paperclip fa-lg" title="'._LOADED_FILE.'" style="cursor:pointer;" id="attachment_type_icon" onclick="$(\'attachment_type_icon\').setStyle({color: \'#135F7F\'});$(\'attachment_type_icon2\').setStyle({color: \'#666\'});$(\'templateOffice\').setStyle({display: \'none\'});$(\'templateOffice\').disabled=true;$(\'templateOffice_edit\').setStyle({display: \'none\'});$(\'choose_file\').setStyle({display: \'inline-block\'});document.getElementById(\'choose_file\').contentDocument.getElementById(\'file\').click();"></i> <i class="fa fa-file-alt fa-lg" title="'._GENERATED_FILE.'" style="cursor:pointer;color:#135F7F;" id="attachment_type_icon2" onclick="$(\'attachment_type_icon2\').setStyle({color: \'#135F7F\'});$(\'attachment_type_icon\').setStyle({color: \'#666\'});$(\'templateOffice\').setStyle({display: \'inline-block\'});$(\'templateOffice\').disabled=false;$(\'choose_file\').setStyle({display: \'none\'});"></i></span></label>';
+        $content .= '<label id="file_label">'._FILE.' <span id="templateOfficeTool"><i class="fa fa-paperclip fa-lg" title="'._LOADED_FILE.'" style="cursor:pointer;" id="attachment_type_icon" onclick="$j(\'#add\').css(\'display\', \'inline\');$(\'attachment_type_icon\').setStyle({color: \'#135F7F\'});$(\'attachment_type_icon2\').setStyle({color: \'#666\'});$(\'templateOffice\').setStyle({display: \'none\'});$(\'templateOffice\').disabled=true;$(\'templateOffice_edit\').setStyle({display: \'none\'});$(\'choose_file\').setStyle({display: \'inline-block\'});document.getElementById(\'choose_file\').contentDocument.getElementById(\'file\').click();"></i> <i class="fa fa-file-alt fa-lg" title="'._GENERATED_FILE.'" style="cursor:pointer;color:#135F7F;" id="attachment_type_icon2" onclick="$(\'attachment_type_icon2\').setStyle({color: \'#135F7F\'});$(\'attachment_type_icon\').setStyle({color: \'#666\'});$(\'templateOffice\').setStyle({display: \'inline-block\'});$(\'templateOffice\').disabled=false;$(\'choose_file\').setStyle({display: \'none\'});"></i></span></label>';
         $content .= '<select name="templateOffice[]" id="templateOffice" style="display:inline-block;" onchange="showEditButton(this);">';
         $content .= '<option value="">'._CHOOSE_MODEL.'</option>';
 
@@ -1398,9 +1398,9 @@ $content .= '<div id="transmission"></div>';
         $content .= '<input type="button" value="';
         $content .= _VALIDATE;
         if (isset($_REQUEST['id'])) {
-            $content .= '" name="edit" id="edit" class="button" onclick="ValidAttachmentsForm(\''.$_SESSION['config']['businessappurl'];
+            $content .= '" name="edit" id="edit" class="button" onclick="refreshAttachmentsTab();ValidAttachmentsForm(\''.$_SESSION['config']['businessappurl'];
         } else {
-            $content .= '" name="add" id="add" class="button" onclick="simpleAjax(\''.$_SESSION['config']['businessappurl'].'index.php?display=true&module=attachments&page=unsetReservedChronoNumber\');ValidAttachmentsForm(\''.$_SESSION['config']['businessappurl'];
+            $content .= '" name="add" id="add" class="button" onclick="refreshAttachmentsTab();simpleAjax(\''.$_SESSION['config']['businessappurl'].'index.php?display=true&module=attachments&page=unsetReservedChronoNumber\');ValidAttachmentsForm(\''.$_SESSION['config']['businessappurl'];
         }
         $content .= 'index.php?display=true&module=attachments&page=attachments_content\', \'formAttachment\'';
 
diff --git a/modules/attachments/js/functions.js b/modules/attachments/js/functions.js
index e61f14d810e..95a43b35f35 100755
--- a/modules/attachments/js/functions.js
+++ b/modules/attachments/js/functions.js
@@ -267,7 +267,9 @@ function loadSelectedContact() {
         $j('#contact_attach').focus();
     }
     
-    $j("#add").hide();
+    if ($j("#choose_file").css("display") !== "inline-block") {
+        $j("#add").hide();
+    }
     
     if ($j("#templateOffice option:selected").val() !== "" && $j("#templateOffice_edit").css("display") == "none") {
         $j("#templateOffice_edit").css("display", "inline");
@@ -841,4 +843,16 @@ function checkEffectiveDateStatus(effectiveDateStatus) {
         $j('#'+effectiveDateStatus.id).parent().find('[name=back_date\\[\\]]').prop('disabled',false);
         $j('#'+effectiveDateStatus.id).parent().find('[name=back_date\\[\\]]').removeClass('readonly');
     }    
+}
+
+function refreshAttachmentsTab() {
+    if ($j('#attachments_tab') && $j('#responses_tab')) {
+        if ($j('#attachment_types option:selected').val() == 'simple_attachment')  {
+            $j('#responses_tab').click();
+            $j('#attachments_tab').click();
+        } else {
+            $j('#attachments_tab').click();
+            $j('#responses_tab').click();
+        }
+    }
 }
\ No newline at end of file
-- 
GitLab