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, '')"; } 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")); // /!\ 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 = 'CASE -- si le dossier a 1 seul enjeu affiche, une icone /!\ avec la couleur de l enjeu WHEN enjeux_dossier.nb_enjeux = 1 THEN CONCAT( \'\') -- si le dossier a plusieurs enjeux, affiche une icone /!\\\ avec la couleur de l \enjeu à la priorité la plus élévée WHEN enjeux_dossier.nb_enjeux > 1 THEN CONCAT( \'\') END AS enjeu'; // 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 = 'enjeux_dossier.enjeux_libelles AS enjeu'; } $join_enjeux_dossier = sprintf( "LEFT JOIN ( SELECT dossier_enjeux.dossier, -- La couleur est utilisée pour les dossier avec 1 enjeu. Dans ce cas 1 seule -- couleur sera récupérée. Elle peut donc être utilisée directement dans le html. string_agg(dossier_enjeux.couleur::text, ',') AS enjeux_colors, -- Liste des libellés des enjeux séparés par un retour chariot pour affichage -- en tant que title sur le listing. string_agg(dossier_enjeux.libelle::text, '\n') AS enjeux_libelles, -- Nombre d enjeux liés à un dossier ce qui permet de savoir quelle icone afficher COUNT(dossier_enjeux.enjeux) AS nb_enjeux, -- Ordre de priorité défini par l'enjeu le plus prioritaire, la plus grande priorité -- étant 1 CASE WHEN MIN(dossier_enjeux.priorite) >= 1 THEN MIN(dossier_enjeux.priorite) ELSE NULL END AS priorite_enjeux FROM (SELECT lien_dossier_enjeux.dossier, enjeux.priorite, enjeux.couleur, enjeux.libelle, lien_dossier_enjeux.enjeux FROM %1\$slien_dossier_enjeux LEFT JOIN %1\$senjeux ON lien_dossier_enjeux.enjeux = enjeux.enjeux ORDER BY priorite ASC ) as dossier_enjeux GROUP BY dossier_enjeux.dossier ) AS enjeux_dossier ON enjeux_dossier.dossier = dossier.dossier", DB_PREFIXE );