fray...@users.adullact.net
unread,May 1, 2024, 9:09:37 AMMay 1Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
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: 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'));