diff --git a/htdocs/comm/list.php b/htdocs/comm/list.php
index ad6bb5dafecf16660d7d0d5ae26eedec42ab0b03..f95173df5d3ef13af5febdfc41bb70ff166295a5 100755
--- a/htdocs/comm/list.php
+++ b/htdocs/comm/list.php
@@ -79,7 +79,7 @@ if (GETPOST("button_removefilter_x"))
  * view
  */
 
-$htmlother=new FormOther($db);
+$formother=new FormOther($db);
 $thirdpartystatic=new Societe($db);
 
 $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas';
@@ -157,14 +157,14 @@ if ($result)
 	if ($conf->categorie->enabled)
 	{
 	 	$moreforfilter.=$langs->trans('Categories'). ': ';
-		$moreforfilter.=$htmlother->select_categories(2,$search_categ,'search_categ');
+		$moreforfilter.=$formother->select_categories(2,$search_categ,'search_categ');
 	 	$moreforfilter.='       ';
 	}
  	// If the user can view prospects other than his'
  	if ($user->rights->societe->client->voir || $socid)
  	{
 	 	$moreforfilter.=$langs->trans('SalesRepresentatives'). ': ';
-		$moreforfilter.=$htmlother->select_salesrepresentatives($search_sale,'search_sale',$user);
+		$moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user);
  	}
  	if ($moreforfilter)
 	{
diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php
index 3fdf2e22d1232c36e677a46b711689781d9f1ced..96ff21c09f0cbd9716eaa4130d4f6d354537569b 100644
--- a/htdocs/comm/propal.php
+++ b/htdocs/comm/propal.php
@@ -1123,968 +1123,718 @@ $companystatic=new Societe($db);
 
 $now=dol_now();
 
-if ($id > 0 || ! empty($ref))
-{
-	/*
-	 * Show object in view mode
-	 */
-
-	dol_htmloutput_mesg($mesg,$mesgs);
+/*
+ * Show object in view mode
+ */
 
-	$soc = new Societe($db);
-	$soc->fetch($object->socid);
+dol_htmloutput_mesg($mesg,$mesgs);
 
-	$head = propal_prepare_head($object);
-	dol_fiche_head($head, 'comm', $langs->trans('Proposal'), 0, 'propal');
+$soc = new Societe($db);
+$soc->fetch($object->socid);
 
-	$formconfirm='';
+$head = propal_prepare_head($object);
+dol_fiche_head($head, 'comm', $langs->trans('Proposal'), 0, 'propal');
 
-	// Clone confirmation
-	if ($action == 'clone')
-	{
-		// Create an array for form
-		$formquestion=array(
-		//'text' => $langs->trans("ConfirmClone"),
-		//array('type' => 'checkbox', 'name' => 'clone_content',   'label' => $langs->trans("CloneMainAttributes"),   'value' => 1),
-		//array('type' => 'checkbox', 'name' => 'update_prices',   'label' => $langs->trans("PuttingPricesUpToDate"),   'value' => 1),
-		array('type' => 'other', 'name' => 'socid',   'label' => $langs->trans("SelectThirdParty"),   'value' => $form->select_company(GETPOST('socid','int'),'socid','(s.client=1 OR s.client=2 OR s.client=3)'))
-		);
-		// Paiement incomplet. On demande si motif = escompte ou autre
-		$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id,$langs->trans('ClonePropal'),$langs->trans('ConfirmClonePropal',$object->ref),'confirm_clone',$formquestion,'yes',1);
-	}
+$formconfirm='';
 
-	// Confirm delete
-	else if ($action == 'delete')
-	{
-		$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp',$object->ref), 'confirm_delete','',0,1);
-	}
+// Clone confirmation
+if ($action == 'clone')
+{
+	// Create an array for form
+	$formquestion=array(
+	//'text' => $langs->trans("ConfirmClone"),
+	//array('type' => 'checkbox', 'name' => 'clone_content',   'label' => $langs->trans("CloneMainAttributes"),   'value' => 1),
+	//array('type' => 'checkbox', 'name' => 'update_prices',   'label' => $langs->trans("PuttingPricesUpToDate"),   'value' => 1),
+	array('type' => 'other', 'name' => 'socid',   'label' => $langs->trans("SelectThirdParty"),   'value' => $form->select_company(GETPOST('socid','int'),'socid','(s.client=1 OR s.client=2 OR s.client=3)'))
+	);
+	// Paiement incomplet. On demande si motif = escompte ou autre
+	$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id,$langs->trans('ClonePropal'),$langs->trans('ConfirmClonePropal',$object->ref),'confirm_clone',$formquestion,'yes',1);
+}
 
-	// Confirm reopen
-	else if ($action == 'reopen')
-	{
-		$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp',$object->ref), 'confirm_reopen','',0,1);
-	}
+// Confirm delete
+else if ($action == 'delete')
+{
+	$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteProp'), $langs->trans('ConfirmDeleteProp',$object->ref), 'confirm_delete','',0,1);
+}
 
-	// Confirmation delete product/service line
-	else if ($action == 'ask_deleteline')
-	{
-		$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline','',0,1);
-	}
+// Confirm reopen
+else if ($action == 'reopen')
+{
+	$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenProp',$object->ref), 'confirm_reopen','',0,1);
+}
 
-	// Confirm validate proposal
-	else if ($action == 'validate')
-	{
-	    $error=0;
+// Confirmation delete product/service line
+else if ($action == 'ask_deleteline')
+{
+	$formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline','',0,1);
+}
 
-		// on verifie si l'objet est en numerotation provisoire
-		$ref = substr($object->ref, 1, 4);
-		if ($ref == 'PROV')
-		{
-			$numref = $object->getNextNumRef($soc);
-			if (empty($numref))
-			{
-			    $error++;
-			    dol_htmloutput_errors($object->error);
-			}
-		}
-		else
-		{
-			$numref = $object->ref;
-		}
+// Confirm validate proposal
+else if ($action == 'validate')
+{
+    $error=0;
 
-		$text=$langs->trans('ConfirmValidateProp',$numref);
-		if ($conf->notification->enabled)
+	// on verifie si l'objet est en numerotation provisoire
+	$ref = substr($object->ref, 1, 4);
+	if ($ref == 'PROV')
+	{
+		$numref = $object->getNextNumRef($soc);
+		if (empty($numref))
 		{
-			require_once(DOL_DOCUMENT_ROOT ."/core/class/notify.class.php");
-			$notify=new Notify($db);
-			$text.='<br>';
-			$text.=$notify->confirmMessage('NOTIFY_VAL_PROPAL',$object->socid);
+		    $error++;
+		    dol_htmloutput_errors($object->error);
 		}
-
-		if (! $error) $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate','',0,1);
 	}
-
-	if (! $formconfirm)
+	else
 	{
-	    $parameters=array('lineid'=>$lineid);
-	    $formconfirm=$hookmanager->executeHooks('formConfirm',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
+		$numref = $object->ref;
 	}
 
-	// Print form confirm
-	print $formconfirm;
+	$text=$langs->trans('ConfirmValidateProp',$numref);
+	if ($conf->notification->enabled)
+	{
+		require_once(DOL_DOCUMENT_ROOT ."/core/class/notify.class.php");
+		$notify=new Notify($db);
+		$text.='<br>';
+		$text.=$notify->confirmMessage('NOTIFY_VAL_PROPAL',$object->socid);
+	}
 
+	if (! $error) $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateProp'), $text, 'confirm_validate','',0,1);
+}
 
-	print '<table class="border" width="100%">';
+if (! $formconfirm)
+{
+    $parameters=array('lineid'=>$lineid);
+    $formconfirm=$hookmanager->executeHooks('formConfirm',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
+}
 
-	$linkback="<a href=\"propal.php?page=$page&socid=$socid&viewstatut=$viewstatut&sortfield=$sortfield&$sortorder\">".$langs->trans("BackToList")."</a>";
+// Print form confirm
+print $formconfirm;
 
-	// Ref
-	print '<tr><td>'.$langs->trans('Ref').'</td><td colspan="5">';
-	print $form->showrefnav($object,'ref',$linkback,1,'ref','ref','');
-	print '</td></tr>';
 
-	// Ref client
-	print '<tr><td>';
-	print '<table class="nobordernopadding" width="100%"><tr><td nowrap="nowrap">';
-	print $langs->trans('RefCustomer').'</td><td align="left">';
-	print '</td>';
-	if ($action != 'refclient' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=refclient&amp;id='.$object->id.'">'.img_edit($langs->trans('Modify')).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="5">';
-	if ($user->rights->propale->creer && $action == 'refclient')
-	{
-		print '<form action="propal.php?id='.$object->id.'" method="post">';
-		print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-		print '<input type="hidden" name="action" value="set_ref_client">';
-		print '<input type="text" class="flat" size="20" name="ref_client" value="'.$object->ref_client.'">';
-		print ' <input type="submit" class="button" value="'.$langs->trans('Modify').'">';
-		print '</form>';
-	}
-	else
-	{
-		print $object->ref_client;
-	}
-	print '</td>';
-	print '</tr>';
+print '<table class="border" width="100%">';
 
-	// Company
-	print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$soc->getNomUrl(1).'</td>';
-	print '</tr>';
+$linkback='<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?page='.$page.'&socid='.$socid.'&viewstatut='.$viewstatut.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.$langs->trans("BackToList").'</a>';
 
-	// Ligne info remises tiers
-	print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">';
-	if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
-	else print $langs->trans("CompanyHasNoRelativeDiscount");
-	print '. ';
-	$absolute_discount=$soc->getAvailableDiscounts('','fk_facture_source IS NULL');
-	$absolute_creditnote=$soc->getAvailableDiscounts('','fk_facture_source IS NOT NULL');
-	$absolute_discount=price2num($absolute_discount,'MT');
-	$absolute_creditnote=price2num($absolute_creditnote,'MT');
-	if ($absolute_discount)
-	{
-		if ($object->statut > 0)
-		{
-			print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency));
-		}
-		else
-		{
-			// Remise dispo de type non avoir
-			$filter='fk_facture_source IS NULL';
-			print '<br>';
-			$form->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$object->id,0,'remise_id',$soc->id,$absolute_discount,$filter);
-		}
-	}
-	if ($absolute_creditnote)
-	{
-		print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)).'. ';
-	}
-	if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
-	print '</td></tr>';
+// Ref
+print '<tr><td>'.$langs->trans('Ref').'</td><td colspan="5">';
+print $form->showrefnav($object,'ref',$linkback,1,'ref','ref','');
+print '</td></tr>';
 
