From 05088eba622a328a1b2d60f4a87226dd57f7d459 Mon Sep 17 00:00:00 2001 From: "florian.azizian" <florian.azizian@maarch.org> Date: Wed, 25 Apr 2018 14:21:01 +0100 Subject: [PATCH] FEAT #6631 display correct visa workflow in basket list --- core/class/PrintControler.php | 6 +-- modules/entities/css/module.css | 9 +++- modules/entities/loadDiffList.php | 68 ++++++++++++++++++++++++------- 3 files changed, 64 insertions(+), 19 deletions(-) diff --git a/core/class/PrintControler.php b/core/class/PrintControler.php index 5ad6add73a0..0c54fb2e143 100755 --- a/core/class/PrintControler.php +++ b/core/class/PrintControler.php @@ -490,10 +490,10 @@ class PrintControler extends PrintFunctions $pdf->SetFont('Arial','',11); foreach ($this->array_print[$cpt]['retrieve_VisaWorkflow'] as $key => $value) { $signatory = ''; - if($value['signatory']){ + if($value['signatory'] || ($value['requested_signature'] && empty($value['process_date']))){ $signatory = ' ('._SIGNATORY.')'; - } else if ($value['requested_signature'] && empty($value['process_date'])) { - $signatory = ' ('._REQUESTED_SIGNATURE.')'; + } else { + $signatory = ' ('._VISA_USER_SEARCH_MIN.')'; } $pdf->Cell(140,5,utf8_decode($key+1 . '. ' .$value['firstname']. ' ' . $value['lastname'] . $signatory),1,0, 'L', false); $pdf->Cell(42,5,functions::format_date_db($value['process_date'], true, '', true),1,1, 'C', false); diff --git a/modules/entities/css/module.css b/modules/entities/css/module.css index a4b4ef4920a..012471d9413 100755 --- a/modules/entities/css/module.css +++ b/modules/entities/css/module.css @@ -84,4 +84,11 @@ span.change { /*color:white;*/ background-color: #BAD1E2; border-radius: 5px; -} \ No newline at end of file +} + +.visaWorkFlowBasket { + width:50%; + text-align:center !important; + background-color:transparent !important; + font-size: 14px; +} diff --git a/modules/entities/loadDiffList.php b/modules/entities/loadDiffList.php index 5adb6069738..3933047d449 100755 --- a/modules/entities/loadDiffList.php +++ b/modules/entities/loadDiffList.php @@ -1,34 +1,72 @@ <?php +/** +* Copyright Maarch since 2008 under licence GPLv3. +* See LICENCE.txt file at the root folder for more details. +* This file is part of Maarch software. +* +*/ + require_once('core/class/class_core_tools.php'); $Core_Tools = new core_tools; $Core_Tools->load_lang(); $status = 0; -if(isset($_REQUEST['typeList'])){ +if (isset($_REQUEST['typeList'])) { $typeList = $_REQUEST['typeList']; -}else{ +} else { $typeList = 'entity_id'; } -if(isset($_REQUEST['showStatus'])){ +if (isset($_REQUEST['showStatus'])) { $showStatus = true; -}else{ +} else { $showStatus = false; } -require_once('modules/entities/class/class_manage_listdiff.php'); -$diffListObj = new diffusion_list(); -$difflist = $diffListObj->get_listinstance($_REQUEST['res_id'], false, $_SESSION['collection_id_choice'],$typeList); -# Include display of list -$roles = $diffListObj->list_difflist_roles(); +//VISA WORKFLOW +if ($typeList=='VISA_CIRCUIT') { + $visaWorkflow = \SrcCore\models\DatabaseModel::select([ + 'select' => ['u.firstname', 'u.lastname', 'l.process_date', 'l.process_comment', 'l.signatory', 'l.requested_signature'], + 'table' => ['listinstance l, users u'], + 'where' => ['l.res_id = ?', 'l.difflist_type = ?', 'u.user_id = l.item_id'], + 'data' => [$_REQUEST['res_id'], 'VISA_CIRCUIT'], + 'order_by' => ['l.listinstance_id asc'] + ]); -ob_start(); -require_once 'modules/entities/difflist_display.php'; -$return .= str_replace(array("\r", "\n", "\t"), array("", "", ""), ob_get_contents()); -ob_end_clean(); + if (!empty($visaWorkflow)) { + $return = '<table style="width:100%;margin-top: 5px;">'; + $return .= '<tr><td class="sstit visaWorkFlowBasket">'._ADMIN_USERS.'</td>'; + $return .= '<td class="sstit visaWorkFlowBasket">'._PROCESS_DATE.'</td></tr>'; + foreach ($visaWorkflow as $key => $value) { + $signatory = ''; + if ($value['signatory'] || ($value['requested_signature'] && empty($value['process_date']))) { + $signatory = ' ('._SIGNATORY.')'; + } else { + $signatory = ' ('._VISA_USER_SEARCH_MIN.')'; + } + $nb = $key+1; + $return .= '<tr><td style="width:50%;padding: 8px 0px 7px 10px;">'. $nb . '. ' .$value['firstname']. ' ' . $value['lastname'] . $signatory.'</td>'; + $return .= '<td style="width:50%; text-align:center;">'.functions::format_date_db($value['process_date'], true, '', true) . '</td></tr>'; + } + $return .= '</table>'; + } else { + $return .= '<div style="font-style:italic;text-align:center;color:#ea0000;margin:10px;">'._DIFF_LIST.' '._IS_EMPTY.'</div>'; + } +} else { + require_once('modules/entities/class/class_manage_listdiff.php'); + $diffListObj = new diffusion_list(); + $difflist = $diffListObj->get_listinstance($_REQUEST['res_id'], false, $_SESSION['collection_id_choice'], $typeList); + + # Include display of list + $roles = $diffListObj->list_difflist_roles(); -echo "{status : " . $status . ", toShow : '" . addslashes($return) . "'}"; -exit (); + ob_start(); + require_once 'modules/entities/difflist_display.php'; + $return .= str_replace(array("\r", "\n", "\t"), array("", "", ""), ob_get_contents()); + ob_end_clean(); +} +echo "{status : " . $status . ", toShow : '" . addslashes($return) . "'}"; +exit(); -- GitLab