f; } if ($f->is_option_afficher_localisation_colonne_dossier() === true) { // numéro de dossier et localisation dans le title du span $title_span_dossier = "dossier.dossier_libelle, '\n', $trim_concat_terrain"; $select__dossier_libelle__column = "CONCAT('', dossier.dossier_libelle, '')"; } // Le tri sur le titre de la colonne localisation ne doit pas être fait // dans la sous-requete utilisee pour le nom du dossier. // Cependant, il est necessaire de l'ajouter pour pouvoir trier sur la // colonne localisation. $trim_concat_terrain = ' -- use_column_name_to_sort'.$trim_concat_terrain; if ($f->is_option_afficher_couleur_dossier() === true) { $select__dossier_libelle__column = sprintf( 'CONCAT( \'%1$s\', dossier.dossier_libelle, \'%2$s\' )', sprintf('
', $title_span_dossier, 'dossier.dossier_libelle', 'CONCAT(\'datd-\', dossier_autorisation_type_detaille.code)', 'COALESCE(dossier_autorisation_type_detaille.couleur, \'bbbbbb\')' ), '
' ); } $select__dossier_libelle__column_as = sprintf('%s as "%s"', $select__dossier_libelle__column, __("dossier_libelle")); // Array des colonnes de base pour l'affichage normalisée dans les widget // elle contient la colonne dossier, le picto Geom, la source de la demat et le libelle du dossier $array_base_ct_select_champaffiche = array( 'dossier.dossier as "'._("dossier").'"', 'dossier.geom as "geom_picto"', 'demande.source_depot as "demat_picto"', $select__dossier_libelle__column_as ); // /!\ DOUBLON AVEC LES VARIABLES DE MÊME NOMS DANS LE FICHIER dossier.inc.php // Ce fichier étant importé dans d'autre fichiers qui importent déjà dossier.inc.php par sécurité // il n'a pas été re-importé dans dossier.inc.php. // Affichage des enjeux pour les listings de dossier. // - si le dossier a 1 seul enjeu affiche, une icone /!\ avec la couleur de l'enjeu // - si le dossier a plusieurs enjeux, affiche une icone /!\\\ avec une couleur par défaut $select_enjeux_dossier = sprintf( '-- use_column_name_to_sort CASE ( -- La couleur depend du nombre d enjeu, on les denombre donc pour savoir -- comment les afficher SELECT count(*) FROM %1$slien_dossier_enjeux WHERE lien_dossier_enjeux.dossier = dossier.dossier) -- 1 enjeu : icone a la couleur associe a l enjeu WHEN 1 THEN ( SELECT CONCAT( \'\') FROM %1$slien_dossier_enjeux INNER JOIN %1$senjeux ON lien_dossier_enjeux.enjeux = enjeux.enjeux WHERE lien_dossier_enjeux.dossier = dossier.dossier) -- Aucun enjeu : rien n est affiche WHEN 0 THEN \'\' -- Plusieurs enjeux : recupere la couleur de l enjeu de priorite la plus elevee -- La priorite allant en decroissant et 1 etant la priorite la plus haute ELSE ( SELECT CONCAT( \'\' ) FROM ( SELECT dossier, priorite, libelle, couleur FROM %1$slien_dossier_enjeux INNER JOIN %1$senjeux ON lien_dossier_enjeux.enjeux = enjeux.enjeux WHERE lien_dossier_enjeux.dossier = dossier.dossier ORDER BY priorite ASC, enjeux.libelle ) as lesenjeux GROUP BY dossier) END AS "enjeu"', DB_PREFIXE ); // Supprime le HTML si on est dans le cas d'un export CSV if ($f->get_submitted_get_value('mode') === 'export_csv') { $select_enjeux_dossier = sprintf( '(SELECT string_agg(enjeux.libelle::text, \', \') FROM %1$slien_dossier_enjeux INNER JOIN %1$senjeux ON lien_dossier_enjeux.enjeux = enjeux.enjeux WHERE lien_dossier_enjeux.dossier = dossier.dossier GROUP BY dossier) AS "enjeu"', DB_PREFIXE ); } $order_by_enjeux_priorite_dossier = sprintf( '(SELECT MIN(priorite) FROM %1$slien_dossier_enjeux INNER JOIN %1$senjeux ON lien_dossier_enjeux.enjeux = enjeux.enjeux WHERE lien_dossier_enjeux.dossier = dossier.dossier GROUP BY dossier) NULLS LAST', DB_PREFIXE );