-	// Date of proposal
-	print '<tr>';
-	print '<td>';
-	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('Date');
-	print '</td>';
-	if ($action != 'editdate' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate&amp;id='.$object->id.'">'.img_edit($langs->trans('SetDate'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	if ($object->brouillon && $action == 'editdate')
+// Ref client
+print '<tr><td>';
+print '<table class="nobordernopadding" width="100%"><tr><td nowrap="nowrap">';
+print $langs->trans('RefCustomer').'</td><td align="left">';
+print '</td>';
+if ($action != 'refclient' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=refclient&amp;id='.$object->id.'">'.img_edit($langs->trans('Modify')).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="5">';
+if ($user->rights->propale->creer && $action == 'refclient')
+{
+	print '<form action="propal.php?id='.$object->id.'" method="post">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="action" value="set_ref_client">';
+	print '<input type="text" class="flat" size="20" name="ref_client" value="'.$object->ref_client.'">';
+	print ' <input type="submit" class="button" value="'.$langs->trans('Modify').'">';
+	print '</form>';
+}
+else
+{
+	print $object->ref_client;
+}
+print '</td>';
+print '</tr>';
+
+// Company
+print '<tr><td>'.$langs->trans('Company').'</td><td colspan="5">'.$soc->getNomUrl(1).'</td>';
+print '</tr>';
+
+// Ligne info remises tiers
+print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">';
+if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
+else print $langs->trans("CompanyHasNoRelativeDiscount");
+print '. ';
+$absolute_discount=$soc->getAvailableDiscounts('','fk_facture_source IS NULL');
+$absolute_creditnote=$soc->getAvailableDiscounts('','fk_facture_source IS NOT NULL');
+$absolute_discount=price2num($absolute_discount,'MT');
+$absolute_creditnote=price2num($absolute_creditnote,'MT');
+if ($absolute_discount)
+{
+	if ($object->statut > 0)
 	{
-		print '<form name="editdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
-		print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-		print '<input type="hidden" name="action" value="setdate">';
-		$form->select_date($object->date,'re','','',0,"editdate");
-		print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
-		print '</form>';
+		print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency));
 	}
 	else
 	{
-		if ($object->date)
-		{
-			print dol_print_date($object->date,'daytext');
-		}
-		else
-		{
-			print '&nbsp;';
-		}
+		// Remise dispo de type non avoir
+		$filter='fk_facture_source IS NULL';
+		print '<br>';
+		$form->form_remise_dispo($_SERVER["PHP_SELF"].'?id='.$object->id,0,'remise_id',$soc->id,$absolute_discount,$filter);
 	}
-	print '</td>';
-
-	// Date end proposal
-	print '<tr>';
-	print '<td>';
-	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('DateEndPropal');
-	print '</td>';
-	if ($action != 'editecheance' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editecheance&amp;id='.$object->id.'">'.img_edit($langs->trans('SetConditions'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	if ($object->brouillon && $action == 'editecheance')
+}
+if ($absolute_creditnote)
+{
+	print $langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)).'. ';
+}
+if (! $absolute_discount && ! $absolute_creditnote) print $langs->trans("CompanyHasNoAbsoluteDiscount").'.';
+print '</td></tr>';
+
+// Date of proposal
+print '<tr>';
+print '<td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('Date');
+print '</td>';
+if ($action != 'editdate' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate&amp;id='.$object->id.'">'.img_edit($langs->trans('SetDate'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($object->brouillon && $action == 'editdate')
+{
+	print '<form name="editdate" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="action" value="setdate">';
+	$form->select_date($object->date,'re','','',0,"editdate");
+	print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
+	print '</form>';
+}
+else
+{
+	if ($object->date)
 	{
-		print '<form name="editecheance" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
-		print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-		print '<input type="hidden" name="action" value="setecheance">';
-		$form->select_date($object->fin_validite,'ech','','','',"editecheance");
-		print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
-		print '</form>';
+		print dol_print_date($object->date,'daytext');
 	}
 	else
 	{
-		if ($object->fin_validite)
-		{
-			print dol_print_date($object->fin_validite,'daytext');
-			if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
-		}
-		else
-		{
-			print '&nbsp;';
-		}
+		print '&nbsp;';
 	}
-	print '</td>';
-	print '</tr>';
-
-    // Payment term
-    print '<tr><td>';
-    print '<table class="nobordernopadding" width="100%"><tr><td>';
-    print $langs->trans('PaymentConditionsShort');
-    print '</td>';
-    if ($action != 'editconditions' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editconditions&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetConditions'),1).'</a></td>';
-    print '</tr></table>';
-    print '</td><td colspan="3">';
-    if ($action == 'editconditions')
-    {
-        $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'cond_reglement_id');
-    }
-    else
-    {
-        $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'none');
-    }
-    print '</td>';
-    print '</tr>';
-
-	// Delivery date
-	$langs->load('deliveries');
-	print '<tr><td>';
-	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('DeliveryDate');
-	print '</td>';
-	if ($action != 'editdate_livraison' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate_livraison&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	if ($action == 'editdate_livraison')
+}
+print '</td>';
+
+// Date end proposal
+print '<tr>';
+print '<td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('DateEndPropal');
+print '</td>';
+if ($action != 'editecheance' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editecheance&amp;id='.$object->id.'">'.img_edit($langs->trans('SetConditions'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($object->brouillon && $action == 'editecheance')
+{
+	print '<form name="editecheance" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="action" value="setecheance">';
+	$form->select_date($object->fin_validite,'ech','','','',"editecheance");
+	print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
+	print '</form>';
+}
+else
+{
+	if ($object->fin_validite)
 	{
-		print '<form name="editdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
-		print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-		print '<input type="hidden" name="action" value="setdate_livraison">';
-		$form->select_date($object->date_livraison,'liv_','','','',"editdate_livraison");
-		print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
-		print '</form>';
+		print dol_print_date($object->fin_validite,'daytext');
+		if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
 	}
 	else
 	{
-		print dol_print_date($object->date_livraison,'daytext');
+		print '&nbsp;';
 	}
-	print '</td>';
-	print '</tr>';
+}
+print '</td>';
+print '</tr>';
+
+// Payment term
+print '<tr><td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('PaymentConditionsShort');
+print '</td>';
+if ($action != 'editconditions' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editconditions&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetConditions'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($action == 'editconditions')
+{
+    $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'cond_reglement_id');
+}
+else
+{
+    $form->form_conditions_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->cond_reglement_id,'none');
+}
+print '</td>';
+print '</tr>';
+
+// Delivery date
+$langs->load('deliveries');
+print '<tr><td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('DeliveryDate');
+print '</td>';
+if ($action != 'editdate_livraison' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdate_livraison&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($action == 'editdate_livraison')
+{
+	print '<form name="editdate_livraison" action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
+	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	print '<input type="hidden" name="action" value="setdate_livraison">';
+	$form->select_date($object->date_livraison,'liv_','','','',"editdate_livraison");
+	print '<input type="submit" class="button" value="'.$langs->trans('Modify').'">';
+	print '</form>';
+}
+else
+{
+	print dol_print_date($object->date_livraison,'daytext');
+}
+print '</td>';
+print '</tr>';
+
+// Delivery delay
+print '<tr><td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('AvailabilityPeriod');
+if ($conf->commande->enabled) print ' ('.$langs->trans('AfterOrder').')';
+print '</td>';
+if ($action != 'editavailability' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editavailability&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetAvailability'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($action == 'editavailability')
+{
+	$form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'availability_id',1);
+}
+else
+{
+	$form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'none',1);
+}
 
-	// Delivery delay
-	print '<tr><td>';
-	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('AvailabilityPeriod');
-	if ($conf->commande->enabled) print ' ('.$langs->trans('AfterOrder').')';
-	print '</td>';
-	if ($action != 'editavailability' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editavailability&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetAvailability'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	if ($action == 'editavailability')
-	{
-		$form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'availability_id',1);
-	}
-	else
-	{
-		$form->form_availability($_SERVER['PHP_SELF'].'?id='.$object->id,$object->availability_id,'none',1);
-	}
+print '</td>';
+print '</tr>';
+
+// Origin of demand
+print '<tr><td>';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('Source');
+print '</td>';
+if ($action != 'editdemandreason' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdemandreason&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetDemandReason'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+//print $object->demand_reason_id;
+if ($action == 'editdemandreason')
+{
+	$form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'demand_reason_id',1);
+}
+else
+{
+	$form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'none');
+}
 
-	print '</td>';
-	print '</tr>';
+print '</td>';
+print '</tr>';
+
+// Payment mode
+print '<tr>';
+print '<td width="25%">';
+print '<table class="nobordernopadding" width="100%"><tr><td>';
+print $langs->trans('PaymentMode');
+print '</td>';
+if ($action != 'editmode' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editmode&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetMode'),1).'</a></td>';
+print '</tr></table>';
+print '</td><td colspan="3">';
+if ($action == 'editmode')
+{
+	$form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'mode_reglement_id');
+}
+else
+{
+	$form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'none');
+}
+print '</td></tr>';
 
