diff --git a/htdocs/core/lib/fourn.lib.php b/htdocs/core/lib/fourn.lib.php
index 4b6f0b7e7d155a2efe8e0049811f584b37dd0ab3..34a0df456743be4794cd2b92a2298f0572e98900 100644
--- a/htdocs/core/lib/fourn.lib.php
+++ b/htdocs/core/lib/fourn.lib.php
@@ -158,8 +158,8 @@ function ordersupplier_prepare_head($object)
 	$head[$h][2] = 'documents';
 	$h++;
 
-	$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/history.php?id='.$object->id;
-	$head[$h][1] = $langs->trans("OrderFollow");
+	$head[$h][0] = DOL_URL_ROOT.'/fourn/commande/info.php?id='.$object->id;
+	$head[$h][1] = $langs->trans("Info");
 	$head[$h][2] = 'info';
 	$h++;
 	complete_head_from_modules($conf,$langs,$object,$head,$h,'supplier_order', 'remove');
diff --git a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
index 027b0f6e0dd0e5cb1c72ba20c4d7409080560c14..3a5717ae66038cdc860569e6680f652b879c1b99 100644
--- a/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
+++ b/htdocs/core/triggers/interface_50_modAgenda_ActionsAuto.class.php
@@ -660,7 +660,33 @@ class InterfaceActionsAuto extends DolibarrTriggers
 
         	$object->sendtoid=0;
         }
-
+        elseif($action == 'PROJECT_CREATE') {
+            $langs->load("other");
+            $langs->load("projects");
+        
+            $object->actiontypecode='AC_OTH_AUTO';
+        
+            if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ProjectCreatedInDolibarr",$object->ref);
+            $object->actionmsg=$langs->transnoentities("ProjectCreatedInDolibarr",$object->ref);
+            $object->actionmsg.="\n".$langs->transnoentities("Task").': '.$object->ref;
+            $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
+        
+            $object->sendtoid=0;
+        }
+        
+        elseif($action == 'PROJECT_MODIFY') {
+            $langs->load("other");
+            $langs->load("projects");
+        
+            $object->actiontypecode='AC_OTH_AUTO';
+            if (empty($object->actionmsg2)) $object->actionmsg2=$langs->transnoentities("ProjectModifiedInDolibarr",$object->ref);
+            $object->actionmsg=$langs->transnoentities("ProjectModifieddInDolibarr",$object->ref);
+            $object->actionmsg.="\n".$langs->transnoentities("Task").': '.$object->ref;
+            $object->actionmsg.="\n".$langs->transnoentities("Author").': '.$user->login;
+        
+            $object->sendtoid=0;
+        }
+        
 		// Project tasks
 		elseif($action == 'TASK_CREATE') {
 			$langs->load("other");
diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php
index c3f21a15f4c1b71ab7850b708c519f18bfaf31ec..2d97ac715e935ea4af1e14fa574a769336c5516f 100644
--- a/htdocs/fourn/class/fournisseur.commande.class.php
+++ b/htdocs/fourn/class/fournisseur.commande.class.php
@@ -2362,6 +2362,70 @@ class CommandeFournisseur extends CommonOrder
         }
     }
 
