phpcompta-dev
[Top][All Lists]
Advanced

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

[Phpcompta-dev] r481 - in trunk/rapport_avance: . include include/templa


From: phpcompta-dev
Subject: [Phpcompta-dev] r481 - in trunk/rapport_avance: . include include/template sql
Date: Sat, 27 Apr 2013 00:02:55 +0200 (CEST)

Author: danydb
Date: 2013-04-27 00:02:54 +0200 (Sat, 27 Apr 2013)
New Revision: 481

Added:
   trunk/rapport_avance/sql/upgrade3.sql
Modified:
   trunk/rapport_avance/ajax.php
   trunk/rapport_avance/include/class_rapav_formulaire.php
   trunk/rapport_avance/include/class_rapport_avance_sql.php
   trunk/rapport_avance/include/template/formulaire_definition.php
   trunk/rapport_avance/rapav_javascript.js
Log:
0000739: G?\195?\169n?\195?\169ration de d?\195?\169claration
- Chargement du mod?\195?\168le et sauvegarde dans la DB

Modified: trunk/rapport_avance/ajax.php
===================================================================
--- trunk/rapport_avance/ajax.php       2013-04-05 13:59:37 UTC (rev 480)
+++ trunk/rapport_avance/ajax.php       2013-04-26 22:02:54 UTC (rev 481)
@@ -14,7 +14,7 @@
                echo '<h1>Définition </h1>';
                $form = new RAPAV_formulaire($_REQUEST['f_id']);
                $form->load_definition();
-               echo '<form method="POST" class="print">';
+               echo '<form method="POST" enctype="multipart/form-data" 
class="print">';
                $form->input_formulaire();
                $form->input_definition();
                echo '<p>';
@@ -128,7 +128,14 @@
        case 'rapav_declaration_delete':
                $cn->exec_sql("delete from rapport_advanced.declaration where 
d_id=$1", array($_GET['d_id']));
                break;
-       default:
+       
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+       // Remove a template
+       
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+       case 'rapav_remove_doc_template':
+               require_once 'include/class_rapav_formulaire.php';
+               $rapav=new Rapav_Formulaire($_GET['f_id']);
+               $rapav->remove_doc_template();
+               defaut:
                break;
 }
 ?>

Modified: trunk/rapport_avance/include/class_rapav_formulaire.php
===================================================================
--- trunk/rapport_avance/include/class_rapav_formulaire.php     2013-04-05 
13:59:37 UTC (rev 480)
+++ trunk/rapport_avance/include/class_rapav_formulaire.php     2013-04-26 
22:02:54 UTC (rev 481)
@@ -43,7 +43,8 @@
         *  show a list of all existing declaration
         * @global type $cn database connection
         */