-	// Origin of demand
+// Project
+if ($conf->projet->enabled)
+{
+	$langs->load("projects");
 	print '<tr><td>';
 	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('Source');
-	print '</td>';
-	if ($action != 'editdemandreason' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editdemandreason&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetDemandReason'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	//print $object->demand_reason_id;
-	if ($action == 'editdemandreason')
+	print $langs->trans('Project').'</td>';
+	if ($user->rights->propale->creer)
 	{
-		$form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'demand_reason_id',1);
-	}
-	else
-	{
-		$form->form_demand_reason($_SERVER['PHP_SELF'].'?id='.$object->id,$object->demand_reason_id,'none');
-	}
-
-	print '</td>';
-	print '</tr>';
-
-	// Payment mode
-	print '<tr>';
-	print '<td width="25%">';
-	print '<table class="nobordernopadding" width="100%"><tr><td>';
-	print $langs->trans('PaymentMode');
-	print '</td>';
-	if ($action != 'editmode' && $object->brouillon) print '<td align="right"><a href="'.$_SERVER["PHP_SELF"].'?action=editmode&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetMode'),1).'</a></td>';
-	print '</tr></table>';
-	print '</td><td colspan="3">';
-	if ($action == 'editmode')
-	{
-		$form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'mode_reglement_id');
-	}
-	else
-	{
-		$form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'none');
-	}
-	print '</td></tr>';
-
-	// Project
-	if ($conf->projet->enabled)
-	{
-		$langs->load("projects");
-		print '<tr><td>';
-		print '<table class="nobordernopadding" width="100%"><tr><td>';
-		print $langs->trans('Project').'</td>';
-		if ($user->rights->propale->creer)
+		if ($action != 'classify') print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=classify&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a></td>';
+		print '</tr></table>';
+		print '</td><td colspan="3">';
+		if ($action == 'classify')
 		{
-			if ($action != 'classify') print '<td align="right"><a href="'.$_SERVER['PHP_SELF'].'?action=classify&amp;id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a></td>';
-			print '</tr></table>';
-			print '</td><td colspan="3">';
-			if ($action == 'classify')
-			{
-				$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'projectid');
-			}
-			else
-			{
-				$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none');
-			}
-			print '</td></tr>';
+			$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'projectid');
 		}
 		else
 		{
-			print '</td></tr></table>';
-			if (!empty($object->fk_project))
-			{
-				print '<td colspan="3">';
-				$proj = new Project($db);
-				$proj->fetch($object->fk_project);
-				print '<a href="../projet/fiche.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
-				print $proj->ref;
-				print '</a>';
-				print '</td>';
-			}
-			else {
-				print '<td colspan="3">&nbsp;</td>';
-			}
+			$form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, 'none');
 		}
-		print '</tr>';
+		print '</td></tr>';
 	}
-
-    // Other attributes
-    $parameters=array('colspan' => ' colspan="3"');
-    $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
-    if (empty($reshook) && ! empty($extrafields->attribute_label))
-    {
-        foreach($extrafields->attribute_label as $key=>$label)
-        {
-            $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]);
-            print "<tr><td>".$label.'</td><td colspan="3">';
-            print $extrafields->showInputField($key,$value);
-            print '</td></tr>'."\n";
-        }
-    }
-
-	// Amount HT
-	print '<tr><td height="10">'.$langs->trans('AmountHT').'</td>';
-	print '<td align="right" nowrap><b>'.price($object->total_ht).'</b></td>';
-	print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
-
-	// Amount VAT
-	print '<tr><td height="10">'.$langs->trans('AmountVAT').'</td>';
-	print '<td align="right" nowrap>'.price($object->total_tva).'</td>';
-	print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
-
-	// Amount Local Taxes
-	if ($mysoc->country_code=='ES')
+	else
 	{
-		if ($mysoc->localtax1_assuj=="1") //Localtax1 RE
+		print '</td></tr></table>';
+		if (!empty($object->fk_project))
 		{
-			print '<tr><td height="10">'.$langs->transcountry("AmountLT1",$mysoc->country_code).'</td>';
-			print '<td align="right" nowrap>'.price($object->total_localtax1).'</td>';
-			print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
+			print '<td colspan="3">';
+			$proj = new Project($db);
+			$proj->fetch($object->fk_project);
+			print '<a href="../projet/fiche.php?id='.$object->fk_project.'" title="'.$langs->trans('ShowProject').'">';
+			print $proj->ref;
+			print '</a>';
+			print '</td>';
 		}
-		if ($mysoc->localtax2_assuj=="1") //Localtax2 IRPF
-		{
-			print '<tr><td height="10">'.$langs->transcountry("AmountLT2",$mysoc->country_code).'</td>';
-			print '<td align="right" nowrap>'.price($object->total_localtax2).'</td>';
-			print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
+		else {
+			print '<td colspan="3">&nbsp;</td>';
 		}
 	}
+	print '</tr>';
+}
 
-	// Amount TTC
-	print '<tr><td height="10">'.$langs->trans('AmountTTC').'</td>';
-	print '<td align="right" nowrap>'.price($object->total_ttc).'</td>';
-	print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
-
-	// Statut
-	print '<tr><td height="10">'.$langs->trans('Status').'</td><td align="left" colspan="3">'.$object->getLibStatut(4).'</td></tr>';
-
-	print '</table><br>';
-
-	if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
-	{
-		require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php');
-		$formcompany= new FormCompany($db);
-
-		$blocname = 'contacts';
-		$title = $langs->trans('ContactsAddresses');
-		include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
-	}
-
-    if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB))
+// Other attributes
+$parameters=array('colspan' => ' colspan="3"');
+$reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
+if (empty($reshook) && ! empty($extrafields->attribute_label))
+{
+    foreach($extrafields->attribute_label as $key=>$label)
     {
-    	$blocname = 'notes';
-    	$title = $langs->trans('Notes');
-    	include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
+        $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]);
+        print "<tr><td>".$label.'</td><td colspan="3">';
+        print $extrafields->showInputField($key,$value);
+        print '</td></tr>'."\n";
     }
+}
 
-	/*
-	 * Lines
-	 */
-
-	if ($conf->use_javascript_ajax && $object->statut == 0)
-	{
-		include(DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php');
-	}
-
-	print '<table id="tablelines" class="noborder" width="100%">';
+// Amount HT
+print '<tr><td height="10">'.$langs->trans('AmountHT').'</td>';
+print '<td align="right" nowrap><b>'.price($object->total_ht).'</b></td>';
+print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
 
-	// Show object lines
-	$result = $object->getLinesArray();
-	if (! empty($object->lines)) $object->printObjectLines($action,$mysoc,$soc,$lineid,0,$hookmanager);
+// Amount VAT
+print '<tr><td height="10">'.$langs->trans('AmountVAT').'</td>';
+print '<td align="right" nowrap>'.price($object->total_tva).'</td>';
+print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
 
-	/*
-	 * Form to add new line
-	 */
-	if ($object->statut == 0 && $user->rights->propale->creer)
+// Amount Local Taxes
+if ($mysoc->country_code=='ES')
+{
+	if ($mysoc->localtax1_assuj=="1") //Localtax1 RE
 	{
-		if ($action != 'editline')
-		{
-			$var=true;
-
-			// Add free products/services
-			$object->formAddFreeProduct(0,$mysoc,$soc,$hookmanager);
-
-			// Add predefined products/services
-			if ($conf->product->enabled || $conf->service->enabled)
-			{
-				$var=!$var;
-				$object->formAddPredefinedProduct(0,$mysoc,$soc,$hookmanager);
-			}
-
-			$parameters=array();
-			$reshook=$hookmanager->executeHooks('formAddObject',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
-		}
+		print '<tr><td height="10">'.$langs->transcountry("AmountLT1",$mysoc->country_code).'</td>';
+		print '<td align="right" nowrap>'.price($object->total_localtax1).'</td>';
+		print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
 	}
-
-	print '</table>';
-
-	print '</div>';
-	print "\n";
-
-	if ($action == 'statut')
+	if ($mysoc->localtax2_assuj=="1") //Localtax2 IRPF
 	{
-		/*
-		 * Formulaire cloture (signe ou non)
-		 */
-		$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
-		$form_close.= '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
-		$form_close.= '<table class="border" width="100%">';
-        $form_close.= '<tr><td width="150"  align="left">'.$langs->trans("CloseAs").'</td><td align="left">';
-        $form_close.= '<input type="hidden" name="action" value="setstatut">';
-        $form_close.= '<select id="statut" name="statut" class="flat">';
-        $form_close.= '<option value="0">&nbsp;</option>';
-        $form_close.= '<option value="2">'.$object->labelstatut[2].'</option>';
-        $form_close.= '<option value="3">'.$object->labelstatut[3].'</option>';
-        $form_close.= '</select>';
-        $form_close.= '</td></tr>';
-		$form_close.= '<tr><td width="150" align="left">'.$langs->trans('Note').'</td><td align="left"><textarea cols="70" rows="'.ROWS_3.'" wrap="soft" name="note">';
-		$form_close.= $object->note;
-		$form_close.= '</textarea></td></tr>';
-		$form_close.= '<tr><td align="center" colspan="2">';
-		$form_close.= '<input type="submit" class="button" name="validate" value="'.$langs->trans('Validate').'">';
-		$form_close.= ' &nbsp; <input type="submit" class="button" name="cancel" value="'.$langs->trans('Cancel').'">';
-		$form_close.= '<a name="close">&nbsp;</a>';
-		$form_close.= '</td>';
-		$form_close.= '</tr></table></form>';
-
-		print $form_close;
+		print '<tr><td height="10">'.$langs->transcountry("AmountLT2",$mysoc->country_code).'</td>';
+		print '<td align="right" nowrap>'.price($object->total_localtax2).'</td>';
+		print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
 	}
+}
 
+// Amount TTC
+print '<tr><td height="10">'.$langs->trans('AmountTTC').'</td>';
+print '<td align="right" nowrap>'.price($object->total_ttc).'</td>';
+print '<td>'.$langs->trans("Currency".$conf->currency).'</td></tr>';
 
-	/*
-	 * Boutons Actions
-	 */
-	if ($action != 'presend')
-	{
-		print '<div class="tabsAction">';
-
-		if ($action != 'statut' && $action <> 'editline')
-		{
-			// Validate
-			if ($object->statut == 0 && $user->rights->propale->valider)
-			{
-			    if (count($object->lines) > 0) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate">'.$langs->trans('Validate').'</a>';
-			    else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
-			}
+// Statut
+print '<tr><td height="10">'.$langs->trans('Status').'</td><td align="left" colspan="3">'.$object->getLibStatut(4).'</td></tr>';
 
-			// Edit
-			if ($object->statut == 1 && $user->rights->propale->creer)
-			{
-				print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
-			}
+print '</table><br>';
 
-			// ReOpen
-			if (($object->statut == 2 || $object->statut == 3) && $user->rights->propale->cloturer)
-			{
-				print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=reopen'.(empty($conf->global->MAIN_JUMP_TAG)?'':'#reopen').'"';
-				print '>'.$langs->trans('ReOpen').'</a>';
-			}
+if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB))
+{
+	require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php');
+	$formcompany= new FormCompany($db);
+
+	$blocname = 'contacts';
+	$title = $langs->trans('ContactsAddresses');
+	include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
+}
 
-			// Send
-			if ($object->statut == 1 || $object->statut == 2)
-			{
-                if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propale->propal_advance->send)
-                {
-				   print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=presend&amp;mode=init">'.$langs->trans('SendByMail').'</a>';
-                }
-                else print '<a class="butActionRefused" href="#">'.$langs->trans('SendByMail').'</a>';
-			}
+if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB))
+{
+	$blocname = 'notes';
+	$title = $langs->trans('Notes');
+	include(DOL_DOCUMENT_ROOT.'/core/tpl/bloc_showhide.tpl.php');
+}
 
