diff --git a/htdocs/compta/commande/fiche.php b/htdocs/compta/commande/fiche.php
index 60cca72da8c..3e3c33039ec 100644
--- a/htdocs/compta/commande/fiche.php
+++ b/htdocs/compta/commande/fiche.php
@@ -496,7 +496,10 @@ if ($_GET["id"] > 0)
print '
';
- // Rien a droite
+ // List of actions on element
+ include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
+ $formactions=new FormActions($db);
+ $somethingshown=$formactions->showactions($commande,'order',$socid);
print " | ";
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index 8f1f4492c83..e5e7a117f76 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -2954,6 +2954,8 @@ else
print '';
+ print ' ';
+
// List of actions on element
include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
$formactions=new FormActions($db);
diff --git a/htdocs/compta/propal.php b/htdocs/compta/propal.php
index 90d07c40be6..3db0e76ce94 100644
--- a/htdocs/compta/propal.php
+++ b/htdocs/compta/propal.php
@@ -594,53 +594,10 @@ if ($_GET["propalid"] > 0)
print ' | ';
-
- /*
- * Liste des actions propres a la propal
- */
- if ($conf->agenda->enabled && $user->rights->agenda->myactions->create)
- {
- $sql = 'SELECT id, '.$db->pdate('a.datea'). ' as da, label, note, fk_user_author' ;
- $sql .= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a';
- $sql .= ' WHERE a.fk_soc = '.$societe->id.' AND a.propalrowid = '.$propal->id ;
- $resql = $db->query($sql);
- if ($resql)
- {
- $num = $db->num_rows($resql);
- if ($num)
- {
- print_titre($langs->trans('ActionsOnPropal'));
- $i = 0;
- $total = 0;
- $var=true;
-
- print '';
- print '| '.$langs->trans('Ref').' | '.$langs->trans('Date').' | '.$langs->trans('Action').' | '.$langs->trans('By').' | ';
- print "\n";
-
- while ($i < $num)
- {
- $objp = $db->fetch_object($resql);
- $var=!$var;
- print '';
- print '| '.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.' | ';
- print ''.dolibarr_print_date($objp->da,'dayhour')." | \n";
- print ''.stripslashes($objp->label).' | ';
- $authoract = new User($db);
- $authoract->id = $objp->fk_user_author;
- $authoract->fetch('');
- print ''.$authoract->login.' | ';
- print " \n";
- $i++;
- }
- print ' ';
- }
- }
- else
- {
- dolibarr_print_error($db);
- }
- }
+ // List of actions on element
+ include_once(DOL_DOCUMENT_ROOT.'/html.formactions.class.php');
+ $formactions=new FormActions($db);
+ $somethingshown=$formactions->showactions($propal,'propal',$socid);
print ' | ';
diff --git a/htdocs/html.formactions.class.php b/htdocs/html.formactions.class.php
new file mode 100644
index 00000000000..bfbe977b952
--- /dev/null
+++ b/htdocs/html.formactions.class.php
@@ -0,0 +1,109 @@
+
+ *
+ * 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 htdocs/html.formactions.class.php
+ \brief Fichier de la classe des fonctions prédéfinie de composants html actions
+ \version $Id$
+*/
+
+
+/**
+ \class FormActions
+ \brief Classe permettant la génération de composants html actions
+*/
+class FormActions
+{
+ var $db;
+ var $error;
+
+
+ /**
+ * \brief Constructeur
+ * \param DB handler d'accès base de donnée
+ */
+ function FormActions($DB)
+ {
+ $this->db = $DB;
+
+ return 1;
+ }
+
+ /**
+ * \brief Show list of actions for element
+ * \param object Object
+ * \param typeelement 'invoice','propal','order'
+ * \param socid socid of user
+ * \return int <0 if KO, >=0 if OK
+ */
+ function showactions($object,$typeelement,$socid=0)
+ {
+ global $langs,$conf,$user;
+ global $bc;
+
+ $sql = 'SELECT a.id, '.$this->db->pdate('a.datep').' as da, a.label, a.note,';
+ $sql.= ' u.login';
+ $sql.= ' FROM '.MAIN_DB_PREFIX.'actioncomm as a, '.MAIN_DB_PREFIX.'user as u';
+ $sql.= ' WHERE a.fk_user_author = u.rowid';
+ if ($socid) $sql .= ' AND a.fk_soc = '.$socid;
+ if ($typeelement == 'invoice') $sql.= ' AND a.fk_facture = '.$object->id;
+ if ($typeelement == 'propal') $sql.= ' AND a.propalrowid = '.$object->id;
+ if ($typeelement == 'order') $sql.= ' AND a.fk_commande = '.$object->id;
+
+ dolibarr_syslog("FormActions::showactions sql=".$sql);
+ $resql = $this->db->query($sql);
+ if ($resql)
+ {
+ $num = $this->db->num_rows($resql);
+ if ($num)
+ {
+ if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill');
+ if ($typeelement == 'propal') $title=$langs->trans('ActionsOnPropal');
+ if ($typeelement == 'order') $title=$langs->trans('ActionsOnOrder');
+ print_titre($title);
+
+ $i = 0; $total = 0; $var=true;
+ print '';
+ print '| '.$langs->trans('Ref').' | '.$langs->trans('Date').' | '.$langs->trans('Action').' | '.$langs->trans('By').' |
';
+ print "\n";
+
+ while ($i < $num)
+ {
+ $objp = $this->db->fetch_object($resql);
+ $var=!$var;
+ print '';
+ print '| '.img_object($langs->trans('ShowTask'),'task').' '.$objp->id.' | ';
+ print ''.dolibarr_print_date($objp->da,'day').' | ';
+ print ''.$objp->label.' | ';
+ print ''.$objp->login.' | ';
+ print '
';
+ $i++;
+ }
+ print '
';
+ }
+
+ return $num;
+ }
+ else
+ {
+ dolibarr_print_error($this->db);
+ return -1;
+ }
+ }
+
+}
diff --git a/mysql/migration/2.2.0-2.4.0.sql b/mysql/migration/2.2.0-2.4.0.sql
index 6a2255fda7d..0e9a514eb55 100644
--- a/mysql/migration/2.2.0-2.4.0.sql
+++ b/mysql/migration/2.2.0-2.4.0.sql
@@ -250,3 +250,4 @@ alter table llx_socpeople add priv smallint NOT NULL DEFAULT 0 after
alter table llx_tva modify fk_bank integer;
+delete from llx_const where name='MAIN_USE_PREVIEW_TABS';