1 |
<?php |
2 |
/** |
3 |
* Widget - |
4 |
* |
5 |
* @package openfoncier |
6 |
* @version SVN : $Id$ |
7 |
*/ |
8 |
|
9 |
require_once "../obj/utils.class.php"; |
10 |
if (!isset($f)) { |
11 |
$f = new utils(NULL, "dossiers_limites", _("Widget - Dossiers limites 15 / 20 jours")); |
12 |
} |
13 |
|
14 |
// Données |
15 |
// Nombre de jours à afficher |
16 |
$nbJours = explode("=", $content); |
17 |
$nbJours = $nbJours[1]; |
18 |
|
19 |
// Création de la requête de récupération des dossiers |
20 |
$sql = |
21 |
"SELECT |
22 |
dossier.dossier, |
23 |
dossier.dossier_libelle, |
24 |
dossier.date_limite, |
25 |
COALESCE(demandeur.particulier_nom, demandeur.personne_morale_denomination) |
26 |
AS nom_petitionnaire |
27 |
FROM |
28 |
".DB_PREFIXE."dossier |
29 |
LEFT JOIN |
30 |
".DB_PREFIXE."lien_dossier_demandeur |
31 |
ON |
32 |
dossier.dossier = lien_dossier_demandeur.dossier |
33 |
LEFT JOIN |
34 |
".DB_PREFIXE."demandeur |
35 |
ON |
36 |
lien_dossier_demandeur.demandeur = demandeur.demandeur |
37 |
LEFT JOIN |
38 |
".DB_PREFIXE."dossier_autorisation |
39 |
ON |
40 |
dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation |
41 |
LEFT JOIN |
42 |
".DB_PREFIXE."dossier_autorisation_type_detaille |
43 |
ON |
44 |
dossier_autorisation.dossier_autorisation_type_detaille = |
45 |
dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
46 |
LEFT JOIN |
47 |
".DB_PREFIXE."dossier_autorisation_type |
48 |
ON |
49 |
dossier_autorisation_type_detaille.dossier_autorisation_type= |
50 |
dossier_autorisation_type.dossier_autorisation_type |
51 |
LEFT JOIN |
52 |
".DB_PREFIXE."instructeur |
53 |
ON |
54 |
dossier.instructeur=instructeur.instructeur |
55 |
LEFT JOIN |
56 |
".DB_PREFIXE."om_utilisateur |
57 |
ON |
58 |
instructeur.om_utilisateur=om_utilisateur.om_utilisateur |
59 |
WHERE |
60 |
date_limite <= CURRENT_TIMESTAMP + $nbJours * interval '1 day' AND |
61 |
LOWER(dossier.accord_tacite) = 'oui' AND |
62 |
LOWER(dossier_autorisation_type.code) <> 'dp' AND |
63 |
LOWER(dossier_autorisation_type.code) <> 'cu' AND "; |
64 |
|
65 |
// Si l'utilisateur n'est pas un divisionnaire |
66 |
// alors on n'affiche que ses dossiers à qualifier |
67 |
if(!$f->isUserDivisionnaire() && !$f->isUserChef()) { |
68 |
$sql .= " om_utilisateur.login='".$_SESSION['login']."' AND "; |
69 |
} |
70 |
|
71 |
$sql .= " dossier.avis_decision IS NULL |
72 |
ORDER BY |
73 |
dossier.date_limite |
74 |
LIMIT 10"; |
75 |
|
76 |
// Exécution de la requête |
77 |
$res = $f->db->query($sql); |
78 |
$f->addToLog("app/widget_dossiers_limites.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
79 |
$f->isDatabaseError($res); |
80 |
|
81 |
// Affiche des données résultats |
82 |
if ( $res->numrows() > 0 ){ |
83 |
|
84 |
$message = _("Voici la liste de vos dossiers limites : "); |
85 |
$f->displayMessage("transparent", $message); |
86 |
|
87 |
echo '<table class="tab-tab">'; |
88 |
|
89 |
// Entête de tableau |
90 |
echo '<thead>'; |
91 |
echo '<tr class="ui-tabs-nav ui-accordion ui-state-default tab-title">'; |
92 |
//echo '<th class="title col-0 firstcol">'; |
93 |
// echo '<span class="name">'; |
94 |
// echo '</span>'; |
95 |
//echo '</th>'; |
96 |
echo '<th class="title col-0 firstcol">'; |
97 |
echo '<span class="name">'; |
98 |
echo _('dossier'); |
99 |
echo '</span>'; |
100 |
echo '</th>'; |
101 |
echo '<th class="title col-0 firstcol">'; |
102 |
echo '<span class="name">'; |
103 |
echo _('nom_petitionnaire'); |
104 |
echo '</span>'; |
105 |
echo '</th>'; |
106 |
echo '<th class="title col-0 firstcol">'; |
107 |
echo '<span class="name">'; |
108 |
echo _('date_limite'); |
109 |
echo '</span>'; |
110 |
echo '</th>'; |
111 |
echo '</tr>'; |
112 |
echo '</thead>'; |
113 |
|
114 |
echo '<tbody>'; |
115 |
|
116 |
// Données dans le tableau |
117 |
while ( $row =& $res->fetchRow(DB_FETCHMODE_ASSOC) ) { |
118 |
|
119 |
echo '<tr class="tab-data odd">'; |
120 |
|
121 |
// Icône de visualisation |
122 |
// Numéro de dossier |
123 |
//echo '<td class="icons">'; |
124 |
// echo '<a class="lienTable" |
125 |
// href="form.php?obj=dossier_instruction&action=3&idx='.$row[0].'&premier=0&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=tab">'; |
126 |
// echo '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'; |
127 |
// echo _('Consulter'); |
128 |
// echo '</span>'; |
129 |
// echo '</a>'; |
130 |
//echo '</td>'; |
131 |
|
132 |
// Numéro de dossier |
133 |
echo '<td class="col-1 firstcol">'; |
134 |
echo '<a class="lienTable" |
135 |
href="form.php?obj=dossier_instruction&action=3&idx='.$row["dossier"].'&idz='.$row["dossier_libelle"].'&premier=0&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=tab">' |
136 |
.$row["dossier_libelle"] |
137 |
.'</a>'; |
138 |
echo '</td>'; |
139 |
|
140 |
// Nom du pétitionnaire |
141 |
echo '<td class="col-1">'; |
142 |
echo '<a class="lienTable" |
143 |
href="form.php?obj=dossier_instruction&action=3&idx='.$row["dossier"].'&idz='.$row["dossier_libelle"].'&premier=0&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=tab">' |
144 |
.$row["nom_petitionnaire"] |
145 |
.'</a>'; |
146 |
echo '</td>'; |
147 |
|
148 |
// Date limite |
149 |
echo '<td class="col-2 lastcol">'; |
150 |
echo '<a class="lienTable" |
151 |
href="form.php?obj=dossier_instruction&action=3&idx='.$row["dossier"].'&idz='.$row["dossier_libelle"].'&premier=0&advs_id=&recherche=&tricol=&selectioncol=&valide=&retour=tab">' |
152 |
.$f->formatDate($row["date_limite"]) |
153 |
.'</a>'; |
154 |
echo '</td>'; |
155 |
|
156 |
echo "</tr>"; |
157 |
} |
158 |
|
159 |
echo '</tbody>'; |
160 |
|
161 |
echo '</table>'; |
162 |
|
163 |
$footer = "../scr/tab.php?obj=dossiers_limites&nbj=".$nbJours; |
164 |
|
165 |
// Si l'utilisateur est un divisionnaire ou chef de service |
166 |
// alors on affiche tous les dossiers limites |
167 |
if($f->isUserDivisionnaire() || $f->isUserChef()) { |
168 |
$footer = "../scr/tab.php?obj=dossiers_tous_limites&nbj=".$nbJours; |
169 |
} |
170 |
$footer_title = _("Voir tous mes dossiers limites"); |
171 |
} |
172 |
else{ |
173 |
|
174 |
echo _("Vous n'avez pas de dossiers limites pour le moment."); |
175 |
} |
176 |
?> |