-            // Create an order
-            if ($conf->commande->enabled && $object->statut == 2 && $user->societe_id == 0)
-            {
-                if ($user->rights->commande->creer)
-                {
-                    print '<a class="butAction" href="'.DOL_URL_ROOT.'/commande/fiche.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->socid.'">'.$langs->trans("AddOrder").'</a>';
-                }
-            }
+/*
+ * Lines
+ */
 
-            // Create an invoice and classify billed
-			if ($object->statut == 2 && $user->societe_id == 0)
-			{
-				if ($conf->facture->enabled && $user->rights->facture->creer)
-				{
-					print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->socid.'">'.$langs->trans("AddBill").'</a>';
-				}
+if ($conf->use_javascript_ajax && $object->statut == 0)
+{
+	include(DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php');
+}
 
-				$arraypropal=$object->getInvoiceArrayList();
-				if (is_array($arraypropal) && count($arraypropal) > 0)
-				{
-					print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=classifybilled&amp;socid='.$object->socid.'">'.$langs->trans("ClassifyBilled").'</a>';
-				}
-			}
+print '<table id="tablelines" class="noborder" width="100%">';
 
-			// Close
-			if ($object->statut == 1 && $user->rights->propale->cloturer)
-			{
-				print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=statut'.(empty($conf->global->MAIN_JUMP_TAG)?'':'#close').'"';
-				print '>'.$langs->trans('Close').'</a>';
-			}
+// Show object lines
+$result = $object->getLinesArray();
+if (! empty($object->lines)) $object->printObjectLines($action,$mysoc,$soc,$lineid,0,$hookmanager);
 
-			// Clone
-			if ($object->type == 0 && $user->rights->propale->creer)
-			{
-				print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&amp;socid='.$object->socid.'&amp;action=clone&amp;object=propal">'.$langs->trans("ToClone").'</a>';
-			}
+/*
+ * Form to add new line
+ */
+if ($object->statut == 0 && $user->rights->propale->creer)
+{
+	if ($action != 'editline')
+	{
+		$var=true;
 
-			// Delete
-			if ($user->rights->propale->supprimer)
-			{
-				print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete"';
-				print '>'.$langs->trans('Delete').'</a>';
-			}
+		// Add free products/services
+		$object->formAddFreeProduct(0,$mysoc,$soc,$hookmanager);
 
+		// Add predefined products/services
+		if ($conf->product->enabled || $conf->service->enabled)
+		{
+			$var=!$var;
+			$object->formAddPredefinedProduct(0,$mysoc,$soc,$hookmanager);
 		}
 
-		print '</div>';
-		print "<br>\n";
+		$parameters=array();
+		$reshook=$hookmanager->executeHooks('formAddObject',$parameters,$object,$action);    // Note that $action and $object may have been modified by hook
 	}
+}
 
-	if ($action != 'presend')
-	{
-		print '<table width="100%"><tr><td width="50%" valign="top">';
-		print '<a name="builddoc"></a>'; // ancre
-
-
-		/*
-		 * Documents generes
-		 */
-		$filename=dol_sanitizeFileName($object->ref);
-		$filedir=$conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref);
-		$urlsource=$_SERVER["PHP_SELF"]."?id=".$object->id;
-		$genallowed=$user->rights->propale->creer;
-		$delallowed=$user->rights->propale->supprimer;
-
-		$var=true;
-
-		$somethingshown=$formfile->show_documents('propal',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'',0,'',$soc->default_lang,$hookmanager);
+print '</table>';
 
+print '</div>';
+print "\n";
 
-		/*
-		 * Linked object block
-		 */
-		$somethingshown=$object->showLinkedObjectBlock();
+if ($action == 'statut')
+{
+	/*
+	 * Formulaire cloture (signe ou non)
+	 */
+	$form_close = '<form action="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'" method="post">';
+	$form_close.= '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
+	$form_close.= '<table class="border" width="100%">';
+    $form_close.= '<tr><td width="150"  align="left">'.$langs->trans("CloseAs").'</td><td align="left">';
+    $form_close.= '<input type="hidden" name="action" value="setstatut">';
+    $form_close.= '<select id="statut" name="statut" class="flat">';
+    $form_close.= '<option value="0">&nbsp;</option>';
+    $form_close.= '<option value="2">'.$object->labelstatut[2].'</option>';
+    $form_close.= '<option value="3">'.$object->labelstatut[3].'</option>';
+    $form_close.= '</select>';
+    $form_close.= '</td></tr>';
+	$form_close.= '<tr><td width="150" align="left">'.$langs->trans('Note').'</td><td align="left"><textarea cols="70" rows="'.ROWS_3.'" wrap="soft" name="note">';
+	$form_close.= $object->note;
+	$form_close.= '</textarea></td></tr>';
+	$form_close.= '<tr><td align="center" colspan="2">';
+	$form_close.= '<input type="submit" class="button" name="validate" value="'.$langs->trans('Validate').'">';
+	$form_close.= ' &nbsp; <input type="submit" class="button" name="cancel" value="'.$langs->trans('Cancel').'">';
+	$form_close.= '<a name="close">&nbsp;</a>';
+	$form_close.= '</td>';
+	$form_close.= '</tr></table></form>';
+
+	print $form_close;
+}
 
-		print '</td><td valign="top" width="50%">';
 
-		// List of actions on element
-		include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
-		$formactions=new FormActions($db);
-		$somethingshown=$formactions->showactions($object,'propal',$socid);
+/*
+ * Boutons Actions
+ */
+if ($action != 'presend')
+{
+	print '<div class="tabsAction">';
 
-		print '</td></tr></table>';
-	}
+	if ($action != 'statut' && $action <> 'editline')
+	{
+		// Validate
+		if ($object->statut == 0 && $user->rights->propale->valider)
+		{
+		    if (count($object->lines) > 0) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate">'.$langs->trans('Validate').'</a>';
+		    else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
+		}
 
+		// Edit
+		if ($object->statut == 1 && $user->rights->propale->creer)
+		{
+			print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
+		}
 
-	/*
-	 * Action presend
-	 *
-	 */
-	if ($action == 'presend')
-	{
-		$ref = dol_sanitizeFileName($object->ref);
-        include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
-        $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref);
-        $file=$fileparams['fullname'];
+		// ReOpen
+		if (($object->statut == 2 || $object->statut == 3) && $user->rights->propale->cloturer)
+		{
+			print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=reopen'.(empty($conf->global->MAIN_JUMP_TAG)?'':'#reopen').'"';
+			print '>'.$langs->trans('ReOpen').'</a>';
+		}
 
-        // Build document if it not exists
-        if (! $file || ! is_readable($file))
-        {
-            // Define output language
-            $outputlangs = $langs;
-            $newlang='';
-            if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
-            if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
-            if (! empty($newlang))
+		// Send
+		if ($object->statut == 1 || $object->statut == 2)
+		{
+            if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propale->propal_advance->send)
             {
-                $outputlangs = new Translate("",$conf);
-                $outputlangs->setDefaultLang($newlang);
+			   print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=presend&amp;mode=init">'.$langs->trans('SendByMail').'</a>';
             }
+            else print '<a class="butActionRefused" href="#">'.$langs->trans('SendByMail').'</a>';
+		}
 
-            $result=propale_pdf_create($db, $object, GETPOST('model')?GETPOST('model'):$object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
-            if ($result <= 0)
+        // Create an order
+        if ($conf->commande->enabled && $object->statut == 2 && $user->societe_id == 0)
+        {
+            if ($user->rights->commande->creer)
             {
-                dol_print_error($db,$result);
-                exit;
+                print '<a class="butAction" href="'.DOL_URL_ROOT.'/commande/fiche.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->socid.'">'.$langs->trans("AddOrder").'</a>';
             }
-            $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref);
-            $file=$fileparams['fullname'];
         }
 
-		print '<br>';
-		print_titre($langs->trans('SendPropalByMail'));
-
-		// Create form object
-		include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php');
-		$formmail = new FormMail($db);
-		$formmail->fromtype = 'user';
-		$formmail->fromid   = $user->id;
-		$formmail->fromname = $user->getFullName($langs);
-		$formmail->frommail = $user->email;
-		$formmail->withfrom=1;
-		$formmail->withto=empty($_POST["sendto"])?1:$_POST["sendto"];
-		$formmail->withtosocid=$soc->id;
-		$formmail->withtocc=1;
-		$formmail->withtoccsocid=0;
-		$formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC;
-		$formmail->withtocccsocid=0;
-		$formmail->withtopic=$langs->trans('SendPropalRef','__PROPREF__');
-		$formmail->withfile=2;
-		$formmail->withbody=1;
-		$formmail->withdeliveryreceipt=1;
-		$formmail->withcancel=1;
-
-		// Tableau des substitutions
-		$formmail->substit['__PROPREF__']=$object->ref;
-        $formmail->substit['__SIGNATURE__']=$user->signature;
-        $formmail->substit['__PERSONALIZED__']='';
-		// Tableau des parametres complementaires
-		$formmail->param['action']='send';
-		$formmail->param['models']='propal_send';
-		$formmail->param['id']=$object->id;
-		$formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id;
-
-		// Init list of files
-        if (GETPOST("mode")=='init')
+        // Create an invoice and classify billed
+		if ($object->statut == 2 && $user->societe_id == 0)
 		{
-			$formmail->clear_attached_files();
-            $formmail->add_attached_files($file,basename($file),dol_mimetype($file));
-		}
-
-		$formmail->show_form();
-
-		print '<br>';
-	}
-
-}
-else
-{
-	/****************************************************************************
-	 *                                                                          *
-	 *                         Mode Liste des propales                          *
-	 *                                                                          *
-	 ****************************************************************************/
-
-	$now=dol_now();
-
-	$sortfield = GETPOST("sortfield",'alpha');
-	$sortorder = GETPOST("sortorder",'alpha');
-	$page = GETPOST("page",'int');
-	if ($page == -1) { $page = 0; }
-	$offset = $conf->liste_limit * $page;
-	$pageprev = $page - 1;
-	$pagenext = $page + 1;
-
-	$viewstatut=$db->escape(GETPOST('viewstatut'));
-	$object_statut = $db->escape(GETPOST('propal_statut'));
-	if($object_statut != '')
-	$viewstatut=$object_statut;
-
-	if (! $sortfield) $sortfield='p.datep';
-	if (! $sortorder) $sortorder='DESC';
-	$limit = $conf->liste_limit;
-
-	$sql = 'SELECT s.nom, s.rowid, s.client, ';
-	$sql.= 'p.rowid as propalid, p.total_ht, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,';
-	if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,";
-	$sql.= ' u.login';
-	$sql.= ' FROM ('.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'propal as p';
-	if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
-	$sql.= ')';
-	if ($sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'propaldet as pd ON p.rowid=pd.fk_propal';
-	$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON p.fk_user_author = u.rowid';
-	$sql.= ' WHERE p.fk_soc = s.rowid';
-	$sql.= ' AND p.entity = '.$conf->entity;
-
-	if (! $user->rights->societe->client->voir && ! $socid) //restriction
-	{
-		$sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
-	}
-	if ($search_ref)
-	{
-		$sql.= " AND p.ref LIKE '%".$db->escape(trim($search_ref))."%'";
-	}
-	if ($search_refcustomer)
-	{
-		$sql.= " AND p.ref_client LIKE '%".$db->escape(trim($search_refcustomer))."%'";
-	}
-	if ($search_societe)
-	{
-		$sql.= " AND s.nom LIKE '%".$db->escape(trim($search_societe))."%'";
-	}
-	if ($search_montant_ht)
-	{
-		$sql.= " AND p.total_ht='".$db->escape(trim($search_montant_ht))."'";
-	}
-	if ($sall) $sql.= " AND (s.nom LIKE '%".$db->escape($sall)."%' OR p.note LIKE '%".$db->escape($sall)."%' OR pd.description LIKE '%".$db->escape($sall)."%')";
-	if ($socid) $sql.= ' AND s.rowid = '.$socid;
-	if ($viewstatut <> '')
-	{
-		$sql.= ' AND p.fk_statut IN ('.$viewstatut.')';
-	}
-	if ($month > 0)
-	{
-		if ($year > 0)
-		$sql.= " AND date_format(p.datep, '%Y-%m') = '".$year."-".$month."'";
-		else
-		$sql.= " AND date_format(p.datep, '%m') = '".$month."'";
-	}
-	if ($year > 0)
-	{
-		$sql.= " AND date_format(p.datep, '%Y') = '".$year."'";
-	}
-
-	$sql.= ' ORDER BY '.$sortfield.' '.$sortorder.', p.ref DESC';
-	$sql.= $db->plimit($limit + 1,$offset);
-	$result=$db->query($sql);
+			if ($conf->facture->enabled && $user->rights->facture->creer)
+			{
+				print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/facture.php?action=create&amp;origin='.$object->element.'&amp;originid='.$object->id.'&amp;socid='.$object->socid.'">'.$langs->trans("AddBill").'</a>';
+			}
 
-	if ($result)
-	{
-		$objectstatic=new Propal($db);
-		$userstatic=new User($db);
+			$arraypropal=$object->getInvoiceArrayList();
+			if (is_array($arraypropal) && count($arraypropal) > 0)
+			{
+				print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=classifybilled&amp;socid='.$object->socid.'">'.$langs->trans("ClassifyBilled").'</a>';
+			}
+		}
 
-		$num = $db->num_rows($result);
+		// Close
+		if ($object->statut == 1 && $user->rights->propale->cloturer)
+		{
+			print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=statut'.(empty($conf->global->MAIN_JUMP_TAG)?'':'#close').'"';
+			print '>'.$langs->trans('Close').'</a>';
+		}
 
-	 	if ($socid)
+		// Clone
+		if ($object->type == 0 && $user->rights->propale->creer)
 		{
-			$soc = new Societe($db);
-			 $soc->fetch($socid);
+			print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&amp;socid='.$object->socid.'&amp;action=clone&amp;object=propal">'.$langs->trans("ToClone").'</a>';
 		}
 
-		$param='&amp;socid='.$socid.'&amp;viewstatut='.$viewstatut;
-		if ($month) $param.='&amp;month='.$month;
-		if ($year) $param.='&amp;year='.$year;
-		print_barre_liste($langs->trans('ListOfProposals').' '.($socid?'- '.$soc->nom:''), $page,'propal.php',$param,$sortfield,$sortorder,'',$num);
-
-		$i = 0;
-		print '<table class="liste" width="100%">';
-		print '<tr class="liste_titre">';
-		print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'p.ref_client','',$param,'',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('Date'),$_SERVER["PHP_SELF"],'p.datep','',$param, 'align="center"',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('DateEndPropalShort'),$_SERVER["PHP_SELF"],'dfv','',$param, 'align="center"',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('Author'),$_SERVER["PHP_SELF"],'u.login','',$param,'align="right"',$sortfield,$sortorder);
-		print_liste_field_titre($langs->trans('Status'),$_SERVER["PHP_SELF"],'p.fk_statut','',$param,'align="right"',$sortfield,$sortorder);
-		print_liste_field_titre('');
-		print "</tr>\n";
-		// Lignes des champs de filtre
-		print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">';
-
-		print '<tr class="liste_titre">';
-		print '<td class="liste_titre">';
-		print '<input class="flat" size="10" type="text" name="search_ref" value="'.$search_ref.'">';
-		print '</td>';
-		print '<td class="liste_titre" align="left">';
-		print '<input class="flat" type="text" size="16" name="search_societe" value="'.$search_societe.'">';
-		print '</td>';
-		print '<td class="liste_titre">';
-		print '<input class="flat" size="10" type="text" name="search_refcustomer" value="'.$search_refcustomer.'">';
-		print '</td>';
-		print '<td class="liste_titre" colspan="1" align="center">';
-		print $langs->trans('Month').': <input class="flat" type="text" size="1" maxlength="2" name="month" value="'.$month.'">';
-		print '&nbsp;'.$langs->trans('Year').': ';
-		$syear = $year;
-		$formother->select_year($syear,'year',1, 20, 5);
-		print '</td>';
-		print '<td class="liste_titre" colspan="1">&nbsp;</td>';
-		print '<td class="liste_titre" align="right">';
-		print '<input class="flat" type="text" size="10" name="search_montant_ht" value="'.$search_montant_ht.'">';
-		print '</td>';
-		print '<td class="liste_titre">&nbsp;</td>';
-		print '<td class="liste_titre" align="right">';
-		$formpropal->select_propal_statut($viewstatut,1);
-		print '</td>';
-		print '<td class="liste_titre" align="right"><input class="liste_titre" type="image" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
-		print '</td>';
-		print "</tr>\n";
-		print '</form>';
+		// Delete
+		if ($user->rights->propale->supprimer)
+		{
+			print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete"';
+			print '>'.$langs->trans('Delete').'</a>';
+		}
 
-		$var=true;
+	}
 
