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' => ''._('Ajouter plusieurs').'',
'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' => ''._('Ajouter consultation d\'un tiers').'',
'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'];