[opencourrier-Commits] r956 - in branches/5.0.0: app obj sql/pgsql

0 views
Skip to first unread message

fray...@adullact.net

unread,
Aug 18, 2017, 7:11:45 AM8/18/17
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 ";




Reply all
Reply to author
Forward
0 new messages