-       static function listing()
+       static
+                       function listing()
        {
                global $cn;
                $alist = $cn->get_array("select f_id,f_title,f_description from 
rapport_advanced.formulaire order by 2");
@@ -56,7 +57,7 @@
        function load_definition()
        {
                $f = new Formulaire_Param_Sql();
-               $ret = $f->seek(" where f_id=".sql_string($this->f_id) ." order 
by p_order ");
+               $ret = $f->seek(" where f_id=" . sql_string($this->f_id) . " 
order by p_order ");
                $max = Database::num_row($ret);
 
                for ($i = 0; $i < $max; $i++)
@@ -100,16 +101,8 @@
         */
        static function save_definition($p_array)
        {
-               if ($p_array['f_id'] == -1)
-               {
-                       self::insert_definition($p_array);
-                       return;
-               }
-               else
-               {
-                       self::update_definition($p_array);
-                       return;
-               }
+               self::update_definition($p_array);
+               return;
        }
 
        /**
@@ -131,7 +124,7 @@
                        $form_param->p_code = $p_array['p_code'][$i];
                        $form_param->p_libelle = $p_array['p_libelle'][$i];
                        $form_param->p_type = $p_array['p_type'][$i];
-                       $form_param->p_order = 
(isNumber($p_array['p_order'][$i])==0)?$i*10:$p_array['p_order'][$i];
+                       $form_param->p_order = 
(isNumber($p_array['p_order'][$i]) == 0) ? $i * 10 : $p_array['p_order'][$i];
                        $form_param->t_id = $p_array['t_id'][$i];
                        $form_param->f_id = $p_array['f_id'];
                        // update or insert the row
@@ -140,8 +133,48 @@
                        else
                                $form_param->update();
                }
+               self::load_file($rapav);
        }
 
+       static function load_file(RAPAV_Formulaire $p_rapav)
+       {
+               global $cn;
+               var_dump($p_rapav);
+               var_dump($_FILES);
+               // nothing to save
+               if (sizeof($_FILES) == 0)
+                       return;
+
+               // Start Transaction
+               $cn->start();
+               $name = $_FILES['rapav_template']['name'];
+               $new_name = tempnam($_ENV['TMP'], 'rapav_template');
+               // check if a file is submitted
+               if (strlen($_FILES['rapav_template']['tmp_name']) != 0)
+               {
+                       // upload the file and move it to temp directory
+                       if 
(move_uploaded_file($_FILES['rapav_template']['tmp_name'], $new_name))
+                       {
+                               $oid = $cn->lo_import($new_name);
+                               // check if the lob is in the database
+                               if ($oid == false)
+                               {
+                                       $cn->rollback();
+                                       return 1;
+                               }
+                       }
+                       // the upload in the database is successfull
+                       $p_rapav->f_lob = $oid;
+                       $p_rapav->f_filename = 
$_FILES['rapav_template']['name'];
+                       $p_rapav->f_mimetype = 
$_FILES['rapav_template']['type'];
+                       $p_rapav->f_size= $_FILES['rapav_template']['size'];
+
+                       // update rapav
+                       $p_rapav->update();
+               }
+               $cn->commit();
+       }
+
        function echo_formulaire()
        {
                echo '<h2>' . h($this->f_title) . '</h2>';
@@ -158,8 +191,19 @@
                        $obj->input();
                }
        }
-
-
+       /**
+        * @brief remove a doc template
+        */
+       function remove_doc_template()
+       {
+               global $cn;
+               $cn->lo_unlink($this->f_lob);
+               $this->f_filename=null;
+               $this->f_size=null;
+               $this->f_mimetype=null;
+               $this->f_lob=null;
+               $this->update();
+       }
 }
 
 ?>

Modified: trunk/rapport_avance/include/class_rapport_avance_sql.php
===================================================================
--- trunk/rapport_avance/include/class_rapport_avance_sql.php   2013-04-05 
13:59:37 UTC (rev 480)
+++ trunk/rapport_avance/include/class_rapport_avance_sql.php   2013-04-26 
22:02:54 UTC (rev 481)
@@ -81,13 +81,21 @@
                $this->name = array(
                        "f_id" => "f_id",
                        "f_title" => "f_title",
-                       "f_description" => "f_description"
+                       "f_description" => "f_description",
+                       "f_lob"=>"f_lob",
+                       "f_mimetype"=>"f_mimetype",
+                       "f_filename"=>"f_filename",
+                       "f_size"=>"f_size"
                );
 
                $this->type = array(
                        "f_id" => "numeric",
                        "f_title" => "text",
-                       "f_description" => "text"
+                       "f_description" => "text",
+                       "f_lob"=>"oid",
+                       "f_mimetype"=>"text",
+                       "f_filename"=>"text",
+                       "f_size"=>"numeric"
                );
 
                $this->default = array(

Modified: trunk/rapport_avance/include/template/formulaire_definition.php
===================================================================
--- trunk/rapport_avance/include/template/formulaire_definition.php     
2013-04-05 13:59:37 UTC (rev 480)
+++ trunk/rapport_avance/include/template/formulaire_definition.php     
2013-04-26 22:02:54 UTC (rev 481)
@@ -113,4 +113,26 @@
 <p>
 <?=HtmlInput::button_anchor("Ajout d'une ligne","javascript:void(0)","add_def",
                
sprintf('onclick="add_row_definition(\'%s\',\'%s\',\'%s\')"',$_REQUEST['plugin_code'],$_REQUEST['ac'],$_REQUEST['gDossier']))?>
+</p>
+<p>
+       <?php
+       $file=new IFile('rapav_template');
+       ?>
+       Modèle :
+       <?php
+       if ( $this->f_filename == "")
+               echo $file->input();
+       else {
+               $remove_doc=  HtmlInput::anchor("Efface", "",
+                               
sprintf("onclick=\"rapav_remove_doc_template('%s','%s','%s','%s')\"",
+                                               $_REQUEST['plugin_code'],
+                                               $_REQUEST['ac'],
+                                               $_REQUEST['gDossier'],
+                                               $this->f_id
+                               ));
+               echo '<span id="rapav_template"> '.$this->f_filename.'</span>';
+               echo '<span id="rapav_template_ctl"> '.$remove_doc.'</span>';
+               echo '<span id="rapav_new_file" style="display:none"> 
'.$file->input().'</span>';
+       }
+               ?>
 </p>
\ No newline at end of file

Modified: trunk/rapport_avance/rapav_javascript.js
===================================================================
--- trunk/rapport_avance/rapav_javascript.js    2013-04-05 13:59:37 UTC (rev 
480)
+++ trunk/rapport_avance/rapav_javascript.js    2013-04-26 22:02:54 UTC (rev 
481)
@@ -375,4 +375,41 @@
        {
                alert(e.message);
        }
+}
+/**
+ * @brief Remove a template
+ *
+ * @note sprintf("rapav_remove_doc_template('%s','%s','%s','%s')",
+                                               $_REQUEST['plugin_code'],
+                                               $_REQUEST['ac'],
+                                               $_REQUEST['gDossier'],
+                                               $this->f_id
+*/
+function rapav_remove_doc_template(plugin_code,ac,dossier,f_id)
+{
+       if ( ! confirm ("Confirmez-vous l'effacement de ce modèle ?"))
+               {
+                       return;
+               }
+       try {
+               var 
querystring='plugin_code='+plugin_code+'&ac='+ac+'&gDossier='+dossier+'&act=rapav_remove_doc_template'+"&f_id="+f_id;
+               var action=new Ajax.Request(
+                       "ajax.php",
+                       {
+                               method:'get',
+                               parameters:querystring,
+                               onFailure:error_get_predef,
+                               onSuccess:function() {
+                                       
$('rapav_template').style.textDecoration='line-through';
+                                       $('rapav_template').style.color='red';
+                                       $('rapav_template_ctl').innerHTML='';
+                                       
$('rapav_new_file').style.display='block';
+                               }
+                       }
+                       );
+
+       }catch (e)
+       {
+               alert(e.message);
+       }
 }
\ No newline at end of file

Added: trunk/rapport_avance/sql/upgrade3.sql
===================================================================
--- trunk/rapport_avance/sql/upgrade3.sql                               (rev 0)
+++ trunk/rapport_avance/sql/upgrade3.sql       2013-04-26 22:02:54 UTC (rev 
481)
@@ -0,0 +1,12 @@
+ALTER TABLE rapport_advanced.formulaire ADD COLUMN f_lob oid;
+COMMENT ON COLUMN rapport_advanced.formulaire.f_lob IS 'OID for file';
+
+ALTER TABLE rapport_advanced.formulaire ADD COLUMN f_filename text;
+COMMENT ON COLUMN rapport_advanced.formulaire.f_filename IS 'filename';
+
+ALTER TABLE rapport_advanced.formulaire ADD COLUMN f_mimetype text;
+COMMENT ON COLUMN rapport_advanced.formulaire.f_mimetype IS 'Mimetype of the 
file';
+
+ALTER TABLE rapport_advanced.formulaire ADD COLUMN f_size bigint;
+COMMENT ON COLUMN rapport_advanced.formulaire.f_size IS 'Size of the file';
+



---
PhpCompta est un logiciel de comptabilité libre en ligne (full web)
Projet opensource http://www.phpcompta.eu



reply via email to

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