contexte_dossier_instruction()) { // $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").'"', $case_element_consulte.' as "'._("service / tiers").'"', $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' => '', 'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'), ); // Ajout d'une action supplémentaire - ajout de consultations de tiers // Récupère une instance de consultation pour vérifier si des tiers sont paramétrés // et si c'est le cas l'action d'ajout de consultation vers des tiers peut être affiché $instConsultation = $this->get_inst__om_dbform(array( 'obj' => 'consultation', 'idx' => ']' )); if ($instConsultation->is_tiers_parametre()) { $tab_actions['corner']['ajouter_consultation_tiers'] = array( 'lien' => ''.OM_ROUTE_SOUSFORM.'&obj='.$obj.'&action=41&idx=0', 'id' => '&tri='.$tricolsf.'&objsf='.$obj.'&premiersf='.$premier.'&retourformulaire='.$retourformulaire.'&idxformulaire='.$idxformulaire.'&trisf='.$tricolsf.'&retour=form', 'lib' => '', 'rights' => array('list' => array($obj, $obj.'_ajouter_consultation_tiers'), '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' => ""._("Masquer dans les éditions")."", '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' => ""._("Afficher dans les éditions")."", '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"; // Ajout de la gestion des groupes et confidentialité à la requête du listing $sqlFiltreGroup = $this->get_sql_filtre_groupe($table.$selection); $selection .= $sqlFiltreGroup['WHERE']; $table .= $sqlFiltreGroup['FROM']; // Ajout du filtrage des sous dossier à la requête d'affichage du listing $sqlFiltreSD = $this->get_sql_filtre_sous_dossier($table.$selection); $selection .= $sqlFiltreSD['WHERE']; $table .= $sqlFiltreSD['FROM'];