[openmairie-framework-Commits] r4949 - in openmairie_exemple/branches/om5_rad: . app obj

0 views
Skip to first unread message

fray...@users.adullact.net

unread,
May 1, 2024, 9:09:37 AMMay 1
to openmairie...@googlegroups.com
Author: fraynaud
Date: 2024-05-01 15:09:34 +0200 (Wed, 01 May 2024)
New Revision: 4949

Modified:
openmairie_exemple/branches/om5_rad/HISTORY.txt
openmairie_exemple/branches/om5_rad/app/framework_openmairie.class.php
openmairie_exemple/branches/om5_rad/app/om_gen_plus.class.php
openmairie_exemple/branches/om5_rad/obj/om_forms.class.php
Log:
liste ordre affichage + entete colone avec libelle_court 01/05/2024
changement du champs "double precision" en "numeric" 01/05/2024




Modified: openmairie_exemple/branches/om5_rad/HISTORY.txt
===================================================================
--- openmairie_exemple/branches/om5_rad/HISTORY.txt 2024-05-01 10:36:00 UTC (rev 4948)
+++ openmairie_exemple/branches/om5_rad/HISTORY.txt 2024-05-01 13:09:34 UTC (rev 4949)
@@ -3,7 +3,7 @@



-4.10.0_om5_RAD_1.0.0
+4.10.0_om5_no_code_1.0.0-a1
--------------------
*** version 1 initiale
* Evolution : init_gen.sql : création de vues sur information_schema : om_table, om_champs, om_cle_secondaire
@@ -58,7 +58,7 @@
* Evolution : prise en compte des paramètres om_tables dans le menu 19/03/2024
* Evolution : prise en compte des paramètres om_tables dans genplus.class.php 19/03/2024

-*** version 2 les paramétres en champs comment ***
+*** version 1.0.0-a2 les paramétres en champs comment ***
* Evolution : presentation de comment en om_tables.inc.php et om_champs.inc.php 19/03/2024
* Evolution : mise à jour de comment en om_tables.class.php 19/03/2024
* Evolution : mise à jour de comment en om_champs.class.php 20/03/2024
@@ -91,7 +91,7 @@
* bug : genplus : traitement de la guillemet : om_champs/libelle + om_tables / col1 à 3
* Evolution : om_champs : verifier_calcul : verification que les champs existent dans la table

-*** Version 3 : renaissance d om_tables_parametre et om_forms avec champs json et sans obj/inc -> uniquement stockage ***
+*** Version 1.0.0-a3 : renaissance d om_tables_parametre et om_forms avec champs json et sans obj/inc -> uniquement stockage ***
* Evolution : om_tables : mise en place de la table om_tables_parametre (json)à la place de comment 08/04/2024
* Evolution : framework open mairie - menu : prise en compte d'om_table_parametre (json) 08/04/2024
* Evolution : om_gen_plus : prise en compte d'om_tables_parametre (json) 08/04/2024
@@ -104,7 +104,7 @@
* Evolution : gen_plus : prise en compte du champ json om_forms 10/04/2024
* Bugs : install, init_gen.sql et init_gen_plus.sql et om_setup_config.php 11/04/2024

-*** version 4 Paramétrage des listes affichage, libellé et moteur de recherche
+*** version 1.0.0-a4 Paramétrage des listes affichage, libellé et moteur de recherche
* Evolution : om_champs : ajout du parametre liste pour affichage en liste 11/04/2024
* Evolution : om_gen_plus : affichage et recherche si liste = 1, 11/04/2024
* Evolution : om_gen_plus : prise en compte du parametre libelle da champ dans l'entete colonne et recherche 11/04/2024
@@ -117,7 +117,7 @@
* Evolution : gen_plus : moteur de recherche text et date 16-04-2024
* Evolution : gen_plus : moteur de recherche boolean et clé secondaire 16-04-2024

-*** version 5 passage de la classe om_champs à om_forms pour remplacer om_champs 17-04-2024
+*** version 1.1.0 passage de la classe om_champs à om_forms pour remplacer om_champs 17-04-2024
un formulaire peut étre composé de champs, de calcul sql et de vues.
om_champs est trop restrictif + assez lent à l'affichage de la vue
* Evolution : ajout de la colonne table_name dans om_forms
@@ -133,7 +133,7 @@
* Evolution : om_champs suppression vue et table 25/04/2024
* Evolution : mise à niveau install et om_setup_config.php
* bug : composition om_forms appel dans forms à l'action 5 d om_champs (objet invalide) 26/04/24
-* bug - manque le droit om_vues 26/04/2014
+* bug - rajout du droit om_vues 26/04/2014
* bug : composition om_forms : correction view_composer_widget_ctl : update 27/04/2024 et 28/04/2024
* Evolution : composition om_forms : le champs hidden reste affichable et déplacable, il n est plus en mode texte
(le champs hidden est static en consultation et hidden en mise à jour) 30/04/2024
@@ -141,10 +141,11 @@
* Evolution : framework_openmairie.class : ajout option om_proc 30/04/2024
* Evolution : om_forms : prise en compte des champs position_liste et libelle_court (pour colonne de liste) 01/05/2024
* Evolution : composition om_forms méthode 6 et 7 pour affichage ordre dans la liste - controle position et position_liste vide 01/05/2024
+* Evolution : om_gen_plus : liste ordre affichage + entête colone avec libelle_court 01/05/2024
+* Evolution : om_forms + om_gen_plus : changement du champs "double précision" en "numeric" 01/05/2024
+



