From ba9fdba3de2923cff6be36c9d05dbd57610a17a4 Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Thu, 18 Oct 2018 20:16:47 +0200 Subject: [PATCH] FEAT #8551 refactoring result list for new column --- apps/maarch_entreprise/css/styles.css | 16 ++ .../documents_list_mlb_search_adv.php | 76 +++++--- apps/maarch_entreprise/lang/en.php | 12 ++ apps/maarch_entreprise/lang/fr.php | 10 +- .../template/documents_list_search_adv.html | 163 ++++++++---------- 5 files changed, 164 insertions(+), 113 deletions(-) diff --git a/apps/maarch_entreprise/css/styles.css b/apps/maarch_entreprise/css/styles.css index c1c79241a3d..ce3e08a736e 100755 --- a/apps/maarch_entreprise/css/styles.css +++ b/apps/maarch_entreprise/css/styles.css @@ -3737,4 +3737,20 @@ width:auto; .maarchToolButton:hover { transition: background-color 0.5s ease; background-color: rgba(0,0,0,.12); +} + +.listResultContent .actionsTool { + display: flex; +} + +.listResultContent .actionsTool .fa { + font-size: 24px; +} + +.listResultContent .actionsTool a, .listResultContent .actionsTool div, .listResultContent .actionsTool i{ + flex: 1; +} + +.listResultContent .fa { + font-size: 16px; } \ No newline at end of file diff --git a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php index 24435e9cbbb..5be9e8929bb 100755 --- a/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php +++ b/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php @@ -228,7 +228,7 @@ if ($mode == 'normal') { array_push($select[$view], 'res_id', 'res_id as is_labeled', 'alt_identifier', 'priority', 'status', 'subject', 'category_id as category_img', 'contact_firstname', 'contact_lastname', 'contact_society', 'user_lastname', 'user_firstname', 'category_id', 'dest_user', 'type_label', - 'creation_date', 'entity_label', 'address_id', 'exp_user_id', 'doc_custom_n1 as count_attachment', 'is_multicontacts', 'filename'); + 'creation_date', 'entity_label', 'address_id', 'exp_user_id', 'doc_custom_n1 as count_attachment', 'is_multicontacts', 'filename', 'res_id as real_dest'); //Cases if ($core_tools->is_module_loaded('cases') == true) { array_push($select[$view], 'case_id', 'case_label', 'case_description'); @@ -604,8 +604,7 @@ if ($mode == 'normal') { } $priority = $_SESSION['mail_priorities'][$fakeId]; - if(!empty($_SESSION['searching']['where_request_parameters'][':priorityChosen'])){ - + if (!empty($_SESSION['searching']['where_request_parameters'][':priorityChosen'])) { $priority = '<i style="background: #009dc5 none repeat scroll 0 0;border-radius: 4px;color: white;padding: 3px;" title="mot cible">'.$_SESSION['mail_priorities'][$fakeId].'</i>'; } $tab[$i][$j]['value'] = $priority; @@ -619,32 +618,39 @@ if ($mode == 'normal') { } if ($tab[$i][$j][$value] == 'dest_user') { - if(!empty($_SESSION['searching']['where_request_parameters'][':destinataireChosen'])){ + if (!empty($_SESSION['searching']['where_request_parameters'][':destinataireChosen'])) { foreach ($_SESSION['searching']['where_request_parameters'][':destinataireChosen'] as $key => $value) { - if($value == $tab[$i][$j]['value']){ + if ($value == $tab[$i][$j]['value']) { + $user = \User\models\UserModel::getByUserId(['userId' => $value, 'select' => ['firstname', 'lastname']]); $target_dest = $value; $target_dest = str_replace('%', '', $target_dest); $dest = $tab[$i][$j]['value']; - $dest = str_replace($target_dest, '<i style="background: #135F7F none repeat scroll 0 0;border-radius: 4px;color: white;padding: 3px;" title="mot cible">'.$target_dest.'</i>', $dest); + $dest = str_replace($user['firstname'] . ' ' . $user['lastname'], '<i style="background: #135F7F none repeat scroll 0 0;border-radius: 4px;color: white;padding: 3px;" title="mot cible">'.$user['firstname'] . ' ' . $user['lastname'].'</i>', $user['firstname'] . ' ' . $user['lastname']); break; } - } - }else{ - $dest = $tab[$i][$j]['value']; + } + } else { + if (!empty($tab[$i][$j]['value'])) { + $user = \User\models\UserModel::getByUserId(['userId' => $tab[$i][$j]['value'], 'select' => ['firstname', 'lastname']]); + $dest = $tab[$i][$j]['value']; + $dest = $user['firstname'] . ' ' . $user['lastname']; + } else { + $dest = '<i>???</i>'; + } } $tab[$i][$j]["label"]=_DEST_USER; $tab[$i][$j]["size"]="10"; $tab[$i][$j]['label_align'] = 'left'; - $tab[$i][$j]["value"]=$dest; + $tab[$i][$j]["value"]=$dest; $tab[$i][$j]['align'] = 'left'; $tab[$i][$j]['valign'] = 'bottom'; $tab[$i][$j]['show'] = false; $tab[$i][$j]['value_export'] = $tab[$i][$j]['value']; if ($categoryId == 'outgoing') { - $tab[$i][$j]['value'] = '<b>'._TO_CONTACT_C.'</b>'.$tab[$i][$j]['value']; + $tab[$i][$j]['value'] = '<b>'._WRITTEN_BY.' : </b>'.$tab[$i][$j]['value']; } else { - $tab[$i][$j]['value'] = '<b>'._FOR_CONTACT_C.'</b>'.$tab[$i][$j]['value']; + $tab[$i][$j]['value'] = '<b>'._PROCESSED_BY.' : </b>'.$tab[$i][$j]['value']; } $tab[$i][$j]['order'] = false; } @@ -688,18 +694,6 @@ if ($mode == 'normal') { $tab[$i][$j]['show'] = false; } - if ($tab[$i][$j][$value] == "$template_to_use exp_user_id") { - $tab[$i][$j]['label'] = _CONTACT; - $tab[$i][$j]['size'] = '10'; - $tab[$i][$j]['label_align'] = 'left'; - $tab[$i][$j]['align'] = 'left'; - $tab[$i][$j]['valign'] = 'bottom'; - $tab[$i][$j]['show'] = false; - $tab[$i][$j]['value_export'] = $tab[$i][$j]['value']; - $tab[$i][$j]['value'] = $contact->get_contact_information_from_view($_SESSION['mlb_search_current_category_id'], $contact_lastname, $contact_firstname, $contact_society, $user_lastname, $user_firstname); - $tab[$i][$j]['order'] = false; - } - if ($tab[$i][$j][$value] == 'is_multicontacts') { if ($tab[$i][$j]['value'] == 'Y') { $tab[$i][$j]['label'] = _CONTACT; @@ -773,6 +767,40 @@ if ($mode == 'normal') { $tab[$i][$j]['value'] = $contact->get_contact_information_from_view($_SESSION['mlb_search_current_category_id'], $contact_lastname, $contact_firstname, $contact_society, $user_lastname, $user_firstname); $tab[$i][$j]['order'] = false; } + if ($tab[$i][$j][$value] == 'real_dest') { + $query = 'SELECT item_id, type FROM resource_contacts WHERE res_id = ?'; + $arrayPDO = array($tab[$i][$j]['value']); + $stmt2 = $db->query($query, $arrayPDO); + $return_stmt = $stmt2->fetchObject(); + + if ($return_stmt->type == 'contact') { + $query = 'SELECT * FROM view_contacts WHERE ca_id = ?'; + $arrayPDO = array($return_stmt->item_id); + $stmt2 = $db->query($query, $arrayPDO); + $return_stmt = $stmt2->fetch(PDO::FETCH_ASSOC); + $formattedContact = \SrcCore\controllers\AutoCompleteController::getFormattedContact(['contact' => $return_stmt]); + $tab[$i][$j]['value'] = $formattedContact['contact']['contact']; + } else if ($return_stmt->type == 'entity') { + $query = 'SELECT entity_label FROM entities WHERE id = ?'; + $arrayPDO = array($return_stmt->item_id); + $stmt2 = $db->query($query, $arrayPDO); + $return_stmt = $stmt2->fetchObject(); + $tab[$i][$j]['value'] = $return_stmt->entity_label; + } else { + $query = 'SELECT firstname, lastname FROM users WHERE id = ?'; + $arrayPDO = array($return_stmt->item_id); + $stmt2 = $db->query($query, $arrayPDO); + $return_stmt = $stmt2->fetchObject(); + $tab[$i][$j]['value'] = $return_stmt->firstname.' '. $return_stmt->lastname; + } + if (empty(trim($tab[$i][$j]['value']))) { + $tab[$i][$j]['value'] = null; + } else if ($_SESSION['mlb_search_current_category_id'] == 'outgoing') { + $tab[$i][$j]['value'] = '<b>'._TO_CONTACT_C.'</b>'.$tab[$i][$j]['value']; + } else { + $tab[$i][$j]['value'] = '<b>'._FOR_CONTACT_C.'</b>'.$tab[$i][$j]['value']; + } + } } } } diff --git a/apps/maarch_entreprise/lang/en.php b/apps/maarch_entreprise/lang/en.php index 4b93a626e0f..a302b222ca2 100755 --- a/apps/maarch_entreprise/lang/en.php +++ b/apps/maarch_entreprise/lang/en.php @@ -5028,3 +5028,15 @@ if (!defined('_PROCESS_IN_PROGRESS')) { if (!defined('_CONTACTS_FILLING')) { define('_CONTACTS_FILLING', "Filling contacts informations"); } +if (!defined('_PROCESSED_BY')) { + define('_PROCESSED_BY', "Processed by"); +} +if (!defined('_EXP_USER')) { + define('_EXP_USER', 'Expéditeur'); +} +if (!defined('_REDACTOR')) { + define('_REDACTOR', 'Rédactor'); +} +if (!defined('_ASSIGNEE')) { + define('_ASSIGNEE', 'Assignee'); +} diff --git a/apps/maarch_entreprise/lang/fr.php b/apps/maarch_entreprise/lang/fr.php index d2e3c68e20e..252c326e4d0 100755 --- a/apps/maarch_entreprise/lang/fr.php +++ b/apps/maarch_entreprise/lang/fr.php @@ -2173,7 +2173,6 @@ if (!defined('_CHOOSE_STATUS_SEARCH_TITLE')) { if (!defined('_ERROR_IE_SEARCH')) { define('_ERROR_IE_SEARCH', 'Cet élément est déjà défini !'); } - if (!defined('_DEST_USER')) { define('_DEST_USER', 'Destinataire'); } @@ -5194,3 +5193,12 @@ if (!defined('_PROCESS_IN_PROGRESS')) { if (!defined('_CONTACTS_FILLING')) { define('_CONTACTS_FILLING', "Complétude des informations contacts"); } +if (!defined('_PROCESSED_BY')) { + define('_PROCESSED_BY', "Traité par"); +} +if (!defined('_REDACTOR')) { + define('_REDACTOR', 'Rédacteur'); +} +if (!defined('_ASSIGNEE')) { + define('_ASSIGNEE', 'Attributaire'); +} diff --git a/apps/maarch_entreprise/template/documents_list_search_adv.html b/apps/maarch_entreprise/template/documents_list_search_adv.html index a2d072531d8..e8d541fb6a1 100755 --- a/apps/maarch_entreprise/template/documents_list_search_adv.html +++ b/apps/maarch_entreprise/template/documents_list_search_adv.html @@ -54,105 +54,92 @@ Mods #!#TABLE <!-- ----------------------------------------------------------------------- --> - <table border="0" cellspacing="0" class="listing spec zero_padding" id="extended_list" style ="padding: 0px;width:100%;"> + <table border="0" cellspacing="0" class="listing spec zero_padding listResultContent" id="extended_list" style="display:block;padding: 0px;width:100%;"> #!#HEAD <!-- ----------------------------------------------------------------------- --> - <thead border ="1"> + <thead border="1" class="listResultContentHead"> <tr> - <!--<th width="100%" colspan="2"> - <div align="center" style="border:1px solid; height:20px;margin-bottom:10px;padding-top:10px;vertical-align:middle;"> - ##checkUncheckAll## - ##defineLang|_SORT_BY## : - ##defineLang|_NUM_GED## ##sortColumn|res_id## - ##defineLang|_TYPE## ##sortColumn|type_label## - ##defineLang|_SUBJECT## ##sortColumn|subject## - ##defineLang|_DEST_USER## ##sortColumn|dest_user## - ##defineLang|_REG_DATE## ##sortColumn|creation_date## - ##defineLang|_PROCESS_LIMIT_DATE## ##sortColumn|process_limit_date## - ##defineLang|_ENTITY## ##sortColumn|entity_label## - ##defineLang|_CATEGORY## ##sortColumn|category_id## - ##ifStatement|#isModuleLoaded|cases#===true| #defineLang|_CASE# #sortColumn|case_label#| ## + <th style="width:150px;text-align:center;"> + <span style="text-align:center;"> + ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|<i>#defineLang|_NUM_GED#</i>|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|<i>#defineLang|_CHRONO_NUMBER_SHORT#</i>|## / ##defineLang|_STATUS##<br/>##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|#sortColumn|res_id#|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|#sortColumn|alt_identifier#|## / ##sortColumn|status## + </span> + </th> + <th> + <div style="display:flex;"> + <span style="text-align:center;flex:1;"> + ##defineLang|_SUBJECT## / ##defineLang|_PRIORITY##<br/>##sortColumn|subject## / ##sortColumn|priority## + </span> + <span style="text-align:center;flex:1;"> + ##defineLang|_CATEGORY##<br/>##sortColumn|category_id## + </span> + <span style="text-align:center;flex:1;"> + ##defineLang|_CREATION_DATE##<br/>##sortColumn|creation_date## + </span> + <span style="text-align:center;flex:1;"> + ##defineLang|_ASSIGNEE## - ##defineLang|_REDACTOR## / ##defineLang|_ENTITY##<br/>##sortColumn|dest_user## / ##sortColumn|entity_label## + </span> + <span style="text-align:center;flex:1;"> + ##defineLang|_TYPE##<br/>##sortColumn|type_label## + </span> + <span style="text-align:center;flex:1;"> + ##defineLang|_DEST_USER## - ##defineLang|_SHIPPER##<br/>##sortColumn|real_dest## + </span> </div> - </th>--> - <th width="120px;"> - <table width="100%" border="0" cellspacing="0" cellpadding="0" > - <tr> - <th style="text-align:center">##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|<i>#defineLang|_NUM_GED#</i>|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|<i>#defineLang|_CHRONO_NUMBER_SHORT#</i>|## / ##defineLang|_STATUS##<br/>##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|#sortColumn|res_id#|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|#sortColumn|alt_identifier#|## / ##sortColumn|status##</th> - </tr> - </table> </th> - <th style="text-align:center" > - <table width="100%" border="0" cellspacing="0" cellpadding="0" > - <tr> - <th style="font-size:9px;" width ="120px">##defineLang|_SUBJECT## / ##defineLang|_PRIORITY##<br/>##sortColumn|subject## / ##sortColumn|priority##</th> - <th style="font-size:9px;text-align:left;" width ="150px">##defineLang|_CATEGORY##<br/>##sortColumn|category_id##</th> - <th style="font-size:9px;" width ="140px" >##defineLang|_CREATION_DATE##<br/>##sortColumn|creation_date##</th> - <th style="font-size:9px;" width ="170px" >##defineLang|_ENTITY##<br/>##sortColumn|entity_label##</th> - <th style="font-size:9px;" width ="282px" >##defineLang|_TYPE##<br/>##sortColumn|type_label##</th> - <th style="font-size:9px;" width ="50px" >##defineLang|_DEST_USER##<br/>##sortColumn|dest_user##</th> - - </tr> - </table> - </th> </tr> </thead> - <tbody> + <tbody class="listResultContentBody"> #!#RESULT <!-- ----------------------------------------------------------------------- --> - <tr class="##cssLine|col|white##"> - - <td width="10%" ##clickOnLine##> - <div align="center" style ="color:#135F7F;">##loadValue|status####func_isConfidential##</div> - </td> - <td width="90%" align="center" style="padding : 0px; vertical-align:top" ##clickOnLine##> - <table width="100%" border="0" cellspacing="0" cellpadding="0" > - <tr> - <td style="font-size:14px;font-weight:bold;max-width: 1000px;">##loadValue|subject##</td> - <td width="17.5%"> - <table width="100%" border="0" cellspacing="0" cellpadding="0"> - <tr> - <td style="text-align:right">##loadValue|exp_user_id####loadValue|is_multicontacts##</td> - </tr> - - <tr><td> </td><td></td></tr> - <tr> - <td style="text-align:right">##loadValue|dest_user##</td> - </tr> - ##ifStatement|'#loadValue|case_label#'!=null|<tr><td style="text-align:right"><b>#defineLang|_CASE# : </b>#loadValue|case_label#</td></tr>|## - </table> - </td> - </tr> - </table> - </td> - </tr> - <tr class="##cssLineReload##"> - <td style="text-align:center" style="font-size:13px;" title="n°##loadValue|res_id##">##func_cadenas|'#loadValue|locker_user_id#'|'#loadValue|locker_time#'## ##radioButton## ##checkBox##<b>##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|#loadValue|res_id#|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|#loadValue|alt_identifier#|##</b></td> - <td style="text-align:center" > - <table width="100%" border="0" cellspacing="0" cellpadding="0" > - <tr> - - <td style="font-size:10px;" width ="80px">##loadValue|priority##</td> - <td style="font-size:10px;text-align:right;" width ="30px" alt="##defineLang|_CATEGORY##" title="##defineLang|_CATEGORY##" ##clickOnLine##>##loadValue|category_img##</td> - <td style="font-size:10px;" width ="100px" >##loadValue|category_id##</td> - <td style="font-size:10px;text-align:right;" width ="30px" alt="##defineLang|_CREATION_DATE##" title="##defineLang|_CREATION_DATE##" ##clickOnLine##><i class="fa fa-calendar-alt fa-2x"></i> </td> - <td style="font-size:10px;" width ="100px" >##loadValue|creation_date##</td> - <td style="font-size:10px;text-align:right;" width ="40px" alt="##defineLang|_ENTITY##" title="##defineLang|_ENTITY##" ##clickOnLine##><i class="fa fa-sitemap fa-2x"></i></td> - <td style="font-size:10px;" width ="110px" > ##loadValue|entity_label##</td> - <td style="font-size:10px;text-align:right" width ="30px" alt="##defineLang|_TYPE##" title="##defineLang|_TYPE##" ##clickOnLine##><i class="fa fa-file fa-2x"></i> - <td style="font-size:10px;text-align:left" width ="80px" >##loadValue|type_label##</td> - <td style="font-size:10px;" width ="50px">##func_bool_see_multi_contacts##</td> - <td style="font-size:10px;" width ="30px">##func_bool_see_notes##</td> - <td style="font-size:10px;" width ="30px">##showActionAdvResultFA|#defineLang|_ATTACHMENTS#|paperclip|loadRepList('#loadValue|res_id#', 'FT')|#loadValue|count_attachment# == 0##</td> - <td style="font-size:10px;" width ="30px">##showActionFA|#defineLang|_WF#|share-alt|loadDiffList('#loadValue|res_id#')##</td> - <td style="font-size:10px;" width ="30px" >##ifStatement|'#loadValue|filename#'!=null|#showIconDocument#|## </td> - <td style="font-size:10px;" width ="30px" >##showIconDetails##</td> - </tr> - </table> - </td> - </tr> + <tr class="##cssLine|col|white##"> + <td style="width:150px;text-align:center;"> + ##loadValue|status####func_isConfidential##<br/><br/> + <b title="n°##loadValue|res_id##">##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==res_id|#loadValue|res_id#|## ##ifStatement|'#defineLang|_ID_TO_DISPLAY#'==chrono_number|#loadValue|alt_identifier#|##</b> + ##func_cadenas|'#loadValue|locker_user_id#'|'#loadValue|locker_time#'## ##radioButton## ##checkBox## + </td> + <td style="padding: 10px;"> + <span style="display: flex;width: 100%;padding-bottom: 20px;align-items: center;"> + <span style="flex:5;font-weight:bold;padding-left: 10px;font-size:15px;"> + ##loadValue|subject## + </span> + <span style="flex:1;text-align: right;"> + <span title="##defineLang|_DEST_USER## - ##defineLang|_SHIPPER##">##loadValue|exp_user_id####loadValue|is_multicontacts## ##func_bool_see_multi_contacts##</span><br/> + ##ifStatement|'#loadValue|real_dest#'!=null|#loadValue|real_dest#|##<br/><br/> + ##ifStatement|'#loadValue|case_label#'!=null|<b>#defineLang|_CASE# : </b>#loadValue|case_label#|## + </span> + </span> + <span style="display: flex;width: 100%;"> + <span style="flex:1;" title="##defineLang|_PRIORITY##"> + ##loadValue|priority## + </span> + <span style="flex:1;" title="##defineLang|_CATEGORY##"> + ##loadValue|category_img## ##loadValue|category_id## + </span> + <span style="flex:1;" title="##defineLang|_CREATION_DATE##"> + <i class="fa fa-calendar-alt fa-2x"></i> ##loadValue|creation_date## + </span> + <span style="flex:2;" > + <span title="##defineLang|_ASSIGNEE## - ##defineLang|_REDACTOR##">##loadValue|dest_user##</span> <span title="##defineLang|_ENTITY##">(##loadValue|entity_label##)</span> + </span> + <span style="flex:2;" title="##defineLang|_TYPE##"> + <i class="fa fa-file fa-2x"></i> ##loadValue|type_label## + </span> + <span style="flex:1;" title="##defineLang|_TYPE##"> + <span class="actionsTool" style="text-align:center;"> + ##func_bool_see_notes## + ##showActionAdvResultFA|#defineLang|_ATTACHMENTS#|paperclip|loadRepList('#loadValue|res_id#', 'FT')|#loadValue|count_attachment# == 0## + ##showActionFA|#defineLang|_WF#|share-alt|loadDiffList('#loadValue|res_id#')## + ##ifStatement|'#loadValue|filename#'!=null|#showIconDocument#|## + ##showIconDetails## + </span> + </span> + </span> + + </td> + </tr> <tr id="noteList_##loadValue|res_id##" name="noteList_##loadValue|res_id##" style="display: none; border-bottom: solid 1px black; background-color: white;" width="100%"> <td colspan="6" style="background-color: #f2f2f2;"> <div id="divNoteList_##loadValue|res_id##" align="center" style="color: grey;margin:10px;padding:10px;border: 1px dashed #135F7F;"> @@ -184,7 +171,7 @@ Mods ##defineLang|_LOADING_INFORMATIONS## </div> </td> - </tr> + </tr> #!#FOOTER <!-- ----------------------------------------------------------------------- --> -- GitLab