<?php /** * * * @package openfoncier * @version SVN : $Id: consultation.inc.php 5851 2016-02-02 16:45:09Z nmeucci $ */ // include "../gen/sql/pgsql/consultation.inc.php"; /*Titre de la page*/ $ent = _("consultation"); // $case_type_consultation = 'CASE WHEN service.type_consultation=\'avec_avis_attendu\' THEN \''._("avec avis attendu").'\' WHEN service.type_consultation=\'pour_conformite\' THEN \''._("pour conformite").'\' WHEN service.type_consultation=\'pour_information\' THEN \''._("pour information").'\' END'; $case_consultation_lu = "case consultation.lu when 't' then 'Oui' else 'Non' end"; $case_consultation_visible = "case consultation.visible when 't' then 'Oui' else 'Non' end"; // SELECT $champAffiche = array( 'consultation.consultation as "'._("consultation").'"', 'consultation.dossier as "'._("dossier").'"', 'to_char(consultation.date_envoi ,\'DD/MM/YYYY\') as "'._("date_envoi").'"', 'to_char(consultation.date_reception ,\'DD/MM/YYYY\') as "'._("date_reception").'"', 'to_char(consultation.date_retour ,\'DD/MM/YYYY\') as "'._("date_retour").'"', 'to_char(consultation.date_limite ,\'DD/MM/YYYY\') as "'._("date_limite").'"', 'concat(service.abrege,\' - \',service.libelle) as "'._("service").'"', $case_type_consultation.' as "'._("type_consultation").'"', 'avis_consultation.libelle as "'._("avis_consultation").'"', 'instructeur.nom as "'._("instructeur").'"', 'division.code as "'._("division").'"', $case_consultation_lu." as \""._("lu")."\"", $case_consultation_visible." as \""._("visible")."\"" ); $table .= " LEFT JOIN ".DB_PREFIXE."instructeur ON instructeur.instructeur=dossier.instructeur LEFT JOIN ".DB_PREFIXE."om_utilisateur ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur LEFT JOIN ".DB_PREFIXE."division ON dossier.division=division.division"; $tri= "ORDER BY consultation.date_envoi ASC, consultation.consultation"; /** * Gestion particulière de l'affichage du listing des consultations dans le * contexte d'un dossier d'instruction (pour un service consulté) */ if ($retourformulaire == 'service') { // Actions en coin : ajouter $tab_actions['corner']['ajouter'] = NULL; // Actions a gauche : consulter $tab_actions['left']['consulter'] = NULL; } /** * Gestion particulière de l'affichage du listing des consultations dans le * contexte d'un dossier d'instruction (pour l'instructeur) */ if ($retourformulaire == 'dossier' OR $retourformulaire == 'dossier_instruction' OR $retourformulaire == 'dossier_instruction_mes_encours' OR $retourformulaire == 'dossier_instruction_tous_encours' OR $retourformulaire == 'dossier_instruction_mes_clotures' OR $retourformulaire == 'dossier_instruction_tous_clotures' OR $retourformulaire == 'dossier_contentieux_mes_infractions' OR $retourformulaire == 'dossier_contentieux_toutes_infractions' OR $retourformulaire == "dossier_contentieux_mes_recours" OR $retourformulaire == "dossier_contentieux_tous_recours") { // $case_consultation_lu = "case when consultation.avis_consultation is null then '' else case consultation.lu when 't' then 'Oui' else 'Non' end end"; // SELECT $champAffiche = array( 'consultation.consultation as "'._("id").'"', 'to_char(consultation.date_envoi ,\'DD/MM/YYYY\') as "'._("date_envoi").'"', 'to_char(consultation.date_reception ,\'DD/MM/YYYY\') as "'._("date_reception").'"', 'to_char(consultation.date_retour ,\'DD/MM/YYYY\') as "'._("date_retour").'"', 'to_char(consultation.date_limite ,\'DD/MM/YYYY\') as "'._("date_limite").'"', 'concat(service.abrege,\' - \',service.libelle) as "'._("service").'"', $case_type_consultation.' as "'._("type_consultation").'"', 'avis_consultation.libelle as "'._("avis_consultation").'"', $case_consultation_lu." as \""._("lu")."\"", $case_consultation_visible." as \""._("visible")."\"" ); // Ajout d'une action supplémentaire - ajout de consultations multiples $tab_actions['corner']['ajouter_multiple'] = array('lien' => ''.OM_ROUTE_SOUSFORM.'&obj='.$obj.'&action=40&idx=0', 'id' => '&tri='.$tricolsf.'&objsf='.$obj.'&premiersf='.$premier.'&retourformulaire='.$retourformulaire.'&idxformulaire='.$idxformulaire.'&trisf='.$tricolsf.'&retour=tab', 'lib' => '<span class="om-icon om-icon-16 om-icon-fix mut-add-16" title="'._('Ajouter plusieurs').'">'._('Ajouter plusieurs').'</span>', 'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'), ); // Vérifie que l'utilisateur possède la permission bypass. // Vérifie que l'utilisateur est un instructeur, qu'il fait partie de la // division du dossier et que le dossier n'est pas clôturé. // Ces conditions sont identiques à la méthode can_show_or_hide_in_edition() // de la classe consultation permettant d'afficher ou cacher les actions // dans le portlet d'action du formulaire. // Il est nécessaire que ce if et cette méthode restent concordants en tout // point afin que le comportement des actions soit identique depuis le // formulaire et depuis le listing. if ($this->can_bypass("consultation", "visibilite_dans_edition") === true || ($this->getStatutDossier($idxformulaire) != "cloture") && ($this->isUserInstructeur() === true && $this->om_utilisateur["division"] == $this->get_division_from_dossier_without_inst($idxformulaire))) { // Ajout d'actions supplémentaires - Afficher et masquer un consultation dans les éditions $tab_actions['left']['masquer_dans_edition'] = array('lien' => ''.OM_ROUTE_SOUSFORM.'&obj='.$obj.'&action=140&idx=', 'id' => '&tri='.$tricolsf.'&objsf='.$obj.'&premiersf='.$premier.'&retourformulaire='.$retourformulaire.'&idxformulaire='.$idxformulaire.'&trisf='.$tricolsf.'&retour=tab', 'lib' => "<span class=\"om-icon om-icon-16 om-icon-fix unwatch-16\" title=\""._("Masquer dans les éditions")."\">"._("Masquer dans les éditions")."</span>", 'type' => 'action-direct', 'rights' => array('list' => array('consultation', 'consultation_visibilite_dans_edition'), 'operator' => 'OR'), 'ordre' => 100 ); $tab_actions['left']['afficher_dans_edition'] = array('lien' => ''.OM_ROUTE_SOUSFORM.'&obj='.$obj.'&action=130&idx=', 'id' => '&tri='.$tricolsf.'&objsf='.$obj.'&premiersf='.$premier.'&retourformulaire='.$retourformulaire.'&idxformulaire='.$idxformulaire.'&trisf='.$tricolsf.'&retour=tab', 'lib' => "<span class=\"om-icon om-icon-16 om-icon-fix watch-16\" title=\""._("Afficher dans les éditions")."\">"._("Afficher dans les éditions")."</span>", 'type' => 'action-direct', 'rights' => array('list' => array('consultation', 'consultation_visibilite_dans_edition'), 'operator' => 'OR'), 'ordre' => 110 ); // Création d'une option pour afficher l'affichage ou le masquage d'une // consultation dans les édition $options[] = array( 'type' => 'condition', 'field' => $case_consultation_visible, 'case' => array( array( 'values' => array('Non', ), 'style' => 'afficher-consultation-edition', ), array( 'values' => array('Oui', ), 'style' => 'masquer-consultation-edition', ), ), ); } } /** * Options */ // On affiche le champ lu en gras $options[] = array( "type" => "condition", "field" => $case_consultation_lu, "case" => array( "0" => array( "values" => array("Non", ), "style" => "non_lu", ), ), ); /** * Options */ // On met la ligne en couleur selon le type de condition $options[] = array( "type" => "condition", "field" => $case_type_consultation, "case" => array( array( "values" => array(_("avec avis attendu"), ), "style" => "consultation-avec-avis-attendu", ), array( "values" => array(_("pour conformite"), ), "style" => "consultation-pour-conformite", ), array( "values" => array(_("pour information"), ), "style" => "consultation-pour-information", ), ), ); /** * Gestion particulière de l'affichage du listing dans le contexte d'un dossier * d'instruction */ include "../sql/pgsql/dossier_instruction_droit_specifique_par_division.inc.php"; // Gestion des groupes et confidentialité include('../sql/pgsql/filter_group.inc.php');