-
-
4.10.0 (29/11/2022
-------------------

Modified: openmairie_exemple/branches/om5_rad/app/framework_openmairie.class.php
===================================================================
--- openmairie_exemple/branches/om5_rad/app/framework_openmairie.class.php 2024-05-01 10:36:00 UTC (rev 4948)
+++ openmairie_exemple/branches/om5_rad/app/framework_openmairie.class.php 2024-05-01 13:09:34 UTC (rev 4949)
@@ -84,7 +84,7 @@
*/
protected $html_head_title = ":: openMairie :: Framework";

- protected $version = "4.10.0-om5_RAD-1.1.0";
+ protected $version = "4.10.0-om5_no_code-1.1.0";

/**
*

Modified: openmairie_exemple/branches/om5_rad/app/om_gen_plus.class.php
===================================================================
--- openmairie_exemple/branches/om5_rad/app/om_gen_plus.class.php 2024-05-01 10:36:00 UTC (rev 4948)
+++ openmairie_exemple/branches/om5_rad/app/om_gen_plus.class.php 2024-05-01 13:09:34 UTC (rev 4949)
@@ -12,6 +12,7 @@
class gen_plus extends gen {

var $om_forms;
+ var $om_forms_liste;
var $om_tables_parametre;

// initialisation
@@ -33,7 +34,6 @@
$this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);
// Vérification d'une éventuelle erreur de base de données
$this->f->isDatabaseError($res);
- $c=array();
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
$temp = explode(".", $row['column_name']);
$this->om_forms[$temp[1]]["position"]=$row["position"];
@@ -49,6 +49,40 @@
//$this->msg .= $this->om_forms[$temp[1]]["column_name"]." ".$this->om_forms[$temp[1]]["calcul"]=$row["calcul"]."<br>";
}
$this->f->addToLog(__METHOD__."(): om_forms(\"".print_r($this->om_forms)."\");", DEBUG_MODE);
+
+ // **** ajout du tableau om_forms_liste ***
+ $sql = " SELECT om_forms.column_name, SPLIT_PART(om_forms.column_name, '.', 1) as table_name,";
+ $sql .= " data_type, parametres->>'type' as type, parametres->>'position_liste' as position_liste, ";
+ $sql .= " parametres->>'calcul' as calcul, parametres->>'libelle_court' as libelle_court, ";
+ $sql .= " parametres->>'libelle' as libelle,parametres->>'liste' as liste ";
+ $sql .= " FROM ".DB_PREFIXE."om_forms ";
+ $sql .= " left join ".DB_PREFIXE."om_champs on om_forms.column_name=om_champs.column_name";
+ $sql .= " where SPLIT_PART(om_forms.column_name, '.', 1) = '".$this->table."'";
+ // $sql .= " and parametres->>'liste' = '1' ";
+ $sql .= " order by parametres->>'position_liste' ";
+ // $this->msg .= $sql."<br>";
+ // Exécution de la requête
+ $res = $this->f->db->query($sql);
+ // Logger
+ $this->f->addToLog(__METHOD__."(): db->query(\"".$sql."\");", VERBOSE_MODE);
+ // Vérification d'une éventuelle erreur de base de données
+ $this->f->isDatabaseError($res);
+ while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
+ $temp = explode(".", $row['column_name']);
+ $this->om_forms_liste[$temp[1]]["position_liste"]=$row["position_liste"];
+ $this->om_forms_liste[$temp[1]]["type"]=$row["type"];
+ $this->om_forms_liste[$temp[1]]["libelle_court"]=$row["libelle_court"];
+ $this->om_forms_liste[$temp[1]]["libelle"]=$row["libelle"];
+ $this->om_forms_liste[$temp[1]]["column_name"]=$row["column_name"];
+ $this->om_forms_liste[$temp[1]]["calcul"]=$row["calcul"];
+ $this->om_forms_liste[$temp[1]]["data_type"]=$row["data_type"];
+ $this->om_forms_liste[$temp[1]]['name']=$temp[1];
+ $this->om_forms_liste[$temp[1]]["liste"]=$row["liste"];
+ //$this->msg .= $temp[1]."<br>";
+ //$this->msg .= $this->om_forms[$temp[1]]["column_name"]." ".$this->om_forms_liste[$temp[1]]["calcul"]=$row["calcul"]."<br>";
+ }
+ $this->f->addToLog(__METHOD__."(): om_forms(\"".print_r($this->om_forms)."\");", DEBUG_MODE);
+
// parametres om_tables et om_tables_parametre (version 3)
$sql = " select parametres ";
$sql .=" FROM ".DB_PREFIXE."om_tables_parametre ";
@@ -285,7 +319,7 @@
*/
function trigger_calcul($name, $calcul,$data_type) {
$temp="";
- if($data_type == "double precision" or $data_type == "integer"){
+ if($data_type == "numeric" or $data_type == "integer"){
$tp=str_replace("*", "|*|",$calcul);
$tp=str_replace("+", "|+|",$tp);
$tp=str_replace("-", "|-|",$tp);
@@ -775,8 +809,7 @@
// On ajoute la clé primaire dans le champaffiche et le champrecherche en première position
$champaffiche.= "\n '".$this->table.".".$this->primary_key." as \"'.__(\"".$this->primary_key."\").'\"',";
$champrecherche.= "\n '".$this->table.".".$this->primary_key." as \"'.__(\"".$this->primary_key."\").'\"',";
- foreach($this->om_forms as $elem){
- //$this->msg .= $elem['data_type']." ".$elem['type']." ".$elem['calcul']."<br>";
+ foreach($this->om_forms_liste as $elem){
// champ affiche
if($elem["liste"]==1 and $elem["data_type"]!='text' and $elem["type"]!='file'){ // sauf blob et upload
// initialisation
@@ -783,10 +816,14 @@
$temp ='def_champaffichedate'.OM_DB_PHPTYPE;
$champaffiche.="\n ";
// substitution du nom pgsql du champs par le libelle du champ si non vide ***
- if($this->om_forms[$elem["name"]]["libelle"]!="")
- $libelle=$this->om_forms[$elem["name"]]["libelle"];
+ if($elem["libelle_court"]!="")
+ $libelle=$elem["libelle_court"];
else
$libelle=$elem["name"];
+ if($elem["libelle"]!="")
+ $libelle_recherche=$elem["libelle"];
+ else
+ $libelle_recherche=$elem["name"];
// suivant data type
if($elem['data_type']== 'integer'){
// gen plus -> clé secondaire numérique
@@ -814,7 +851,7 @@
$champaffiche.= ' ';
$champaffiche.= "as \"'.__(\"".$libelle."\").'\"',";
}
- if($elem['data_type']== 'double precision'){ // voir formatage
+ if($elem['data_type']== 'numeric'){ // voir formatage
// formatage -> cast en numeric -> en 2 caractères : reste à droite en colonne et pas to_char
// arrondi la somme au centiéme si millième supérieur à 5 : 0,055 = 0,06
$champaffiche.= "'round(".$this->table.".".$elem["name"];
@@ -840,7 +877,7 @@
}
// les champs recherche ne prennent pas les dates seulement pour les champs affichés
if (($elem["data_type"] == "character varying" || $elem["data_type"] == "integer"
- || $elem["data_type"] == "double precision")
+ || $elem["data_type"] == "numeric")
&& $elem["liste"]==1) {
$champrecherche.="\n ";
// Si le champ que nous sommes en train d'afficher est une cle secondaire
@@ -856,7 +893,7 @@
} else {
$champrecherche.="'".$this->table.".".$elem["name"]." ";
}
- $champrecherche.= "as \"'.__(\"".$libelle."\").'\"',";
+ $champrecherche.= "as \"'.__(\"".$libelle_recherche."\").'\"',";
}
}
// creation de table.inc.php

Modified: openmairie_exemple/branches/om5_rad/obj/om_forms.class.php
===================================================================
--- openmairie_exemple/branches/om5_rad/obj/om_forms.class.php 2024-05-01 10:36:00 UTC (rev 4948)
+++ openmairie_exemple/branches/om5_rad/obj/om_forms.class.php 2024-05-01 13:09:34 UTC (rev 4949)
@@ -234,7 +234,7 @@
$form->setSelect("is_nullable",$contenu);
// data type
$contenu=array();
- $contenu[0]=array('character varying','integer','double precision','boolean',
+ $contenu[0]=array('character varying','integer','numeric','boolean',
'cle_secondaire','text','date', 'sql');
$contenu[1]=array(_('character varying'),_('entier'),_('décimal'),
_('booléen'),_('clé secondaire'),_('texte'),_('Date'),_('virtuel sql'));

Reply all
Reply to author
Forward
0 new messages