get_submitted_get_value('filtre'); if (! empty($filtreContexte)) { $filtre = $filtreContexte; } // $params = array( "filtre" => $filtre, "contexte" => $contexte, "dossier_cloture" => isset($_GET['dossier_cloture']) ? $_GET['dossier_cloture'] : "", ); /** * Récupération de la configuration de la requête à partir du widget. */ // require_once "../obj/om_widget.class.php"; include "../sql/pgsql/app_om_tab_common_select.inc.php"; $om_widget = new om_widget(0); // $conf = $om_widget->get_config_messages_retours($params); /** * */ // $tab_description = $conf["message_help"]; // $tab_title = _("message"); // $displayed_fields_begin = array( 'dossier_message.dossier_message as "'._("dossier_message").'"', $select__dossier_libelle__column_as, 'dossier_message.type as "'._("type").'"', 'dossier_message.emetteur as "'._("emetteur").'"', 'dossier_message.destinataire as "'._("destinataire").'"', 'to_char(dossier_message.date_emission ,\'DD/MM/YYYY\') as "'._("date_emission").'"', 'to_char(dossier_message.date_emission ,\'HH24:MI:SS\') as "'._("heure_emission").'"', ); $displayed_field_instructeur = array( 'instructeur.nom as "'._("instructeur").'"', 'instructeur_secondaire.nom as "'.__("instructeur secondaire").'"' ); // Dans le contexte contentieux, affiche les deux instructeurs if ($contexte === 'contentieux') { // $displayed_field_instructeur = array( 'CONCAT_WS(\' / \', instructeur.nom, instructeur_secondaire.nom) as "'._("juriste / technicien").'"', ); } $displayed_field_division = array( 'division.code as "'._("division").'"', ); $displayed_field_collectivite = array( 'om_collectivite.libelle as "'._("collectivite").'"', ); $displayed_fields_end = array($select_enjeux_dossier); // FILTRE $sqlFilter = $om_widget->get_query_filter( $conf["query_ct_from"].' WHERE '.$conf["query_ct_where_common"], $filtre ); // Pour les messages en plus du filtre ont souhaite récupérer tous les messages // à destination de la commune pour les collectivité mono if ($conf['arguments']['filtre'] != 'aucun') { if ($this->isCollectiviteMono($_SESSION['collectivite']) === true) { // Modifie la condition du filtre pour récupérer les messages voulus (filtre // instructeur, instructeur_secondaire ou division) ainsi que les messages de // à destination de la commune. // Le filtre récupéré a un 'AND' devant la condition pour éviter une erreur de // base de donnée on le supprime pour ne récupérer que la condition et pouvoir // l'associer à la condition sur le destinataire $sqlFilter['WHERE'] = sprintf( ' AND (%s %s dossier_message.destinataire = \'commune\')', str_replace(' AND ', '', $sqlFilter['WHERE']), ! empty($sqlFilter['WHERE']) ? 'OR' : '' ); } else { // Modifie la condition du filtre pour récupérer les messages voulus (filtre // instructeur, instructeur_secondaire ou division) qui sont à destination de // l'instructeur $sqlFilter['WHERE'] = sprintf( ' %s AND dossier_message.destinataire = \'instructeur\'', $sqlFilter['WHERE'] ); } } // FROM $table = sprintf( '%s %s %s', $conf["query_ct_from"], $sqlFilter['FROM'], $join_enjeux_dossier ); // WHERE $selection = sprintf( "WHERE %s %s", $conf["query_ct_where_common"], $sqlFilter['WHERE'] ); // $tri = " ORDER BY enjeux_dossier.priorite_enjeux, dossier_message.date_emission ASC "; // if ($contexte === 'contentieux') { // $tri = " ORDER BY dossier_message.date_emission ASC "; } // $tab_actions['corner']['ajouter'] = null; /** * Options - ADVSEARCH */ // $advsearch_fields_begin = array( // 'dossier' => array( 'table' => 'dossier_message', 'colonne' => 'dossier', 'type' => 'text', 'libelle' => _('Dossier'), 'taille' => '', 'max' => '', ), // 'type' => array( 'table' => 'dossier_message', 'colonne' => 'type', 'type' => 'select', 'libelle' => _('Type message'), 'subtype' => 'sqlselect', 'sql' => 'SELECT DISTINCT(dossier_message.type), dossier_message.type FROM '.DB_PREFIXE.'dossier_message WHERE dossier_message.lu IS FALSE ORDER BY dossier_message.type ASC', ), // 'emetteur' => array( 'colonne' => 'emetteur', 'table' => 'dossier_message', 'libelle' => _('Emetteur'), 'type' => 'text', 'taille' => '', 'max' => '', ), // 'date_emission' => array( 'colonne' => 'date_emission', 'table' => 'dossier_message', 'libelle' => _('Date d\'emission'), 'type' => 'date', 'where' => 'intervaldate', 'taille' => '', ), ); // $advsearch_field_instructeur = array( // 'instructeur' => array( 'colonne' => 'nom', 'table' => 'instructeur', 'libelle' => _('Juriste/Technicien'), 'type' => 'text', 'taille' => '', 'max' => '', ), 'instructeur_2' => array( 'table' => 'dossier', 'colonne' => 'instructeur_2', 'type' => 'select', 'libelle' => __('Instructeur secondaire'), 'subtype' => 'sqlselect', 'sql' => "SELECT instructeur.instructeur, instructeur.nom FROM ".DB_PREFIXE."instructeur INNER JOIN ".DB_PREFIXE."instructeur_qualite ON instructeur_qualite.instructeur_qualite=instructeur.instructeur_qualite WHERE ((instructeur.om_validite_debut IS NULL AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE)) OR (instructeur.om_validite_debut <= CURRENT_DATE AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE))) AND LOWER(instructeur_qualite.code) = LOWER('instr') ORDER BY nom", ), ); // Dans le contexte contentieux, affiche les deux instructeurs if ($contexte === 'contentieux') { // $advsearch_field_instructeur = array( 'instructeur' => array( 'table' => 'dossier', 'colonne' => 'instructeur', 'type' => 'select', 'libelle' => _('Juriste'), 'subtype' => 'sqlselect', 'sql' => "SELECT instructeur.instructeur, instructeur.nom FROM ".DB_PREFIXE."instructeur INNER JOIN ".DB_PREFIXE."instructeur_qualite ON instructeur_qualite.instructeur_qualite=instructeur.instructeur_qualite WHERE ((instructeur.om_validite_debut IS NULL AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE)) OR (instructeur.om_validite_debut <= CURRENT_DATE AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE))) AND LOWER(instructeur_qualite.code) = LOWER('juri') ORDER BY nom", ), // 'instructeur_2' => array( 'table' => 'dossier', 'colonne' => 'instructeur_2', 'type' => 'select', 'libelle' => _('Technicien'), 'subtype' => 'sqlselect', 'sql' => "SELECT instructeur.instructeur, instructeur.nom FROM ".DB_PREFIXE."instructeur INNER JOIN ".DB_PREFIXE."instructeur_qualite ON instructeur_qualite.instructeur_qualite=instructeur.instructeur_qualite WHERE ((instructeur.om_validite_debut IS NULL AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE)) OR (instructeur.om_validite_debut <= CURRENT_DATE AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE))) AND LOWER(instructeur_qualite.code) = LOWER('tech') ORDER BY nom", ), ); } // $advsearch_field_division = array( // 'division' => array( 'colonne' => 'code', 'table' => 'division', 'libelle' => _('Division'), 'type' => 'text', 'taille' => '', 'max' => '', ), ); // $advsearch_field_collectivite = array( // 'collectivite' => array( 'table' => 'om_collectivite', 'colonne' => 'libelle', 'type' => 'text', 'libelle' => _('om_collectivite'), 'taille' => '', 'max' => '', ), ); // $advsearch_fields_end = array( 'enjeu' => array( 'table' => 'enjeux_dossier', 'colonne' => 'enjeux_libelles', 'type' => 'text', 'libelle' => __('Enjeu'), 'taille' => '', 'max' => '', 'help' => __("Recherche parmis la liste d'enjeux associés au dossier. Vous devez utiliser les '*' au début du terme que vous recherchez. Exemple, pour chercher tous les dossier ayant un enjeu 'test' vous devez saisir '*test'.") ), ); ?>