diff --git a/apps/maarch_entreprise/Models/ResModelAbstract.php b/apps/maarch_entreprise/Models/ResModelAbstract.php index e147e3b53984155091bb17ca2510ad1c80c2d6d6..8e308016a1fa2443fb06eb147e8458586ac01091 100644 --- a/apps/maarch_entreprise/Models/ResModelAbstract.php +++ b/apps/maarch_entreprise/Models/ResModelAbstract.php @@ -96,4 +96,24 @@ class ResModelAbstract extends Apps_Table_Service return $aReturn; } + public static function getObsLinkedAttachmentsNotIn(array $aArgs = []) + { + static::checkRequired($aArgs, ['resIdMaster', 'notIn']); + static::checkNumeric($aArgs, ['resIdMaster']); + static::checkArray($aArgs, ['notIn']); + + + $select = [ + 'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'], + 'table' => ['res_view_attachments'], + 'where' => ['res_id_master = ?', 'attachment_type not in (?)', 'status = ?'], + 'data' => [$aArgs['resIdMaster'], $aArgs['notIn'], 'OBS'], + 'order_by' => 'relation ASC' + ]; + + $aReturn = static::select($select); + + return $aReturn; + } + } \ No newline at end of file diff --git a/apps/maarch_entreprise/class/class_lists_Abstract.php b/apps/maarch_entreprise/class/class_lists_Abstract.php index 2899cb3d0d4c2b516bc0df0c8b73dc63bd3ad569..21926422493363d92674c61b7e821b9c7edd45f0 100644 --- a/apps/maarch_entreprise/class/class_lists_Abstract.php +++ b/apps/maarch_entreprise/class/class_lists_Abstract.php @@ -1468,7 +1468,6 @@ abstract class lists_Abstract extends Database $aService = Basket_Baskets_Service::getServiceFromActionId(['id' => $this->params['defaultAction']]); if ($aService['actionPage'] == 'visa_mail' && V2_ENABLED == true) { $return = 'onmouseover="this.style.cursor=\'pointer\';" onClick="islockForSignatureBook(\'' .$keyValue. '\', \'' .$_SESSION['current_basket']['id']. '\')"'; -// $return = 'onmouseover="this.style.cursor=\'pointer\';" onClick="location.href=\'#/' .$_SESSION['current_basket']['id']. '/signatureBook/' .$keyValue. '\'" '; } else { $return = 'onmouseover="this.style.cursor=\'pointer\';" onClick="validForm( \'page\', \''.$keyValue.'\', \''.$this->params['defaultAction'].'\');" '; } diff --git a/modules/visa/Controllers/VisaController.php b/modules/visa/Controllers/VisaController.php index b268f7f458244444482579b6449ef4b2d9206638..2389eb84bb90f53e392b7e6cf805e434e2ae684a 100644 --- a/modules/visa/Controllers/VisaController.php +++ b/modules/visa/Controllers/VisaController.php @@ -232,7 +232,7 @@ class VisaController 'res_id', 'res_id_version', 'title', 'identifier', 'attachment_type', 'status', 'typist', 'path', 'filename', 'updated_by', 'creation_date', 'validation_date', 'format', 'relation', 'dest_user', 'dest_contact_id', - 'dest_address_id', 'origin', 'doc_date' + 'dest_address_id', 'origin', 'doc_date', 'attachment_id_master' ], 'orderBy' => $orderBy ] @@ -315,17 +315,38 @@ class VisaController $attachments[$key]['thumbnailLink'] = "index.php?page=doc_thumb&module=thumbnails&res_id={$realId}&coll_id={$collId}&display=true&advanced=true"; $attachments[$key]['viewerLink'] = "index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master={$aArgs['resId']}&id={$viewerId}"; + } - unset( - $attachments[$key]['path'], $attachments[$key]['filename'], $attachments[$key]['dest_user'], - $attachments[$key]['dest_contact_id'], $attachments[$key]['dest_address_id'] - ); + $obsAttachments = \ResModel::getObsLinkedAttachmentsNotIn([ + 'resIdMaster' => $aArgs['resId'], + 'notIn' => ['incoming_mail_attachment', 'print_folder', 'converted_pdf', 'signed_response'], + 'select' => [ + 'res_id', 'res_id_version', 'attachment_id_master', 'relation', 'creation_date' + ] + ]); + + $obsData = []; + foreach ($obsAttachments as $value) { + if ($value['relation'] == 1) { + $obsData[$value['res_id']][] = ['resId' => $value['res_id'], 'relation' => $value['relation'], 'creation_date' => $value['creation_date']]; + } else { + $obsData[$value['attachment_id_master']][] = ['resId' => $value['res_id_version'], 'relation' => $value['relation'], 'creation_date' => $value['creation_date']]; + } } foreach ($attachments as $key => $value) { if ($value['attachment_type'] == 'converted_pdf') { unset($attachments[$key]); } + + $attachments[$key]['obsAttachments'] = []; + if ($value['relation'] > 1 && !empty($obsData[$value['attachment_id_master']])) { + $attachments[$key]['obsAttachments'] = $obsData[$value['attachment_id_master']]; + } + + unset($attachments[$key]['path'], $attachments[$key]['filename'], $attachments[$key]['dest_user'], + $attachments[$key]['dest_contact_id'], $attachments[$key]['dest_address_id'], $attachments[$key]['attachment_id_master'] + ); } return array_values($attachments);