-		while ($i < min($num,$limit))
-		{
-			$objp = $db->fetch_object($result);
-			$now = time();
-			$var=!$var;
-			print '<tr '.$bc[$var].'>';
-			print '<td nowrap="nowrap">';
+	print '</div>';
+	print "<br>\n";
+}
 
-			$objectstatic->id=$objp->propalid;
-			$objectstatic->ref=$objp->ref;
+if ($action != 'presend')
+{
+	print '<table width="100%"><tr><td width="50%" valign="top">';
+	print '<a name="builddoc"></a>'; // ancre
 
-			print '<table class="nobordernopadding"><tr class="nocellnopadd">';
-			print '<td class="nobordernopadding" nowrap="nowrap">';
-			print $objectstatic->getNomUrl(1);
-			print '</td>';
 
-			print '<td width="20" class="nobordernopadding" nowrap="nowrap">';
-			if ($objp->fk_statut == 1 && $objp->dfv < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
-			print '</td>';
+	/*
+	 * Documents generes
+	 */
+	$filename=dol_sanitizeFileName($object->ref);
+	$filedir=$conf->propal->dir_output . "/" . dol_sanitizeFileName($object->ref);
+	$urlsource=$_SERVER["PHP_SELF"]."?id=".$object->id;
+	$genallowed=$user->rights->propale->creer;
+	$delallowed=$user->rights->propale->supprimer;
 
-			print '<td width="16" align="right" class="nobordernopadding">';
-			$filename=dol_sanitizeFileName($objp->ref);
-			$filedir=$conf->propal->dir_output . '/' . dol_sanitizeFileName($objp->ref);
-			$urlsource=$_SERVER['PHP_SELF'].'?id='.$objp->propalid;
-			$formfile->show_documents('propal',$filename,$filedir,$urlsource,'','','',1,'',1);
-			print '</td></tr></table>';
+	$var=true;
 
-			if ($objp->client == 1)
-			{
-				$url = DOL_URL_ROOT.'/comm/fiche.php?socid='.$objp->rowid;
-			}
-			else
-			{
-				$url = DOL_URL_ROOT.'/comm/prospect/fiche.php?socid='.$objp->rowid;
-			}
+	$somethingshown=$formfile->show_documents('propal',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'',0,'',$soc->default_lang,$hookmanager);
 
-			// Company
-			$companystatic->id=$objp->rowid;
-			$companystatic->nom=$objp->nom;
-			$companystatic->client=$objp->client;
-			print '<td>';
-			print $companystatic->getNomUrl(1,'customer');
-			print '</td>';
 
-			// Customer ref
-			print '<td nowrap="nowrap">';
-			print $objp->ref_client;
-			print '</td>';
+	/*
+	 * Linked object block
+	 */
+	$somethingshown=$object->showLinkedObjectBlock();
 
-			// Date propale
-			print '<td align="center">';
-			$y = dol_print_date($db->jdate($objp->dp),'%Y');
-			$m = dol_print_date($db->jdate($objp->dp),'%m');
-			$mt= dol_print_date($db->jdate($objp->dp),'%b');
-			$d = dol_print_date($db->jdate($objp->dp),'%d');
-			print $d."\n";
-			print ' <a href="'.$_SERVER["PHP_SELF"].'?year='.$y.'&amp;month='.$m.'">';
-			print $mt."</a>\n";
-			print ' <a href="'.$_SERVER["PHP_SELF"].'?year='.$y.'">';
-			print $y."</a></td>\n";
-
-			// Date fin validite
-			if ($objp->dfv)
-			{
-				print '<td align="center">'.dol_print_date($db->jdate($objp->dfv),'day');
-				print '</td>';
-			}
-			else
-			{
-				print '<td>&nbsp;</td>';
-			}
+	print '</td><td valign="top" width="50%">';
 
-			print '<td align="right">'.price($objp->total_ht)."</td>\n";
+	// List of actions on element
+	include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php');
+	$formactions=new FormActions($db);
+	$somethingshown=$formactions->showactions($object,'propal',$socid);
 
-			$userstatic->id=$objp->fk_user_author;
-			$userstatic->login=$objp->login;
-			print '<td align="center">';
-			if ($userstatic->id) print $userstatic->getLoginUrl(1);
-			else print '&nbsp;';
-			print "</td>\n";
+	print '</td></tr></table>';
+}
 
-			print '<td align="right">'.$objectstatic->LibStatut($objp->fk_statut,5)."</td>\n";
 
-			print '<td>&nbsp;</td>';
+/*
+ * Action presend
+ *
+ */
+if ($action == 'presend')
+{
+	$ref = dol_sanitizeFileName($object->ref);
+    include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php');
+    $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref);
+    $file=$fileparams['fullname'];
 
-			print "</tr>\n";
+    // Build document if it not exists
+    if (! $file || ! is_readable($file))
+    {
+        // Define output language
+        $outputlangs = $langs;
+        $newlang='';
+        if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
+        if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
+        if (! empty($newlang))
+        {
+            $outputlangs = new Translate("",$conf);
+            $outputlangs->setDefaultLang($newlang);
+        }
 
-			$total = $total + $objp->total_ht;
-			$subtotal = $subtotal + $objp->total_ht;
+        $result=propale_pdf_create($db, $object, GETPOST('model')?GETPOST('model'):$object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
+        if ($result <= 0)
+        {
+            dol_print_error($db,$result);
+            exit;
+        }
+        $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref);
+        $file=$fileparams['fullname'];
+    }
 
-			$i++;
-		}
-		print '</table>';
-		$db->free($result);
-	}
-	else
-	{
-		dol_print_error($db);
-	}
+	print '<br>';
+	print_titre($langs->trans('SendPropalByMail'));
+
+	// Create form object
+	include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php');
+	$formmail = new FormMail($db);
+	$formmail->fromtype = 'user';
+	$formmail->fromid   = $user->id;
+	$formmail->fromname = $user->getFullName($langs);
+	$formmail->frommail = $user->email;
+	$formmail->withfrom=1;
+	$formmail->withto=empty($_POST["sendto"])?1:$_POST["sendto"];
+	$formmail->withtosocid=$soc->id;
+	$formmail->withtocc=1;
+	$formmail->withtoccsocid=0;
+	$formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC;
+	$formmail->withtocccsocid=0;
+	$formmail->withtopic=$langs->trans('SendPropalRef','__PROPREF__');
+	$formmail->withfile=2;
+	$formmail->withbody=1;
+	$formmail->withdeliveryreceipt=1;
+	$formmail->withcancel=1;
+
+	// Tableau des substitutions
+	$formmail->substit['__PROPREF__']=$object->ref;
+    $formmail->substit['__SIGNATURE__']=$user->signature;
+    $formmail->substit['__PERSONALIZED__']='';
+	// Tableau des parametres complementaires
+	$formmail->param['action']='send';
+	$formmail->param['models']='propal_send';
+	$formmail->param['id']=$object->id;
+	$formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id;
+
+	// Init list of files
+    if (GETPOST("mode")=='init')
+	{
+		$formmail->clear_attached_files();
+        $formmail->add_attached_files($file,basename($file),dol_mimetype($file));
+	}
+
+	$formmail->show_form();
+
+	print '<br>';
 }
 
 