+    /**
+     *	Charge les informations d'ordre info dans l'objet facture
+     *
+     *	@param  int		$id       	Id de la facture a charger
+     *	@return	void
+     */
+    function info($id)
+    {
+        $sql = 'SELECT c.rowid, date_creation as datec, tms as datem, date_valid as date_validation, date_approve as datea, date_approve2 as datea2,';
+        $sql.= ' fk_user_author, fk_user_modif, fk_user_valid, fk_user_approve, fk_user_approve2';
+        $sql.= ' FROM '.MAIN_DB_PREFIX.'commande_fournisseur as c';
+        $sql.= ' WHERE c.rowid = '.$id;
+
+        $result=$this->db->query($sql);
+        if ($result)
+        {
+            if ($this->db->num_rows($result))
+            {
+                $obj = $this->db->fetch_object($result);
+                $this->id = $obj->rowid;
+                if ($obj->fk_user_author)
+                {
+                    $cuser = new User($this->db);
+                    $cuser->fetch($obj->fk_user_author);
+                    $this->user_creation     = $cuser;
+                }
+                if ($obj->fk_user_valid)
+                {
+                    $vuser = new User($this->db);
+                    $vuser->fetch($obj->fk_user_valid);
+                    $this->user_validation = $vuser;
+                }
+                if ($obj->fk_user_modif)
+                {
+                    $muser = new User($this->db);
+                    $muser->fetch($obj->fk_user_modif);
+                    $this->user_modification = $muser;
+                }
+                if ($obj->fk_user_approve)
+                {
+                    $auser = new User($this->db);
+                    $auser->fetch($obj->fk_user_approve);
+                    $this->user_approve = $auser;
+                }
+                if ($obj->fk_user_approve2)
+                {
+                    $a2user = new User($this->db);
+                    $a2user->fetch($obj->fk_user_approve2);
+                    $this->user_approve2 = $a2user;
+                }
+                $this->date_creation     = $this->db->idate($obj->datec);
+                $this->date_modification = $this->db->idate($obj->datem);
+                $this->date_approve      = $this->db->idate($obj->datea);
+                $this->date_approve2     = $this->db->idate($obj->datea2);
+                $this->date_validation   = $this->db->idate($obj->date_validation);
+            }
+            $this->db->free($result);
+        }
+        else
+        {
+            dol_print_error($this->db);
+        }
+    }
+    
     /**
      *	Charge indicateurs this->nb de tableau de bord
      *
diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php
index ae04c6cef5d97cbd9f760af9113b7436b098b545..0e11079f47650420a28d1ee0e0764fe5bc6c2e12 100644
--- a/htdocs/fourn/class/fournisseur.facture.class.php
+++ b/htdocs/fourn/class/fournisseur.facture.class.php
@@ -1428,7 +1428,7 @@ class FactureFournisseur extends CommonInvoice
     function info($id)
     {
         $sql = 'SELECT c.rowid, datec, tms as datem, ';
-        $sql.= ' fk_user_author, fk_user_valid';
+        $sql.= ' fk_user_author, fk_user_modif, fk_user_valid';
         $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as c';
         $sql.= ' WHERE c.rowid = '.$id;
 
@@ -1451,8 +1451,14 @@ class FactureFournisseur extends CommonInvoice
                     $vuser->fetch($obj->fk_user_valid);
                     $this->user_validation = $vuser;
                 }
-                $this->date_creation     = $obj->datec;
-                $this->date_modification = $obj->datem;
+                if ($obj->fk_user_modif)
+                {
+                    $muser = new User($this->db);
+                    $muser->fetch($obj->fk_user_modif);
+                    $this->user_modification = $muser;
+                }
+                $this->date_creation     = $this->db->idate($obj->datec);
+                $this->date_modification = $this->db->idate($obj->datem);
                 //$this->date_validation   = $obj->datev; // This field is not available. Should be store into log table and using this function should be replaced with showing content of log (like for supplier orders)
             }
             $this->db->free($result);
diff --git a/htdocs/fourn/commande/history.php b/htdocs/fourn/commande/info.php
similarity index 50%
rename from htdocs/fourn/commande/history.php
rename to htdocs/fourn/commande/info.php
index c864dce3b88d711ff116bfc967b6d7e6533d20e2..6723beeb44ea488a985ce4c3caf940db848281fe 100644
--- a/htdocs/fourn/commande/history.php
+++ b/htdocs/fourn/commande/info.php
@@ -1,6 +1,6 @@
 <?php
 /* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
- * Copyright (C) 2004-2009 Laurent Destailleur  <eldy@users.sourceforge.net>
+ * Copyright (C) 2004-2016 Laurent Destailleur  <eldy@users.sourceforge.net>
  * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@capnetworks.com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -18,13 +18,14 @@
  */
 
 /**
- *       \file       htdocs/fourn/commande/history.php
+ *       \file       htdocs/fourn/commande/info.php
  *       \ingroup    commande
  *       \brief      Fiche commande
  */
 
 require '../../main.inc.php';
 require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
 require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php';
 
 $langs->load("orders");
