phpcompta-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpcompta-dev] r4665 - in phpcompta/trunk: include sql


From: phpcompta-dev
Subject: [Phpcompta-dev] r4665 - in phpcompta/trunk: include sql
Date: Fri, 6 Jan 2012 12:03:57 +0100 (CET)

Author: danydb
Date: 2012-01-06 12:03:56 +0100 (Fri, 06 Jan 2012)
New Revision: 4665

Modified:
   phpcompta/trunk/include/card_attr.inc.php
   phpcompta/trunk/include/class_fiche.php
   phpcompta/trunk/include/class_fiche_attr.php
   phpcompta/trunk/include/class_fiche_def.php
   phpcompta/trunk/sql/upgrade.sql
Log:
ajout de select dans les fiches

Modified: phpcompta/trunk/include/card_attr.inc.php
===================================================================
--- phpcompta/trunk/include/card_attr.inc.php   2012-01-06 00:01:11 UTC (rev 
4664)
+++ phpcompta/trunk/include/card_attr.inc.php   2012-01-06 11:03:56 UTC (rev 
4665)
@@ -38,6 +38,7 @@
     $ad_text=$_POST['desc'];
     $ad_type=$_POST['type'];
     $ad_size=$_POST['size'];
+    $ad_extra=$_POST['extra'];
     try
     {
         $cn->start();
@@ -47,6 +48,7 @@
             $fa->set_parameter('desc',$ad_text[$e]);
             $fa->set_parameter('type',$ad_type[$e]);
             $fa->set_parameter('size',$ad_size[$e]);
+            $fa->set_parameter('extra',$ad_extra[$e]);
             if ( trim($ad_text[$e])!='' && trim($ad_type[$e])!='')
                 $fa->save();
         }
@@ -69,6 +71,7 @@
 $desc->size=50;
 $size=new INum('size[]');
 $size->size=5;
+$extra=new IText('extra[]');
 
 $select_type->value=array(
                         array('value'=>'text','label'=>'Texte'),
@@ -77,8 +80,7 @@
                         array('value'=>'zone','label'=>'Zone de texte'),
                         array('value'=>'poste','label'=>'Poste Comptable'),
                         array('value'=>'card','label'=>'Fiche'),
-
-
+                        array('value'=>'select','label'=>'Selection')
                     );
 $remove=new IButton('rmfa');
 $remove->label='Effacer';
@@ -108,6 +110,7 @@
         $r.=td($desc->input());
         $r.=td($select_type->input());
         $r.=td($size->input());
+        $r.=td($extra->input());
 
         $remove->javascript=sprintf('if ( confirm(\'Vous  confirmez ?\')) { 
removeCardAttribut(%d,%d,\'tb_rmfa\',this);}',
                                     $row->get_parameter('id'),$gDossier);
@@ -119,10 +122,12 @@
         $select_type->readOnly=true;
         $desc->readOnly=true;
         $size->readOnly=true;
+        $extra->readOnly=true;
 
         $r.=td($desc->input().HtmlInput::hidden('type[]',''));
         $r.=td($select_type->input());
         $r.=td($size->input());
+        $r.=td($extra->input());
         $r.=td("");
     }
 
@@ -135,12 +140,14 @@
 $desc->readOnly=false;
 $select_type->readOnly=false;
 $size->readOnly=false;
+$extra->readOnly=false;
 $desc->value='';
 $select_type->selected=-1;
 $r=td(HtmlInput::hidden('ad_id[]','0'));
 $r.=td($desc->input());
 $r.=td($select_type->input());
 $r.=td($size->input());
+$r.=td($extra->input());
 echo tr($r);
 
 echo '</table>';

Modified: phpcompta/trunk/include/class_fiche.php
===================================================================
--- phpcompta/trunk/include/class_fiche.php     2012-01-06 00:01:11 UTC (rev 
4664)
+++ phpcompta/trunk/include/class_fiche.php     2012-01-06 11:03:56 UTC (rev 
4665)
@@ -197,6 +197,7 @@
                     $t->ad_type=$f->ad_type;
                     $t->ad_size=$f->ad_size;
                     $t->ad_id=$f->ad_id;
+                    $t->ad_extra=$f->ad_extra;
                     $this->attribut[$Max]=$t;
                     $Max++;
                 } // if flag == 0