diff --git a/htdocs/comm/propal/contact.php b/htdocs/comm/propal/contact.php
index d129c1b40ae22081120ff5c9c528147584770de4..c632f2f34057b5dbd9aeed1fff83f12f983d96c9 100644
--- a/htdocs/comm/propal/contact.php
+++ b/htdocs/comm/propal/contact.php
@@ -152,7 +152,7 @@ if ($id > 0 || ! empty($ref))
 		 */
 		print '<table class="border" width="100%">';
 
-		$linkback='<a href="'.DOL_URL_ROOT.'/comm/propal.php?page='.$page.'&socid='.$socid.'&viewstatut='.$viewstatut.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.$langs->trans("BackToList").'</a>';
+		$linkback='<a href="'.DOL_URL_ROOT.'/comm/propal/list.php?page='.$page.'&socid='.$socid.'&viewstatut='.$viewstatut.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.$langs->trans("BackToList").'</a>';
 
 		// Ref
 		print '<tr><td width="25%">'.$langs->trans('Ref').'</td><td colspan="3">';
diff --git a/htdocs/comm/propal/document.php b/htdocs/comm/propal/document.php
index 45c4732f836ec527ba475327e4565e6e9834038e..4a2ea5d326de82cd2c1ff65354b0048ed06606ee 100644
--- a/htdocs/comm/propal/document.php
+++ b/htdocs/comm/propal/document.php
@@ -145,7 +145,7 @@ if ($id > 0 || ! empty($ref))
 
         print '<table class="border"width="100%">';
 
-		$linkback='<a href="'.DOL_URL_ROOT.'/comm/propal.php'."?page=$page&socid=$socid&viewstatut=$viewstatut&sortfield=$sortfield&$sortorder".'">'.$langs->trans("BackToList").'</a>';
+		$linkback='<a href="'.DOL_URL_ROOT.'/comm/propal/list.php'."?page=$page&socid=$socid&viewstatut=$viewstatut&sortfield=$sortfield&$sortorder".'">'.$langs->trans("BackToList").'</a>';
 
 		// Ref
 		print '<tr><td width="25%">'.$langs->trans('Ref').'</td><td colspan="3">';
diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php
new file mode 100644
index 0000000000000000000000000000000000000000..c6de90c89f3a560c8fd6d082564a772165ab5008
--- /dev/null
+++ b/htdocs/comm/propal/list.php
@@ -0,0 +1,400 @@
+<?php
+/* Copyright (C) 2001-2007 Rodolphe Quiedeville  <rodolphe@quiedeville.org>
+ * Copyright (C) 2004-2011 Laurent Destailleur   <eldy@users.sourceforge.net>
+ * Copyright (C) 2004      Eric Seigne           <eric.seigne@ryxeo.com>
+ * Copyright (C) 2005      Marc Barilley / Ocebo <marc@ocebo.com>
+ * Copyright (C) 2005-2012 Regis Houssin         <regis@dolibarr.fr>
+ * Copyright (C) 2006      Andre Cianfarani      <acianfa@free.fr>
+ * Copyright (C) 2010-2011 Juanjo Menent         <jmenent@2byte.es>
+ * Copyright (C) 2010-2011 Philippe Grand        <philippe.grand@atoo-net.com>
+ * Copyright (C) 2012      Christophe Battarel   <christophe.battarel@altairis.fr>
+*
+ * 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, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ *	\file       	htdocs/comm/propal.php
+ *	\ingroup    	propale
+ *	\brief      	Page of commercial proposals card and list
+ */
+
+require("../../main.inc.php");
+require_once(DOL_DOCUMENT_ROOT."/core/class/html.formother.class.php");
+require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
+require_once(DOL_DOCUMENT_ROOT."/core/class/html.formpropal.class.php");
+require_once(DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php');
+require_once(DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php');
+require_once(DOL_DOCUMENT_ROOT."/core/modules/propale/modules_propale.php");
+require_once(DOL_DOCUMENT_ROOT."/core/lib/propal.lib.php");
+require_once(DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php");
+if ($conf->projet->enabled)   require_once(DOL_DOCUMENT_ROOT.'/projet/class/project.class.php');
+
+$langs->load('companies');
+$langs->load('propal');
+$langs->load('compta');
+$langs->load('bills');
+$langs->load('orders');
+$langs->load('products');
+
+$id=GETPOST('id','int');
+$ref=GETPOST('ref','alpha');
+$socid=GETPOST('socid','int');
+$action=GETPOST('action','alpha');
+$confirm=GETPOST('confirm','alpha');
+$lineid=GETPOST('lineid','int');
+
+$search_user=GETPOST('search_user','int');
+$search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha');
+$search_refcustomer=GETPOST('search_refcustomer','alpha');
+$search_societe=GETPOST('search_societe','alpha');
+$search_montant_ht=GETPOST('search_montant_ht','alpha');
+
+$sall=GETPOST("sall");
+$mesg=(GETPOST("msg") ? GETPOST("msg") : GETPOST("mesg"));
+$year=GETPOST("year");
+$month=GETPOST("month");
+
+// Nombre de ligne pour choix de produit/service predefinis
+$NBLINES=4;
+
+// Security check
+$module='propale';
+if (isset($socid))
+{
+	$objectid=$socid;
+	$module='societe';
+	$dbtable='&societe';
+}
+else if (isset($id) &&  $id > 0)
+{
+	$objectid=$id;
+	$module='propale';
+	$dbtable='propal';
+}
+if ($user->societe_id) $socid=$user->societe_id;
+$result = restrictedArea($user, $module, $objectid, $dbtable);
+
+$object = new Propal($db);
+
+// Load object
+if ($id > 0 || ! empty($ref))
+{
+	$ret=$object->fetch($id, $ref);
+}
+
+// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
+include_once(DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php');
+$hookmanager=new HookManager($db);
+$hookmanager->initHooks(array('propalcard'));
+
+
+
+/*
+ * Actions
+ */
+
+// Do we click on purge search criteria ?
+if (GETPOST("button_removefilter_x"))
+{
+    $search_categ='';
+    $search_user='';
+    $search_ref='';
+    $search_refcustomer='';
+    $search_societe='';
+    $search_montant_ht='';
+    $year='';
+    $month='';
+}
+
+
+/*
+ * View
+ */
+
+llxHeader('',$langs->trans('Proposal'),'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos');
+
+$form = new Form($db);
+$formother = new FormOther($db);
+$formfile = new FormFile($db);
+$formpropal = new FormPropal($db);
+$companystatic=new Societe($db);
+
+$now=dol_now();
+
+$sortfield = GETPOST("sortfield",'alpha');
+$sortorder = GETPOST("sortorder",'alpha');
+$page = GETPOST("page",'int');
+if ($page == -1) { $page = 0; }
+$offset = $conf->liste_limit * $page;
+$pageprev = $page - 1;
+$pagenext = $page + 1;
+
+$viewstatut=$db->escape(GETPOST('viewstatut'));
+$object_statut = $db->escape(GETPOST('propal_statut'));
+if($object_statut != '')
+$viewstatut=$object_statut;
+
+if (! $sortfield) $sortfield='p.datep';
+if (! $sortorder) $sortorder='DESC';
+$limit = $conf->liste_limit;
+
+$sql = 'SELECT s.nom, s.rowid, s.client, ';
+$sql.= 'p.rowid as propalid, p.total_ht, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,';
+if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,";
+$sql.= ' u.login';
+$sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'propal as p';
+if ($sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'propaldet as pd ON p.rowid=pd.fk_propal';
+$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON p.fk_user_author = u.rowid';
+if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc";
+if ($search_user > 0)
+{
+    $sql.=", ".MAIN_DB_PREFIX."element_contact as c";
+    $sql.=", ".MAIN_DB_PREFIX."c_type_contact as tc";
+}
+$sql.= ' WHERE p.fk_soc = s.rowid';
+$sql.= ' AND p.entity = '.$conf->entity;
+
+if (! $user->rights->societe->client->voir && ! $socid) //restriction
+{
+	$sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id;
+}
+if ($search_ref)
+{
+	$sql.= " AND p.ref LIKE '%".$db->escape(trim($search_ref))."%'";
+}
+if ($search_refcustomer)
+{
+	$sql.= " AND p.ref_client LIKE '%".$db->escape(trim($search_refcustomer))."%'";
+}
+if ($search_societe)
+{
+	$sql.= " AND s.nom LIKE '%".$db->escape(trim($search_societe))."%'";
+}
+if ($search_montant_ht)
+{
+	$sql.= " AND p.total_ht='".$db->escape(trim($search_montant_ht))."'";
+}
+if ($sall) $sql.= " AND (s.nom LIKE '%".$db->escape($sall)."%' OR p.note LIKE '%".$db->escape($sall)."%' OR pd.description LIKE '%".$db->escape($sall)."%')";
+if ($socid) $sql.= ' AND s.rowid = '.$socid;
+if ($viewstatut <> '')
+{
+	$sql.= ' AND p.fk_statut IN ('.$viewstatut.')';
+}
+if ($month > 0)
+{
+	if ($year > 0)
+	$sql.= " AND date_format(p.datep, '%Y-%m') = '".$year."-".$month."'";
+	else
+	$sql.= " AND date_format(p.datep, '%m') = '".$month."'";
+}
+else if ($year > 0)
+{
+	$sql.= " AND date_format(p.datep, '%Y') = '".$year."'";
+}
+if ($search_user > 0)
+{
+    $sql.= " AND c.fk_c_type_contact = tc.rowid AND tc.element='propal' AND tc.source='internal' AND c.element_id = p.rowid AND c.fk_socpeople = ".$search_user;
+}
+
+
+$sql.= ' ORDER BY '.$sortfield.' '.$sortorder.', p.ref DESC';
+$sql.= $db->plimit($limit + 1,$offset);
+$result=$db->query($sql);
+
+if ($result)
+{
+	$objectstatic=new Propal($db);
+	$userstatic=new User($db);
+
+	$num = $db->num_rows($result);
+
+ 	if ($socid)
+	{
+		$soc = new Societe($db);
+		 $soc->fetch($socid);
+	}
+
+	$param='&amp;socid='.$socid.'&amp;viewstatut='.$viewstatut;
+	if ($month) $param.='&amp;month='.$month;
+	if ($year) $param.='&amp;year='.$year;
+	print_barre_liste($langs->trans('ListOfProposals').' '.($socid?'- '.$soc->nom:''), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num);
+
+	// Lignes des champs de filtre
+	print '<form method="GET" action="'.$_SERVER["PHP_SELF"].'">';
+
+	$i = 0;
+	print '<table class="liste" width="100%">';
+	// If the user can view prospects other than his'
+	if ($user->rights->societe->client->voir || $socid)
+	{
+	    $moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': ';
+	    $moreforfilter.=$form->select_dolusers($search_user,'search_user',1);
+	}
+	if ($moreforfilter)
+	{
+	    print '<tr class="liste_titre">';
+	    print '<td class="liste_titre" colspan="9">';
+	    print $moreforfilter;
+	    print '</td></tr>';
+	}
+
+	print '<tr class="liste_titre">';
+	print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'p.ref_client','',$param,'',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('Date'),$_SERVER["PHP_SELF"],'p.datep','',$param, 'align="center"',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('DateEndPropalShort'),$_SERVER["PHP_SELF"],'dfv','',$param, 'align="center"',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('Author'),$_SERVER["PHP_SELF"],'u.login','',$param,'align="right"',$sortfield,$sortorder);
+	print_liste_field_titre($langs->trans('Status'),$_SERVER["PHP_SELF"],'p.fk_statut','',$param,'align="right"',$sortfield,$sortorder);
+	print_liste_field_titre('');
+	print "</tr>\n";
+
+	print '<tr class="liste_titre">';
+	print '<td class="liste_titre">';
+	print '<input class="flat" size="10" type="text" name="search_ref" value="'.$search_ref.'">';
+	print '</td>';
+	print '<td class="liste_titre" align="left">';
+	print '<input class="flat" type="text" size="16" name="search_societe" value="'.$search_societe.'">';
+	print '</td>';
+	print '<td class="liste_titre">';
+	print '<input class="flat" size="10" type="text" name="search_refcustomer" value="'.$search_refcustomer.'">';
+	print '</td>';
+	print '<td class="liste_titre" colspan="1" align="center">';
+	print $langs->trans('Month').': <input class="flat" type="text" size="1" maxlength="2" name="month" value="'.$month.'">';
+	print '&nbsp;'.$langs->trans('Year').': ';
+	$syear = $year;
+	$formother->select_year($syear,'year',1, 20, 5);
+	print '</td>';
+	print '<td class="liste_titre" colspan="1">&nbsp;</td>';
+	print '<td class="liste_titre" align="right">';
+	print '<input class="flat" type="text" size="10" name="search_montant_ht" value="'.$search_montant_ht.'">';
+	print '</td>';
+	print '<td class="liste_titre">&nbsp;</td>';
+	print '<td class="liste_titre" align="right">';
+	$formpropal->select_propal_statut($viewstatut,1);
+	print '</td>';
+	print '<td class="liste_titre" align="right"><input class="liste_titre" type="image" src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/search.png" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
+	print '</td>';
+	print "</tr>\n";
+
+	$var=true;
+
+	while ($i < min($num,$limit))
+	{
+		$objp = $db->fetch_object($result);
+		$now = time();
+		$var=!$var;
+		print '<tr '.$bc[$var].'>';
+		print '<td nowrap="nowrap">';
+
+		$objectstatic->id=$objp->propalid;
+		$objectstatic->ref=$objp->ref;
+
+		print '<table class="nobordernopadding"><tr class="nocellnopadd">';
+		print '<td class="nobordernopadding" nowrap="nowrap">';
+		print $objectstatic->getNomUrl(1);
+		print '</td>';
+
+		print '<td width="20" class="nobordernopadding" nowrap="nowrap">';
+		if ($objp->fk_statut == 1 && $objp->dfv < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late"));
+		print '</td>';
+
+		print '<td width="16" align="right" class="nobordernopadding">';
+		$filename=dol_sanitizeFileName($objp->ref);
+		$filedir=$conf->propal->dir_output . '/' . dol_sanitizeFileName($objp->ref);
+		$urlsource=$_SERVER['PHP_SELF'].'?id='.$objp->propalid;
+		$formfile->show_documents('propal',$filename,$filedir,$urlsource,'','','',1,'',1);
+		print '</td></tr></table>';
+
+		if ($objp->client == 1)
+		{
+			$url = DOL_URL_ROOT.'/comm/fiche.php?socid='.$objp->rowid;
+		}
+		else
+		{
+			$url = DOL_URL_ROOT.'/comm/prospect/fiche.php?socid='.$objp->rowid;
+		}
+
+		// Company
+		$companystatic->id=$objp->rowid;
+		$companystatic->nom=$objp->nom;
+		$companystatic->client=$objp->client;
+		print '<td>';
+		print $companystatic->getNomUrl(1,'customer');
+		print '</td>';
+
+		// Customer ref
+		print '<td nowrap="nowrap">';
+		print $objp->ref_client;
+		print '</td>';
+
+		// Date propale
+		print '<td align="center">';
+		$y = dol_print_date($db->jdate($objp->dp),'%Y');
+		$m = dol_print_date($db->jdate($objp->dp),'%m');
+		$mt= dol_print_date($db->jdate($objp->dp),'%b');
+		$d = dol_print_date($db->jdate($objp->dp),'%d');
+		print $d."\n";
+		print ' <a href="'.$_SERVER["PHP_SELF"].'?year='.$y.'&amp;month='.$m.'">';
+		print $mt."</a>\n";
+		print ' <a href="'.$_SERVER["PHP_SELF"].'?year='.$y.'">';
+		print $y."</a></td>\n";
+
+		// Date fin validite
+		if ($objp->dfv)
+		{
+			print '<td align="center">'.dol_print_date($db->jdate($objp->dfv),'day');
+			print '</td>';
+		}
+		else
+		{
+			print '<td>&nbsp;</td>';
+		}
+
+		print '<td align="right">'.price($objp->total_ht)."</td>\n";
+
+		$userstatic->id=$objp->fk_user_author;
+		$userstatic->login=$objp->login;
+		print '<td align="center">';
+		if ($userstatic->id) print $userstatic->getLoginUrl(1);
+		else print '&nbsp;';
+		print "</td>\n";
+
+		print '<td align="right">'.$objectstatic->LibStatut($objp->fk_statut,5)."</td>\n";
+
+		print '<td>&nbsp;</td>';
+
+		print "</tr>\n";
+
+		$total = $total + $objp->total_ht;
+		$subtotal = $subtotal + $objp->total_ht;
+
+		$i++;
+	}
+	print '</table>';
+
+	print '</form>';
+
+	$db->free($result);
+}
+else
+{
+	dol_print_error($db);
+}
+
+// End of page
+llxFooter();
+$db->close();
+?>
diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php
index fde8d2411d31767d5f2f89e34b392633caa42845..d7d88029062d0dc61e72a116c7868ee4ec937fc5 100644
--- a/htdocs/comm/propal/note.php
+++ b/htdocs/comm/propal/note.php
@@ -86,7 +86,7 @@ if ($id > 0 || ! empty($ref))
 
 			print '<table class="border" width="100%">';
 
-			$linkback="<a href=\"".DOL_URL_ROOT.'/comm/propal.php'."?page=$page&socid=$socid&viewstatut=$viewstatut&sortfield=$sortfield&$sortorder\">".$langs->trans("BackToList")."</a>";
+			$linkback="<a href=\"".DOL_URL_ROOT.'/comm/propal/list.php'."?page=$page&socid=$socid&viewstatut=$viewstatut&sortfield=$sortfield&$sortorder\">".$langs->trans("BackToList")."</a>";
 
 			// Ref
 			print '<tr><td width="25%">'.$langs->trans('Ref').'</td><td colspan="3">';
diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php
index 818d6d902f8e51fc252a406e9a76907ade6b9e17..e12636725af53f217e8ad8e0fdcd5eb2e1fb0e15 100644
--- a/htdocs/core/menus/standard/eldy.lib.php
+++ b/htdocs/core/menus/standard/eldy.lib.php
@@ -826,13 +826,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after)
                 $langs->load("propal");
                 $newmenu->add("/comm/propal/index.php?leftmenu=propals", $langs->trans("Prop"), 0, $user->rights->propale->lire, '', $mainmenu, 'propals');
                 $newmenu->add("/societe/societe.php?leftmenu=propals", $langs->trans("NewPropal"), 1, $user->rights->propale->creer);
-                $newmenu->add("/comm/propal.php?leftmenu=propals", $langs->trans("List"), 1, $user->rights->propale->lire);
-                if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=0", $langs->trans("PropalsDraft"), 2, $user->rights->propale->lire);
-                if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=1", $langs->trans("PropalsOpened"), 2, $user->rights->propale->lire);
-                if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=2", $langs->trans("PropalStatusSigned"), 2, $user->rights->propale->lire);
-                if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=3", $langs->trans("PropalStatusNotSigned"), 2, $user->rights->propale->lire);
-                if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=4", $langs->trans("PropalStatusBilled"), 2, $user->rights->propale->lire);
-                //if ($leftmenu=="propals") $newmenu->add("/comm/propal.php?leftmenu=propals&viewstatut=2,3,4", $langs->trans("PropalStatusClosedShort"), 2, $user->rights->propale->lire);
+                $newmenu->add("/comm/propal/list.php?leftmenu=propals", $langs->trans("List"), 1, $user->rights->propale->lire);
+                if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=0", $langs->trans("PropalsDraft"), 2, $user->rights->propale->lire);
+                if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=1", $langs->trans("PropalsOpened"), 2, $user->rights->propale->lire);
+                if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=2", $langs->trans("PropalStatusSigned"), 2, $user->rights->propale->lire);
+                if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=3", $langs->trans("PropalStatusNotSigned"), 2, $user->rights->propale->lire);
+                if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=4", $langs->trans("PropalStatusBilled"), 2, $user->rights->propale->lire);
+                //if ($leftmenu=="propals") $newmenu->add("/comm/propal/list.php?leftmenu=propals&viewstatut=2,3,4", $langs->trans("PropalStatusClosedShort"), 2, $user->rights->propale->lire);
                 $newmenu->add("/comm/propal/stats/index.php?leftmenu=propals", $langs->trans("Statistics"), 1, $user->rights->propale->lire);
             }
 
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index ee557fb9eb753379e0a8200c421212f726a6cc12..7af3740e054c208db9222f9db38b4ffce5d4d5fe 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -618,6 +618,7 @@ ByYear=By year
 ByMonth=by month
 ByDay=By day
 BySalesRepresentative=By sales representative
+LinkedToSpecificUsers=Linked to a particular user contact
 
 # Week day
 Monday=Monday
diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang
index 81484ba7c2ea119a936f086f6e951427ce0f037d..9c58ef9271bcab491119767b9cfbf87f1517058a 100644
--- a/htdocs/langs/fr_FR/main.lang
+++ b/htdocs/langs/fr_FR/main.lang
@@ -620,6 +620,7 @@ ByYear=Par année
 ByMonth=Par mois
 ByDay=Par jour
 BySalesRepresentative=Par commerciaux
+LinkedToSpecificUsers=Liés à un contact utilisateur particulier
 
 # Week day
 Monday=Lundi