[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Noalyss-commit] [noalyss] 34/323: Rewriting Module Template Category of
From: |
Dany De Bontridder |
Subject: |
[Noalyss-commit] [noalyss] 34/323: Rewriting Module Template Category of card |
Date: |
Wed, 14 Mar 2018 17:38:13 -0400 (EDT) |
sparkyx pushed a commit to branch master
in repository noalyss.
commit db048d3c544b90c91bf8370c231ccbf86125613e
Author: Dany De Bontridder <address@hidden>
Date: Tue Jan 9 13:30:25 2018 +0100
Rewriting Module Template Category of card
---
html/ajax_misc.php | 4 +-
include/ajax/ajax_template_cat_card.php | 67 ++++++++++++++++++
include/class/fiche_def.class.php | 8 +--
include/class/fiche_def_ref.class.php | 94 +-------------------------
include/class/template_card_category.class.php | 84 +++++++++++++++++++++++
include/database/fiche_def_ref_sql.class.php | 67 ++++++++++++++++++
include/fiche_def.inc.php | 74 ++++----------------
7 files changed, 238 insertions(+), 160 deletions(-)
diff --git a/html/ajax_misc.php b/html/ajax_misc.php
index 58f1496..a2a4362 100644
--- a/html/ajax_misc.php
+++ b/html/ajax_misc.php
@@ -209,7 +209,9 @@ $path = array(
// search operation to reconcile
'search_op'=>'ajax_search_operation',
// delete operation
- 'delete_search_operation'=>'ajax_search_filter'
+ 'delete_search_operation'=>'ajax_search_filter',
+ // template category of card
+ 'template_cat_card'=>'ajax_template_cat_card'
) ;
if (array_key_exists($op, $path)) {
diff --git a/include/ajax/ajax_template_cat_card.php
b/include/ajax/ajax_template_cat_card.php
new file mode 100644
index 0000000..d5625c5
--- /dev/null
+++ b/include/ajax/ajax_template_cat_card.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * This file is part of NOALYSS.
+ *
+ * PhpCompta is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * PhpCompta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PhpCompta; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+// Copyright (2016) Author Dany De Bontridder <address@hidden>
+
+if (!defined('ALLOWED'))
+ die('Appel direct ne sont pas permis');
+
+/**
+ * @file
+ * @brief Manage the template of category of card
+ */
+
+require_once NOALYSS_INCLUDE."/class/template_card_category.class.php";
+/**
+ * @todo ajax_template_cat_card add security
+ */
+
+$http=new HttpInput();
+$action=$http->request("action");
+$p_id=$http->request("p_id");
+$ctl=$http->request("ctl");
+
+$cat_sql=new Fiche_Def_Ref_SQL($cn, $p_id);
+$cat=new Template_Card_Category($cat_sql);
+$cat->set_callback("ajax_misc.php");
+$cat->add_json_param("gDossier", Dossier::id());
+$cat->add_json_param("op", "template_cat_card");
+$cat->set_object_name($ctl);
+
+switch ($action)
+{
+ case "input":
+ // Display a box with the data
+ header('Content-type: text/xml; charset=UTF-8');
+ echo $cat->ajax_input()->saveXML();
+ return;
+ break;
+ case "save":
+ header('Content-type: text/xml; charset=UTF-8');
+ echo $cat->ajax_save()->saveXML();
+ return;
+ break;
+ case "delete":
+ header('Content-type: text/xml; charset=UTF-8');
+ echo $cat->ajax_delete()->saveXML();
+ return;
+ break;
+ default:
+ break;
+}
diff --git a/include/class/fiche_def.class.php
b/include/class/fiche_def.class.php
index 6bfb60b..55ded5b 100644
--- a/include/class/fiche_def.class.php
+++ b/include/class/fiche_def.class.php
@@ -59,10 +59,10 @@ class Fiche_Def
$class_base->set_attribute('account','class_base');
$class_base->set_attribute('label','acc_label');
$f_class_base=$class_base->input();
- $fd_description=new ITextarea('fd_description');
- $fd_description->width=80;
- $fd_description->heigh=4;
- $fd_description->style='class="itextarea"
style="margin-left:0px;vertical-align:text-top"';
+ $fd_description=new ITextarea('fd_description');
+ $fd_description->width=80;
+ $fd_description->heigh=4;
+ $fd_description->style='class="itextarea"
style="margin-left:0px;vertical-align:text-top"';
require_once NOALYSS_TEMPLATE.'/fiche_def_input.php';
return;
}
diff --git a/include/class/fiche_def_ref.class.php
b/include/class/fiche_def_ref.class.php
index c8aa5c1..2c3b604 100644
--- a/include/class/fiche_def_ref.class.php
+++ b/include/class/fiche_def_ref.class.php
@@ -40,99 +40,7 @@ class Fiche_Def_Ref
$this->frd_id=$p_frd_id;
$this->attribut=array('frd_id','frd_text','frd_class_base');
}
- /*!
- **************************************************
- * \brief Load all the fiche_def_ref data and
- * return an array of fiche_def_ref objects
- *
- * \return array
- */
- function LoadAll()
- {
- $sql="select * from fiche_def_ref order by frd_id";
- $Res=$this->db->exec_sql($sql);
- $all=Database::fetch_all($Res);
- if ( $Res == false ) return array();
- $idx=0;
- $array=array();
- foreach ($all as $row)
- {
- $o=new Fiche_Def_Ref($this->db);
-
- foreach ( $this->attribut as $value)
- {
- $o->$value=$row[$value];
- }
- $array[$idx]=$o;
- $idx++;
- }
- return $array;
- }
- /*!
- **************************************************
- * \brief Display data between <TD> tag
- *
- * \return string
- */
- function Display()
- {
- $r="";
- foreach ( $this->attribut as $value)
- {
- $r.="<TD>".$this->$value.'</TD>';
- }
- return $r;
- }
- /*!
- **************************************************
- * \brief Input Data between <td> tag
- *
- * \return string
- */
- function Input()
- {
- $r="";
- $h=new IHidden();
- $r.='<li>Id
:'.$h->input('frd_id',$this->frd_id).$this->frd_id."</li>";
- $w=new IText();
- $r.='<li>'._('Commentaire ').'
:'.$w->input('frd_text',$this->frd_text)."</li>";
- $t=new IText();
- $r.='<li>'._('Poste de
base').':'.$t->input('frd_class_base',$this->frd_class_base)."</li>";
-
- return $r;
- }
- /*!
- **************************************************
- * \brief Store data into the database: update the
- * record
- *
- * -
- * \return none
- */
- function Save()
- {
- $sql="update fiche_def_ref set frd_text=$1 ".
- " , frd_class_base=$2 ".
- " where frd_id= $3";
-
$Res=$this->db->exec_sql($sql,array($this->frd_text,$this->frd_class_base,$this->frd_id));
- }
- /*!
- **************************************************
- * \brief Get the data with the p_code and complete
- * the current object
- *
- * \return none
- */
- function Get()
- {
- $sql="select * from fiche_def_ref ".
- " where frd_id=".$this->frd_id;
- $Res=$this->db->exec_sql($sql);
- if ( Database::num_row($Res) == 0 ) return null;
- $r=Database::fetch_array($Res,0);
- $this->frd_text=$r['frd_text'];
- $this->frd_class_base=$r['frd_class_base'];
- }
+
/**
* get category of cards by model
* @param $p_modele if the FRD_ID
diff --git a/include/class/template_card_category.class.php
b/include/class/template_card_category.class.php
new file mode 100644
index 0000000..81b6f6f
--- /dev/null
+++ b/include/class/template_card_category.class.php
@@ -0,0 +1,84 @@
+<?php
+
+/*
+ * This file is part of NOALYSS.
+ *
+ * PhpCompta is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * PhpCompta is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with PhpCompta; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+// Copyright (2016) Author Dany De Bontridder <address@hidden>
+
+require_once NOALYSS_INCLUDE.'/lib/manage_table_sql.class.php';
+require_once NOALYSS_INCLUDE.'/database/fiche_def_ref_sql.class.php';
+
+/**
+ * @file
+ * @brief Manage the template of card category
+ */
+
+/**
+ * @class
+ * @brief Manage the template of card category
+ */
+class Template_Card_Category extends Manage_Table_SQL
+{
+ function __construct(Fiche_def_ref_SQL $p_table)
+ {
+ $this->table=$p_table;
+ parent::__construct($p_table);
+ // Label of the columns
+ $this->set_col_label("frd_text", _("Nom"));
+ $this->set_col_label("frd_class_base", _("Poste comptable de base"));
+ $this->set_col_label("frd_id", _("ID"));
+ // Cannot update frd_id
+ $this->set_property_updatable("frd_id", FALSE);
+ $this->a_order=["frd_id","frd_text","frd_class_base"];
+ }
+ function delete()
+ {
+ $cn=Dossier::connect();
+
+ if ( $cn->get_value("select count(*) from fiche_def where
frd_id=$1",[$this->table->frd_id])>0)
+ {
+ throw new Exception(_("Effacement impossible : catégorie
utilisée"));
+ }
+ }
+ /**
+ * Check before inserting or updating, return TRUE if ok otherwise FALSE.
+ * @return boolean
+ */
+ function check()
+ {
+ $cn=Dossier::connect();
+ $error=0;
+ if ( trim($this->table->frd_text) == "" ) {
+ $this->set_error("frd_text",_("Le nom ne peut pas être vide"));
+ $error++;
+ }
+ if ( trim($this->table->frd_class_base) != "" ) {
+ $cnt=$cn->get_value("select count(*) from tmp_pcmn where
pcm_val=$1"
+ ,[$this->table->frd_class_base]);
+ if ($cnt == 0) {
+ $this->set_error("frd_class_base",_("Poste comptable n'existe
pas"));
+ $error++;
+ }
+ }
+
+ if ( $error != 0) {
+ return false;
+ }
+ return true;
+
+ }
+}
\ No newline at end of file
diff --git a/include/database/fiche_def_ref_sql.class.php
b/include/database/fiche_def_ref_sql.class.php
new file mode 100644
index 0000000..5ad8b99
--- /dev/null
+++ b/include/database/fiche_def_ref_sql.class.php
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * Copyright (C) 2018 Dany De Bontridder <address@hidden>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * @file
+ * @brief Manage the table public.fiche_def_ref , which concerns the template
of
+ * category of card
+ */
+require_once NOALYSS_INCLUDE.'/lib/noalyss_sql.class.php';
+require_once NOALYSS_INCLUDE.'/lib/database.class.php';
+
+/**
+ * @class
+ * @file Manage the table public.fiche_def_ref , which concerns the template of
+ * category of card
+ */
+class Fiche_def_ref_SQL extends Noalyss_SQL
+{
+
+ function __construct(Database $p_cn, $p_id=-1)
+ {
+ $this->table="public.fiche_def_ref";
+ $this->primary_key="frd_id";
+ /*
+ * List of columns
+ */
+ $this->name=array(
+ "frd_id"=>"frd_id"
+ , "frd_text"=>"frd_text"
+ , "frd_class_base"=>"frd_class_base"
+ );
+ /*
+ * Type of columns
+ */
+ $this->type=array(
+ "frd_id"=>"numeric"
+ , "frd_text"=>"text"
+ , "frd_class_base"=>"text"
+ );
+
+
+ $this->default=array(
+ "frd_id"=>"auto"
+ );
+
+ $this->date_format="DD.MM.YYYY";
+ parent::__construct($p_cn, $p_id);
+ }
+
+}
diff --git a/include/fiche_def.inc.php b/include/fiche_def.inc.php
index 4930c6d..cf30220 100644
--- a/include/fiche_def.inc.php
+++ b/include/fiche_def.inc.php
@@ -20,68 +20,18 @@
if ( ! defined ('ALLOWED') ) die('Appel direct ne sont pas permis');
require_once NOALYSS_INCLUDE.'/lib/ihidden.class.php';
require_once NOALYSS_INCLUDE.'/class/fiche_def.class.php';
+require_once NOALYSS_INCLUDE.'/class/template_card_category.class.php';
-/*! \file
- * \brief Let customise the fiche_def_ref for the user
+/*!
+ * @file
+ * @brief Let customise the fiche_def_ref for the user
*/
echo '<div class="content">';
-// record change
-if ( isset ($_POST['confirm_mod']))
-{
- extract ($_POST);
- $update=new Fiche_Def_Ref($cn);
- $update->frd_id=sql_string($frd_id);
- $update->frd_text=sql_string($frd_text);
- $update->frd_class_base=sql_string($frd_class_base);
- $update->Save();
-}
-// Load All Fiche_def
-$fiche_def=new Fiche_Def_Ref($cn);
-$all=$fiche_def->LoadAll();
-
-// Display Them
-echo '<table align="left">';
-for ($i=0;$i<sizeof($all);$i++)
-{
- echo '<TR>';
- echo $all[$i]->Display();
- echo "<TD>";
- echo '<form method="post">';
- $w=new IHidden();
- echo $w->input('idx',$all[$i]->frd_id);
- echo HtmlInput::submit('mod','modifie');
- echo $w->input($_REQUEST['ac'],'ac');
- //echo $w->input($sa,'sa');
- echo "</form>";
- echo "</TD>";
- echo '</TR>';
-}
-echo "</table>";
-// modify input
-if ( isset ($_POST['mod']) )
-{
- extract ($_POST);
- echo '<div style="float:left;padding:2%">';
- echo _("Voulez-vous modifier ?");
- echo "<br><font color=\"red\"> ";
- echo _("Attention, ne changer pas la signification de ce poste.");
- echo hi(_("par exemple ne pas changer Client par fournisseur"))."<br>";
- echo _("sinon le programme fonctionnera mal, ".
- "utiliser uniquement des chiffres pour la classe de base ou
rien")."</font>";
-
- $mod=new Fiche_Def_Ref($cn);
- $mod->frd_id=$idx;
- $mod->Get();
- echo '<form method="post">';
- echo '<ul style="list-style-type:none"';
- echo $mod->Input();
- echo "</ul>";
- $w=new IHidden();
- echo $w->input('ac',$_REQUEST['ac']);
-// echo $w->input('sa',$sa);
- echo HtmlInput::submit('confirm_mod' ,'Confirme');
- echo HtmlInput::submit('no','Cancel');
- echo '</form>';
- echo '</div>';
-}
-echo '</div>';
+$fiche_def_ref=new Fiche_def_ref_SQL($cn);
+$cat=new Template_Card_Category($fiche_def_ref);
+$cat->set_callback("ajax_misc.php");
+$cat->add_json_param("gDossier", Dossier::id());
+$cat->add_json_param("op", "template_cat_card");
+$cat->create_js_script();
+$cat->display_table();
+echo "</div>";
\ No newline at end of file
- [Noalyss-commit] [noalyss] 36/323: Bug in Manage_Table_SQL when an exception is thrown from ajax_input, (continued)
- [Noalyss-commit] [noalyss] 36/323: Bug in Manage_Table_SQL when an exception is thrown from ajax_input, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 41/323: Category of card : dialog box too large for screen cannot be viewed, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 40/323: Category of card : cannot be removed due to FK in attr_min, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 42/323: Manage_Table dialog box draggable, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 46/323: Mix between odd and even row, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 23/323: Task #1485 : by default the dialog box are fixed but can be moved, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 51/323: 0001523: Dans HISTO , Operation History (HISTO) , tiers is clickable, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 50/323: task #0001513: Détail fiche : ajout bouton effacer, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 49/323: Tak #1522 : Journaux peuvent être inactif, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 38/323: Task #1518 : ajout de modèle de catégorie de fiche Modification des attributs minimums, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 34/323: Rewriting Module Template Category of card,
Dany De Bontridder <=
- [Noalyss-commit] [noalyss] 53/323: Bug : search cannot select ledger, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 47/323: Task #0001519: Assouplissement de la sécurité : Administrateur accès à tout, ajout d'utilisateur par défaut securité désactivée, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 72/323: typo, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 64/323: th.num align right, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 55/323: Task #1457 & 1281 : export PDF with opening writing, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 54/323: Task #1326 & #1512 = ajout détail extourne, libellé directement après ajout opération, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 57/323: Task #0001527: Effacement du champ code fiche : bouton , indent, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 63/323: Task #0001529: Icon_Action missing, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 62/323: Merge branch 'master' of ssh://ns3/srv/git/noalyss, Dany De Bontridder, 2018/03/14
- [Noalyss-commit] [noalyss] 66/323: Database : add function is_prepare() to check if pg_prepare has already run, Dany De Bontridder, 2018/03/14