fray...@adullact.net
unread,Aug 18, 2017, 7:11:45 AM8/18/17Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to openmairie-...@googlegroups.com
Author: fraynaud
Date: 2017-08-18 13:11:41 +0200 (Fri, 18 Aug 2017)
New Revision: 956
Modified:
branches/5.0.0/app/rechercheservice.form.php
branches/5.0.0/obj/courrier_arrivee.class.php
branches/5.0.0/sql/pgsql/courrier_arrivee.inc.php
Log:
mise en forme de recherche copie dans courrier arrivee
Modified: branches/5.0.0/app/rechercheservice.form.php
===================================================================
--- branches/5.0.0/app/rechercheservice.form.php 2017-08-17 22:23:49 UTC (rev 955)
+++ branches/5.0.0/app/rechercheservice.form.php 2017-08-18 11:11:41 UTC (rev 956)
@@ -1,10 +1,10 @@
<?php
/**
- * Ce script permet de rechercher les courriers et les lier au courrier en cours d'edition
+ * Ce script permet de rechercher les diffudions de courrier arrivés
* Il retourne des valeurs traitees en javascript
*
* @package openCourrier
- * @author nhaye
+ * @author f.raynaud arles
*/
require_once "../obj/utils.class.php";
@@ -63,8 +63,8 @@
$dossier_diffusion= new dossier($dossier, $f->db, 0);
$dossier_diffusion->affichediffusion_data($courrier, $dossier);
}else{
- require_once ("../obj/courrier.class.php");
- $courrier_diffusion= new courrier($courrier, $f->db, 0);
+ require_once ("../obj/courrier_arrivee.class.php");
+ $courrier_diffusion= new courrier_arrivee($courrier, $f->db, 0);
$courrier_diffusion->affichediffusion_data($courrier);
}
}else{
@@ -119,19 +119,15 @@
$valF['dossier']= $diffusion->diffusion_dossier($courrier,$f->db);
else
$valF['dossier']=$dossier;
- if($valF['dossier']!=''){
$ajouter= $diffusion->ajouter($valF, $f->db, null);
- // traitement erreur
- if ($ajouter != true) {
- echo _("L'element")." ".$valF['service']." "._("est non ajouté dans le dossier").
- " ".$valF['dossier'];
- echo $diffusion->f->isDatabaseError($ajouter);
- $diffusion->end_treatment(__METHOD__, false);
- }else{
- $diffusion->end_treatment(__METHOD__, true);
- }
+ // traitement erreur
+ if ($ajouter != true) {
+ echo _("L'element")." ".$valF['service']." "._("est non ajouté dans le dossier").
+ " ".$valF['dossier'];
+ echo $diffusion->f->isDatabaseError($ajouter);
+ $diffusion->end_treatment(__METHOD__, false);
}else{
- echo _("Diffusion impossible : vous n'avez pas de scan pour ce courrier arrive");
+ $diffusion->end_treatment(__METHOD__, true);
}
}else{
echo _("pas de service saisi");
Modified: branches/5.0.0/obj/courrier_arrivee.class.php
===================================================================
--- branches/5.0.0/obj/courrier_arrivee.class.php 2017-08-17 22:23:49 UTC (rev 955)
+++ branches/5.0.0/obj/courrier_arrivee.class.php 2017-08-18 11:11:41 UTC (rev 956)
@@ -28,7 +28,10 @@
var $nature=1;
var $maj; // affichage diffusion
+ var $validation; // affichage diffusion
+ var $id; // affichage diffusion
+
function courrier_arrivee($id,&$db,$debug) {
$this->constructeur($id,$db,$debug);
}// fin constructeur
@@ -44,7 +47,8 @@
$form->setType('traitement', 'hidden');
}
// Gestion du scan automatique en option dans le config
- if($this->validation==0 and $maj==0){ // *** scan ccipa
+ //if($this->validation==0 and $maj==0){ // *** scan ccipa
+ if($maj==0){ // *** scan ccipa
// affiche pdf ****
$dir=getcwd();
if (file_exists (substr($dir,0,strlen($dir)-4)."/scan/".$_SESSION['coll'].
@@ -81,10 +85,12 @@
}
}else{
$form->setType('scan_pdf','hidden');
- if($maj==0) // en cas d erreur de saisie
+ if($maj==0) // en cas d erreur de saisie validation =1
$form->setType("lib_scan_pdf",'hiddenstatic');
- else
+ else{
$form->setType("lib_scan_pdf",'hidden');
+ $form->setType('scan_pdf','afficheall');
+ }
}// fin scan ccipa
}
@@ -95,11 +101,32 @@
$form->setVal('datearrivee', date('Y-m-d'));
$form->setVal('nature', $this->nature);
$form->setVal("type_courrier",1); // *** voir impossible suppression
+ }else{
+ $form->setVal('scan_pdf', $this->courrier_arrivee_dossier($id));
}
$this->maj=$maj; // affichage diffusion
+ $this->validation=$validation; // affichage diffusion
}// fin validation
}
+ /*
+ * recherche le dossier "arrive"
+ * (prend le premier trouver si plusieurs)
+ * retourne l id du dossier
+ *
+ * appel depuis courrier arrivee
+ */
+ function courrier_arrivee_dossier($id){
+ // dossier arrive
+ $sql="select dossier from ".DB_PREFIXE."dossier where courrier =".$this->getVal('courrier').
+ " and type_dossier =1";
+ $dossier = $this->db->getOne($sql);
+ if (database::isError($dossier)) die($dossier->getMessage().$sql);
+ $this->addToLog("courrier_arrivee.class/dossier: db->query(\"".$sql."\");",VERBOSE_MODE);
+ return $dossier;
+ }
+
+
function setSelect(&$form, $maj,&$db,$debug) {
parent::setSelect($form, $maj,$db,$debug);
if($maj==0){
@@ -149,12 +176,17 @@
function setLayout(&$form, $maj) {
// cas maj
- if ($maj==0 and $this->validation==0){
+ //if ($maj==0 and $this->validation==0){
$form->setBloc('scan_pdf','D',"","col_7"); // bloc a gauche
$form->setBloc('lib_scan_pdf','F',''); // fin bloc de gauche
- //courrier
- $form->setBloc('type_courrier','D',"","col_5"); // bloc droite
- $form->setFieldset('type_courrier','D',_('TYPE DE COURRIER'), "startClosed");
+ //courrier
+ if($maj!=0){
+ $form->setBloc('type_courrier','D',"","col_5"); // bloc droite
+ $form->setFieldset('courrier','D',_('TYPE DE COURRIER'), "startClosed");
+ }else{
+ $form->setBloc('type_courrier','D',"","col_5"); // bloc droite
+ $form->setFieldset('type_courrier','D',_('TYPE DE COURRIER'), "startClosed");
+ }
$form->setFieldset('nature','F','');
//horodatage
$form->setFieldset('datearrivee','D',_('DATE'), "collapsible");
@@ -169,8 +201,8 @@
$form->setFieldset('copie','D',_('COPIE(S)'), "startClosed");
$form->setFieldset('copie','F','');
$form->setBloc('copie','F');
- }else
- parent::setLayout($form, $maj); // si pas maj ancienne presentation
+ //}else
+ // parent::setLayout($form, $maj); // si pas maj ancienne presentation
}
// =================================================================
@@ -421,7 +453,7 @@
$this->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);
// Vérification d'une éventuelle erreur de base de données
$this->f->isDatabaseError($res);
- if($res != ''){
+ if($res){
// remplacement de variable dans l objet courrier
$res=str_replace("&emetteurnom",$val['emetteurnom'],$res);
$res=str_replace("&emetteurprenom",$val['emetteurprenom'],$res);
@@ -434,7 +466,16 @@
$this->valF['objetcourrier']=_("pas d'objet de courrier rempli dans catégorie");
}
+ /* cette surcharge permet de recuperer l id en ajout pour les
+ * diffusions de copies
+ */
+ function setId(&$db = null) {
+ //numero automatique
+ $this->valF[$this->clePrimaire] = $this->f->db->nextId(DB_PREFIXE.$this->table);
+ // id
+ $this->id=$this->valF[$this->clePrimaire];
+ }
@@ -446,27 +487,29 @@
/**
* Point d'entrée permettant d'afficher des informations spécifiques.
*
- * Cette méthode à surcharger permet d'afficher des informations
- * spécifiques après le formulaire.
*
- * affichage de la diffusion en dematerialisation
- * affichage des courriers lies
- *
+ * affichage de la diffusion en copie et traitement
+ * voir pb de validation qui n est pas utilise dans notre cas
+ * affichage en saisie
+ * - apres validation en insert pour saisie de copie
+ * (il faut que le courrier existe)
+ * - avant validation en update (pb de recuperation de $courrier)
+ *
* @return void
+ *
*/
- function afterFormSpecificContent() {
- parent::afterFormSpecificContent();
-
- if(($this->correct AND $this->validation>0) OR $this->maj>0){
- if($this->validation>0 && $this->maj != 2) {
- $courrier=$this->valF['courrier'];
- } else {
- $courrier=$this->val[array_search('courrier',$this->champs,true)];
- }
- echo "<div id=\"affichage_diffusion\" class=\"formEntete ui-corner-all\">";
- $this->affichediffusion_data($courrier);
- echo "</div>";
- }
+ function form_specific_content_after_portlet_actions($maj) {
+ if(($maj==1 and $this->correct!=1)
+ or $maj==3
+ or($maj==0 and $this->correct)){
+ if($maj==0){
+ $courrier=$this->id; // surcharge de setId()
+ }else
+ $courrier=$this->getVal('courrier');
+ echo "<div id=\"affichage_diffusion\" class=\"formEntete ui-corner-all\">";
+ $this->affichediffusion_data($courrier);
+ echo "</div>";
+ }
}
@@ -476,41 +519,52 @@
* Cette méthode à surcharger permet d'afficher des informations
* spécifiques après le formulaire.
*
- * rechercheservice.form.php
+ * javascript app/js/script.js :deleteservice et getservice
+ * php : app/rechercheservice.form.php
*
* @return void
*/
function affichediffusion_data($courrier){
// sql
- $sql = "select diffusion.diffusion, service.libelle as service, diffusion.type_diffusion, ";
- $sql .= " to_char(diffusion.datediffusion ,'DD/MM/YYYY') as "._("datediffusion")." ";
+ $sql = "select diffusion.diffusion, service.libelle as service, type_diffusion.libelle as type, ";
+ $sql .= " etat_diffusion.libelle as etat, to_char(diffusion.datediffusion ,'DD/MM/YYYY') as "._("datediffusion").", ";
+ $sql .= " diffusion.etat_diffusion, diffusion.type_diffusion ";
$sql .= " from ".DB_PREFIXE."diffusion ";
- $sql .= " inner join ".DB_PREFIXE."service on service.service=diffusion.service " ;
+ $sql .= " left join ".DB_PREFIXE."service on service.service=diffusion.service " ;
+ $sql .= " left join ".DB_PREFIXE.
+ "type_diffusion on type_diffusion.type_diffusion=diffusion.type_diffusion " ;
+ $sql .= " left join ".DB_PREFIXE.
+ "etat_diffusion on etat_diffusion.etat_diffusion=diffusion.etat_diffusion " ;
$sql .= " where diffusion.courrier = ".$courrier;
+ if($this->maj == 1) // on n affiche pas traitement en consultation
+ $sql .= " and diffusion.type_diffusion = 2";
$res=$this->db->query($sql);
if (database::isError($res))
die($res->getDebugInfo()." ".$sql);
else {
- echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\"><legend>"._("Diffuser copies")."</legend>";
+ if ($this->maj < 2)
+ $temp = _("Diffuser les copies");
+ else
+ $temp = _("Liste de diffusion");
+
+ echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\"><legend>".$temp."</legend>";
echo "<table class=\"tab-tab\">";
echo "<tr class=\"ui-tabs-nav ui-accordion ui-state-default tab-title\">";
echo "<th class=\"icons\">";
- // En mode modifier seulement
- if ($this->maj == 1) {
- //echo "<a id=\"activator\" href=\"\" onclick=\"getservice(".$courrier
- // .");return false;\" ><span class=\"om-icon om-icon-16 om-icon-fix add-16\" title=\""
- // ._("diffuser un courrier")."\">"._("diffuser un courrier")."</span></a>";
+ // on peut ajouter des diffusions qu en mode ajouter et modifier
+ if ($this->maj < 2) {
echo "<a id=\"activator\" href=\"\" onclick=\"getservice(".$courrier
.");return false;\" ><span class=\"om-icon om-icon-16 om-icon-fix add-16\" title=\""
- ._("diffuser un courrier")."\">"._("diffuser un courrier")."</span></a>";
+ ._("diffuser un courrier en copie")."\">"._("diffuser un courrier en copie")."</span></a>";
}
echo "</th>";
- echo "<th class=\"title\">"._("diffusion")."</th>";
+ echo "<th class=\"title\">"._("Id")."</th>";
echo "<th class=\"title\">"._("service")."</th>";
- echo "<th class=\"title\">"._("datediffusion")."</th>";
- echo "<th class=\"title\">"._("type_diffusion")."</th>";
+ echo "<th class=\"title\">"._("date")."</th>";
+ echo "<th class=\"title\">"._("type")."</th>";
+ echo "<th class=\"title\">"._("etat")."</th>";
echo "</tr>";
$i=0;
$oddeven=array("odd","even");
@@ -517,9 +571,11 @@
while ($line=$res->fetchrow(DB_FETCHMODE_ASSOC)) {
echo "<tr class=\"tab-data ".$oddeven[$i%2]."\">";
echo "<td class=\"icons\">";
- // Pour ne pas supprimer une diffusion deja envoyé
+ // Pour ne pas supprimer une diffusion deja envoyé +
// pour ne pas supprimer une diffusion en traitement
- if ($this->maj != 3 and $line['type_diffusion']==2 and $line['datediffusion']==null) {
+ if ($this->maj != 3
+ and $line['type_diffusion']==2
+ and $line['etat_diffusion']==1) {
echo "<a href=\"\" onclick=\"deleteservice(".$line['diffusion'].",".$courrier.");return false;\" ><span class=\"om-icon om-icon-16 om-icon-fix delete-16\" title=\""._("Supprimer le lien")."\">"._("Supprimer le lien")."</span></a>";
}
echo "</td>";
@@ -528,7 +584,8 @@
echo '<td>'.$line_link_content.$line['diffusion'].'</a></td>';
echo '<td>'.$line_link_content.$line['service'].'</a></td>';
echo '<td>'.$line_link_content.$line['datediffusion'].'</a></td>';
- echo '<td>'.$line_link_content.$line['typetraitement'].'</a></td>';
+ echo '<td>'.$line_link_content.$line['type'].'</a></td>';
+ echo '<td>'.$line_link_content.$line['etat'].'</a></td>';
echo "</tr>";
$i++;
}
Modified: branches/5.0.0/sql/pgsql/courrier_arrivee.inc.php
===================================================================
--- branches/5.0.0/sql/pgsql/courrier_arrivee.inc.php 2017-08-17 22:23:49 UTC (rev 955)
+++ branches/5.0.0/sql/pgsql/courrier_arrivee.inc.php 2017-08-18 11:11:41 UTC (rev 956)
@@ -48,7 +48,7 @@
LEFT JOIN ".DB_PREFIXE."type_diffusion
ON diffusion.type_diffusion = type_diffusion.type_diffusion
LEFT JOIN ".DB_PREFIXE."etat_diffusion
- ON diffusion.etat_diffusion = etat_diffusion.etat_diffusion ";
+ ON diffusion.etat_diffusion = etat_diffusion.etat_diffusion ";