/[openfoncier]/branches/3.14.x/app/document_numerise.view.php
ViewVC logotype

Contents of /branches/3.14.x/app/document_numerise.view.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3343 - (show annotations)
Thu Mar 19 17:34:18 2015 UTC (9 years, 10 months ago) by vpihour
File size: 9389 byte(s)
Ajout de la branche

1 <?php
2 /**
3 * Ce script permet l'affiche des documents numérisés dans des tableaux organisés
4 * par la date de création et la catégorie
5 *
6 * @package openads
7 * @version SVN : $Id:
8 */
9
10 //
11 require_once "../obj/utils.class.php";
12
13 //Instance utils
14 $f = new utils("nohtml", "document_numerise_view", _("Pieces"));
15
16 //
17 echo "\n<div id=\"sousform-document_numerise\">\n";
18 echo "\n<!-- ########## START FORMULAIRE ########## -->\n";
19 echo "<div class=\"formEntete ui-corner-all\">\n";
20
21 //
22 ($f->get_submitted_get_value('idxformulaire')!==null ? $idxformulaire = $f->get_submitted_get_value('idxformulaire') : $idxformulaire = "");
23 ($f->get_submitted_get_value('retourformulaire')!==null ? $retourformulaire = $f->get_submitted_get_value('retourformulaire') : $retourformulaire = "");
24
25 //L'identifiant du dossier est $idxformualire de base pour les objets dossier_instruction
26 //Depuis l'objet dossier_autorisation $dossier posséderas le numéros du dossier d'autorisation
27 $dossier = $idxformulaire;
28
29 //Si le formulaire est demande_avis_encours ou demande_avis_passee
30 if ($retourformulaire == 'demande_avis_encours' || $retourformulaire == 'demande_avis_passee') {
31
32 // Récupération du dossier en fonction du numéro de consultation
33 $sql = "SELECT dossier
34 FROM ".DB_PREFIXE."consultation
35 WHERE consultation=$idxformulaire";
36 $dossier = $f->db->getone($sql);
37 $f->addToLog("app/document_numerise.view.php: db->getone(\"".$sql."\");", VERBOSE_MODE);
38 $f->isDatabaseError($dossier);
39 }
40
41 // Récupération des documents numérisés
42 $select = "SELECT document_numerise.document_numerise as document_numerise,
43 document_numerise.date_creation as date_creation,
44 document_numerise_type_categorie.libelle as categorie,
45 document_numerise.nom_fichier as nom_fichier,
46 document_numerise_type.libelle as type_document,
47 document_numerise.uid as uid ";
48
49 //table de la requête
50 $from = "FROM ".DB_PREFIXE."document_numerise
51 LEFT JOIN ".DB_PREFIXE."document_numerise_type
52 ON document_numerise.document_numerise_type = document_numerise_type.document_numerise_type
53 LEFT JOIN ".DB_PREFIXE."document_numerise_type_categorie
54 ON document_numerise_type.document_numerise_type_categorie = document_numerise_type_categorie.document_numerise_type_categorie ";
55 if ($retourformulaire == 'dossier_autorisation') {
56 $select .= ", dossier.dossier as dossier ";
57 $from .= " LEFT JOIN ".DB_PREFIXE."dossier
58 ON document_numerise.dossier = dossier.dossier
59 LEFT JOIN ".DB_PREFIXE."dossier_autorisation
60 ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation ";
61 }
62
63 // La condition de la requête
64 $where = " WHERE document_numerise.dossier = '$dossier' ";
65 // Si le formulaire est celui des dossiers d'autorisations
66 if ($retourformulaire == 'dossier_autorisation') {
67 $where = " WHERE dossier_autorisation.dossier_autorisation = '$dossier'
68 AND (document_numerise_type.code = 'ART'
69 OR document_numerise_type.code = 'AVIS'
70 OR document_numerise_type.code = 'DOC'
71 OR document_numerise_type.code = 'DAACT'
72 OR document_numerise_type.code = 'DOS01'
73 OR document_numerise_type.code = 'DOS02' )";
74 }
75
76 // Le tri sur la requête
77 $tri = " ORDER BY document_numerise.date_creation, document_numerise.nom_fichier";
78
79 // Concaténation des morceaux de la requête
80 $sql = $select.$from.$where.$tri;
81 $res = $f->db->query($sql);
82 $f->addToLog("app/document_numerise.view.php: db->query(\"".$sql."\");", VERBOSE_MODE);
83 $f->isDatabaseError($res);
84
85 // Requête sql pour recupèrere la division de l'instructeur en session
86 $sql_instr_division = "SELECT division.division
87 FROM ".DB_PREFIXE."instructeur
88 LEFT JOIN ".DB_PREFIXE."division
89 ON division.division=instructeur.division
90 LEFT JOIN ".DB_PREFIXE."om_utilisateur
91 ON instructeur.om_utilisateur=om_utilisateur.om_utilisateur
92 WHERE om_utilisateur.login = '".$_SESSION['login']."'";
93 $division = $f->db->getOne($sql_instr_division);
94 $f->addToLog("app/document_numerise.view.php(): db->getOne(\"".$sql_instr_division."\");", VERBOSE_MODE);
95 $f->isDatabaseError($division);
96
97 //En-tête de tableau pour afficher la date et la catégorie des documents
98 $header =
99 "
100 <thead>
101 <tr class='ui-tabs-nav ui-accordion ui-state-default tab-title'>
102 <th class='title col-0 firstcol %s' colspan=2>
103 <span class='name'>
104 %s
105 </span>
106 </th>
107 </tr>
108 </thead>
109 ";
110
111 //Lien permettant d'ouvrir le document en pdf
112 $link = "
113 <a class='lienTable'
114 href=\"../spg/file.php?obj=document_numerise&champ=uid&id=%s\" target='_blank'>
115 %s
116 </a>";
117 if ($retourformulaire == "dossier_instruction"
118 && $f->isUserAdministrateur()) {
119 // l'administrateur à la permission d'accéder à la fiche du document
120 $link = "<a class='lienTable'
121 onclick=\"ajaxIt('document_numerise','../scr/sousform.php?obj=document_numerise&action=3&idx=%s&tri=&premier=0&recherche=&objsf=document_numerise&premiersf=0&retourformulaire=$retourformulaire&idxformulaire=$dossier&trisf=&retour=tab');\"
122 href=\"#\">
123 %s
124 </a>";
125 }
126
127 //Récupère le statut du dossier d'instruction
128 $sql = "SELECT etat.statut
129 FROM ".DB_PREFIXE."etat
130 LEFT JOIN
131 ".DB_PREFIXE."dossier
132 ON
133 etat.etat = dossier.etat
134 WHERE dossier.dossier = '".$idxformulaire."'";
135 $statut = $f->db->getOne($sql);
136 $f->addToLog("app/document_numerise.view.php: db->getOne(\"".$sql."\");", VERBOSE_MODE);
137 $f->isDatabaseError($statut);
138
139 // Seul un administrateur peut ajouter des pièces
140 if (($retourformulaire == 'dossier'
141 OR $retourformulaire == 'dossier_instruction'
142 OR $retourformulaire == 'dossier_instruction_mes_encours'
143 OR $retourformulaire == 'dossier_instruction_tous_encours'
144 OR $retourformulaire == 'dossier_instruction_mes_clotures'
145 OR $retourformulaire == 'dossier_instruction_tous_clotures')
146 && $f->isUserAdministrateur()) {
147
148 //Affiche bouton ajouter
149 echo "<p><a onclick=\"ajaxIt('document_numerise','../scr/sousform.php?obj=document_numerise&action=0&tri=&objsf=document_numerise&premiersf=0&retourformulaire=$retourformulaire&idxformulaire=$dossier&trisf=&retour=tab');\" href='#'>
150 <span class='om-icon om-icon-16 om-icon-fix add-16' title='Ajouter'>Ajouter</span>
151 Ajouter un document
152 </a></p>";
153 }
154
155 //
156 $i = 1;
157
158 //Résultat à $i - 1 pour tester la date et catégorie des documents
159 $lastRes = array();
160 $lastRes['date_creation'][0] = "";
161 $lastRes['categorie'][0] = "";
162
163 //Tant qu'il y a des résultats
164 while( $row = &$res->fetchRow(DB_FETCHMODE_ASSOC) ) {
165
166 $lastRes['date_creation'][$i] = $row['date_creation'];
167 $lastRes['categorie'][$i] = $row['categorie'];
168
169 //Si la date de création est différente de celle du résultat juste avant
170 if ($row['date_creation'] != $lastRes['date_creation'][$i-1]) {
171 //Si ce n'est pas le premier résultat on ferme la table
172 if($i != 1) {
173 echo "</table>";
174 }
175
176 //Affiche la table
177 echo "<table class='tab-tab document_numerise'>";
178 //Affiche le header de la date
179 printf($header, 'headerDate', $f->formatDate($row['date_creation']));
180 //Affiche le header de la catégorie
181 printf($header,'headerCat', $row['categorie']);
182
183 //Style des lignes
184 $style = 'odd';
185
186 }
187
188 //Si la date de création est identique à celle du résultat juste avant
189 //et la catégorie est différente de celle du résultat juste avant
190 if ($row['date_creation'] == $lastRes['date_creation'][$i-1] && $row['categorie'] != $lastRes['categorie'][$i-1]) {
191 //Affiche le header de la catégorie
192 printf($header,'headerCat', $row['categorie']);
193
194 //Style des lignes
195 $style = 'odd';
196 }
197
198 //Si toujours dans la catégorie on change le style de la ligne
199 if ($row['categorie'] == $lastRes['categorie'][$i-1] && $row['date_creation'] == $lastRes['date_creation'][$i-1]) {
200 $style = ($style=='even')?'odd':'even';
201 }
202
203 //
204 echo '<tr class="tab-data '.$style.'">';
205
206 echo '<td class="col-0 firstcol">';
207 //Si on est dans la visualisation du DA, on affiche le numéro du dossier
208 //d'instruction auquel est rataché la pièce et le nom du fichier
209 if ($retourformulaire === 'dossier_autorisation'){
210 printf ($link, $row['document_numerise'], $row['dossier']." - ".$row['nom_fichier']);
211 }
212 else {
213 //On affiche que le nom du fichier
214 printf ($link, $row['document_numerise'], $row['nom_fichier']);
215
216 }
217 echo '</td>';
218
219 // Libelle du type du document
220 echo '<td class="col-1">';
221 printf ($link, $row['document_numerise'], $row['type_document']);
222 echo '</td>';
223
224 echo "</tr>";
225
226 //
227 $i++;
228
229 }
230
231 //On ferme la table
232 echo "</table>";
233
234 //S'il n'y a pas de résultat on affiche "Aucun enregistrements"
235 if ($res->numrows() == 0) {
236 echo "<p class='noData'>"._("Aucun enregistrements")."<p>";
237 }
238
239 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26