@@ -52,19 +53,18 @@ $now=dol_now();
 if ($id > 0 || ! empty($ref))
 {
 	$soc = new Societe($db);
-	$commande = new CommandeFournisseur($db);
+	$object = new CommandeFournisseur($db);
 
-	$result=$commande->fetch($id,$ref);
+	$result=$object->fetch($id,$ref);
 	if ($result >= 0)
 	{
-		$soc->fetch($commande->socid);
-
-		$author = new User($db);
-		$author->fetch($commande->user_author_id);
+        $object->info($object->id);
+        
+	    $soc->fetch($object->socid);
 
 		llxHeader('',$langs->trans("History"),"CommandeFournisseur");
 
-		$head = ordersupplier_prepare_head($commande);
+		$head = ordersupplier_prepare_head($object);
 
 		$title=$langs->trans("SupplierOrder");
 		dol_fiche_head($head, 'info', $title, 0, 'order');
@@ -79,9 +79,9 @@ if ($id > 0 || ! empty($ref))
 		$linkback = '<a href="'.DOL_URL_ROOT.'/fourn/commande/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
 
 		// Ref
-		print '<tr><td width="20%">'.$langs->trans("Ref").'</td>';
+		print '<tr><td class="titlefield">'.$langs->trans("Ref").'</td>';
 		print '<td colspan="2">';
-		print $form->showrefnav($commande, 'ref', $linkback, 1, 'ref', 'ref');
+		print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref');
 		print '</td>';
 		print '</tr>';
 
@@ -94,90 +94,33 @@ if ($id > 0 || ! empty($ref))
 		print '<tr>';
 		print '<td>'.$langs->trans("Status").'</td>';
 		print '<td colspan="2">';
-		print $commande->getLibStatut(4);
+		print $object->getLibStatut(4);
 		print "</td></tr>";
 
 		// Date
-		if ($commande->methode_commande_id > 0)
+		if ($object->methode_commande_id > 0)
 		{
 			print '<tr><td>'.$langs->trans("Date").'</td><td colspan="2">';
-			if ($commande->date_commande)
+			if ($object->date_commande)
 			{
-				print dol_print_date($commande->date_commande,"dayhourtext")."\n";
+				print dol_print_date($object->date_commande,"dayhourtext")."\n";
 			}
 			print "</td></tr>";
 
-			if ($commande->methode_commande)
+			if ($object->methode_commande)
 			{
-                print '<tr><td>'.$langs->trans("Method").'</td><td colspan="2">'.$commande->getInputMethod().'</td></tr>';
+                print '<tr><td>'.$langs->trans("Method").'</td><td colspan="2">'.$object->getInputMethod().'</td></tr>';
 			}
 		}
 
-		// Auteur
-		print '<tr><td>'.$langs->trans("AuthorRequest").'</td>';
-		print '<td colspan="2">'.$author->getNomUrl(1).'</td>';
-		print '</tr>';
-
 		print "</table>\n";
 		print "<br>";
 
-		/*
-		* Suivi historique
-		* Date - Statut - Auteur
-		*/
-		print '<table class="noborder" width="100%">';
-
-		print '<tr class="liste_titre"><td class="liste_titre">'.$langs->trans("Date").'</td>';
-		print '<td class="liste_titre">'.$langs->trans("Status").'</td>';
-		print '<td class="liste_titre" align="center">'.$langs->trans("Author").'</td>';
-		print '<td class="liste_titre" align="left">'.$langs->trans("Comment").'</td>';
-		print '</tr>';
-
-		$sql = "SELECT l.fk_statut, l.datelog as dl, l.comment, u.rowid, u.login, u.firstname, u.lastname";
-		$sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_log as l";
-		$sql.= " , ".MAIN_DB_PREFIX."user as u ";
-		$sql.= " WHERE l.fk_commande = ".$commande->id;
-		$sql.= " AND u.rowid = l.fk_user";
-		$sql.= " ORDER BY l.rowid DESC";
-
-		$resql = $db->query($sql);
-		if ($resql)
-		{
-			$num = $db->num_rows($resql);
-			$i = 0;
-
-			$var=True;
-			while ($i < $num)
-			{
-				$var=!$var;
-
-				$obj = $db->fetch_object($resql);
-				print "<tr ".$bc[$var].">";
-
-				print '<td width="20%">'.dol_print_date($db->jdate($obj->dl),"dayhour")."</td>\n";
-
-				// Statut
-				print '<td class="nowrap">'.$commande->LibStatut($obj->fk_statut,4)."</td>\n";
-
-				// User
-				print '<td align="center"><a href="'.DOL_URL_ROOT.'/user/card.php?id='.$obj->rowid.'">';
-				print img_object($langs->trans("ShowUser"),'user').' '.$obj->login.'</a></td>';
-
-				// Comment
-				print '<td class="nowrap" title="'.dol_escape_htmltag($obj->comment).'">'.dol_trunc($obj->comment,48)."</td>\n";
-
-				print '</tr>';
-
-				$i++;
-			}
-			$db->free($resql);
-		}
-		else
-		{
-			dol_print_error($db);
-		}
-		print "</table>";
-
+		print '<table width="100%"><tr><td>';
+		dol_print_object_info($object, 1);
+		print '</td></tr></table>';
+		
+		
 		print '</div>';
 	}
 	else