@@ -344,8 +345,8 @@
             if ($this->id==0) return NOTFOUND;
             // object is not in memory we need to look into the database
             $sql="select ad_value from fiche_detail
-                 where f_id=".sql_string($this->id)." and ad_id=".$p_ad_id;
-            $Res=$this->cn->exec_sql($sql);
+                 where f_id= $1  and ad_id= $2 ";
+            $Res=$this->cn->exec_sql($sql,array($this->id,$p_ad_id));
             $row=Database::fetch_all($Res);
             // if not found return error
             if ( $row == false )
@@ -505,6 +506,10 @@
                  $w->table=1;
                  $bulle=HtmlInput::infobulle(14);
                  break;
+              case 'select':
+                  $w=new ISelect("av_text".$attr->ad_id);
+                  $w->value=$this->cn->make_array($attr->ad_extra);
+                  break;
                case 'card':
                  $w=new ICard("av_text".$attr->ad_id);
                  // filter on frd_id
@@ -626,18 +631,22 @@
                     case 'text':
                         $w=new IText('av_text'.$r->ad_id);
                         $w->size=$r->ad_size;
+                        $w->value=$r->av_text;
                         break;
                     case 'numeric':
                         $w=new INum('av_text'.$r->ad_id);
                         $w->size=$r->ad_size;
+                        $w->value=$r->av_text;
                         break;
                     case 'date':
                         $w=new IDate('av_text'.$r->ad_id);
+                        $w->value=$r->av_text;
                         break;
                     case 'zone':
                         $w=new ITextArea('av_text'.$r->ad_id);
                         $w->width=$r->ad_size;
                         $w->heigh=2;
+                        $w->value=$r->av_text;
                         break;
                    case 'poste':
                      $w=new IPoste("av_text".$r->ad_id);
@@ -646,6 +655,7 @@
                          $w->width=$r->ad_size;
                      $w->table=0;
                      $bulle=HtmlInput::infobulle(14);
+                      $w->value=$r->av_text;
                      break;
                    case 'card':
                      $w=new ICard("av_text".$r->ad_id);
@@ -663,8 +673,13 @@
                      $w->set_attribute('label',"av_text".$r->ad_id."_label");
                      $msg=$w->search();
                      $msg.=$label->input();
+                      $w->value=$r->av_text;
                      break;
-
+                case 'select':
+                  $w=new ISelect();
+                  $w->value=$this->cn->make_array($attr->ad_extra);
+                  $w->selected=$r->av_text;
+                  break;
                     default:
                      var_dump($r);
                      throw new Exception("Type invalide");
@@ -672,7 +687,7 @@
                     $w->table=0;
                 }
             }
-            $w->value=$r->av_text;
+            
             $w->name="av_text".$r->ad_id;
             $w->readonly=$p_readonly;
 

Modified: phpcompta/trunk/include/class_fiche_attr.php
===================================================================
--- phpcompta/trunk/include/class_fiche_attr.php        2012-01-06 00:01:11 UTC 
(rev 4664)
+++ phpcompta/trunk/include/class_fiche_attr.php        2012-01-06 11:03:56 UTC 
(rev 4665)
@@ -15,7 +15,7 @@
 {
     /* example private 
$variable=array("easy_name"=>column_name,"email"=>"column_name_email","val3"=>0);
 */
 
-    protected 
$variable=array("id"=>"ad_id","desc"=>"ad_text","type"=>"ad_type","size"=>"ad_size");
+    protected 
$variable=array("id"=>"ad_id","desc"=>"ad_text","type"=>"ad_type","size"=>"ad_size","extra"=>"ad_extra");
     function __construct ($p_cn,$p_id=0)
     {
         $this->cn=$p_cn;
@@ -64,8 +64,8 @@
         if ( strlen(trim($this->ad_type))==0)
             throw new Exception('Le type ne peut pas être vide',1);
         $this->ad_type=strtolower($this->ad_type);
-        if ( 
in_array($this->ad_type,array('date','text','numeric','zone','poste','card'))==false)
-            throw new Exception('Le type doit être text, numeric,poste, card 
ou date',1);
+        if ( 
in_array($this->ad_type,array('date','text','numeric','zone','poste','card','select'))==false)
+            throw new Exception('Le type doit être text, numeric,poste, card, 
select ou date',1);
         if ( trim($this->ad_size)=='' || 
isNumber($this->ad_size)==0||$this->ad_size>22)
         {
             switch ($this->ad_type)
@@ -130,14 +130,14 @@
         $this->verify();
         /*  please adapt */
         $sql="insert into attr_def(ad_text
-             ,ad_type,ad_size
+             ,ad_type,ad_size,ad_extra
              ) values ($1
-             ,$2,$3
+             ,$2,$3,$4
              ) returning ad_id";
 
         $this->ad_id=$this->cn->get_value(
                          $sql,
-                         array( $this->ad_text,$this->ad_type,$this->ad_size
+                         array( 
$this->ad_text,$this->ad_type,$this->ad_size,$this->ad_extra
                               )
                      );
 
@@ -149,13 +149,13 @@
         if ( $this->ad_id < 9000) return;
         /*   please adapt */
         $sql=" update attr_def set ad_text = $1
-             ,ad_type = $2,ad_size=$4
+             ,ad_type = $2,ad_size=$4,ad_extra=$5
              where ad_id= $3";
         $res=$this->cn->exec_sql(
                  $sql,
                  array($this->ad_text
                        ,$this->ad_type
-                       ,$this->ad_id,$this->ad_size)
+                       ,$this->ad_id,$this->ad_size,$this->ad_extra)
              );
 
     }
@@ -167,7 +167,7 @@
     {
 
         $sql="select ad_text
-             ,ad_type
+             ,ad_type,ad_size,ad_extra
              from attr_def where ad_id=$1";
         /* please adapt */
         $res=$this->cn->get_array(

Modified: phpcompta/trunk/include/class_fiche_def.php
===================================================================
--- phpcompta/trunk/include/class_fiche_def.php 2012-01-06 00:01:11 UTC (rev 
4664)
+++ phpcompta/trunk/include/class_fiche_def.php 2012-01-06 11:03:56 UTC (rev 
4665)
@@ -88,6 +88,7 @@
             $t->jnt_order=$row['jnt_order'];
             $t->ad_size=$row['ad_size'];
             $t->ad_type=$row['ad_type'];
+            $t->ad_extra=$row['ad_extra'];
             $this->attribut[$i]=clone $t;
         }
         return $this->attribut;
@@ -296,7 +297,7 @@
         $sql="select f_id,ad_value
              from
              fiche join fiche_detail using(f_id)
-             where ad_id=1 and fd_id=".$this->id." order by 2";
+             where ad_id=1 and fd_id=$1 order by 2";
 
         // we use jrn_navigation_bar
         if ($step == 1  && $_SESSION['g_pagesize'] != -1   )
@@ -306,7 +307,7 @@
             $sql.=" offset $offset limit $step";
         }
 
-        $Ret=$this->cn->get_array($sql);
+        $Ret=$this->cn->get_array($sql,array($this->id));
 
         return $Ret;
     }
@@ -601,17 +602,17 @@
         foreach ($array as $ch)
         {
             $this->cn->start();
-            $sql="delete from jnt_fic_attr where fd_id=".$this->id.
-                 "   and ad_id=".$ch;
-            $this->cn->exec_sql($sql);
+            $sql="delete from jnt_fic_attr where fd_id=$1 ".
+                 "   and ad_id=$2";
+            $this->cn->exec_sql($sql,array($this->id,$ch));
 
             $sql="delete from fiche_detail  where jft_id in ( select ".
                  " jft_id from fiche_Detail ".
                  " join fiche using(f_id) ".
                  " where ".
-                 "fd_id = ".$this->id." and ".
-                 "ad_id=".$ch.")";
-            $this->cn->exec_sql($sql);
+                 "fd_id = $1 and ".
+                 "ad_id=$2)";
+            $this->cn->exec_sql($sql,array($this->id,$ch));
 
             $this->cn->commit();
         }

Modified: phpcompta/trunk/sql/upgrade.sql
===================================================================
--- phpcompta/trunk/sql/upgrade.sql     2012-01-06 00:01:11 UTC (rev 4664)
+++ phpcompta/trunk/sql/upgrade.sql     2012-01-06 11:03:56 UTC (rev 4665)
@@ -1,2 +1 @@
-update jrnx set j_text = null from jrn where jr_grpt_id=j_grpt and 
j_text=jr_comment;
-insert into parameter (pr_id,pr_value) values ('MY_UPDLAB','N');
+alter table attr_def add ad_extra text ;
\ No newline at end of file




reply via email to

[Prev in Thread] Current Thread [Next in Thread]