瀏覽代碼

NEW Search filters in lists are restored when using "back to list"

Laurent Destailleur 7 年之前
父節點
當前提交
a501a20487
共有 77 個文件被更改,包括 502 次插入410 次删除
  1. 8 8
      htdocs/adherents/agenda.php
  2. 1 1
      htdocs/adherents/card.php
  3. 21 11
      htdocs/adherents/class/adherent.class.php
  4. 7 7
      htdocs/adherents/document.php
  5. 1 1
      htdocs/adherents/ldap.php
  6. 4 4
      htdocs/adherents/note.php
  7. 1 1
      htdocs/adherents/subscription.php
  8. 1 1
      htdocs/adherents/type.php
  9. 1 1
      htdocs/adherents/type_ldap.php
  10. 2 2
      htdocs/compta/bank/annuel.php
  11. 4 4
      htdocs/compta/bank/bankentries_list.php
  12. 2 2
      htdocs/compta/bank/budget.php
  13. 2 2
      htdocs/compta/bank/card.php
  14. 35 26
      htdocs/compta/bank/class/account.class.php
  15. 1 1
      htdocs/compta/bank/document.php
  16. 2 2
      htdocs/compta/bank/graph.php
  17. 1 1
      htdocs/compta/bank/info.php
  18. 20 20
      htdocs/compta/bank/ligne.php
  19. 2 2
      htdocs/compta/bank/list.php
  20. 2 2
      htdocs/compta/bank/releve.php
  21. 7 7
      htdocs/compta/bank/treso.php
  22. 1 1
      htdocs/compta/paiement/cheque/list.php
  23. 1 1
      htdocs/contact/agenda.php
  24. 1 1
      htdocs/contact/card.php
  25. 45 32
      htdocs/contact/class/contact.class.php
  26. 7 7
      htdocs/contact/document.php
  27. 3 3
      htdocs/contact/info.php
  28. 2 0
      htdocs/contact/ldap.php
  29. 7 7
      htdocs/contact/note.php
  30. 17 17
      htdocs/contact/perso.php
  31. 6 6
      htdocs/core/lib/bank.lib.php
  32. 4 4
      htdocs/core/menus/init_menu_auguria.sql
  33. 2 2
      htdocs/core/menus/standard/auguria.lib.php
  34. 4 4
      htdocs/core/menus/standard/auguria_menu.php
  35. 7 7
      htdocs/core/menus/standard/eldy.lib.php
  36. 2 2
      htdocs/core/menus/standard/eldy_menu.php
  37. 1 1
      htdocs/core/menus/standard/empty.php
  38. 1 1
      htdocs/expedition/card.php
  39. 16 7
      htdocs/expedition/class/expedition.class.php
  40. 14 14
      htdocs/expedition/contact.php
  41. 13 9
      htdocs/expedition/list.php
  42. 7 7
      htdocs/expedition/note.php
  43. 38 38
      htdocs/expedition/shipment.php
  44. 2 2
      htdocs/expensereport/card.php
  45. 17 8
      htdocs/expensereport/class/expensereport.class.php
  46. 9 9
      htdocs/expensereport/document.php
  47. 7 7
      htdocs/expensereport/info.php
  48. 6 6
      htdocs/expensereport/note.php
  49. 1 1
      htdocs/fourn/facture/paiement.php
  50. 1 1
      htdocs/holiday/card.php
  51. 18 8
      htdocs/holiday/class/holiday.class.php
  52. 1 1
      htdocs/holiday/document.php
  53. 1 1
      htdocs/holiday/list.php
  54. 26 26
      htdocs/livraison/card.php
  55. 31 21
      htdocs/livraison/class/livraison.class.php
  56. 1 1
      htdocs/margin/tabs/productMargins.php
  57. 1 1
      htdocs/margin/tabs/thirdpartyMargins.php
  58. 3 4
      htdocs/modulebuilder/template/class/myobject.class.php
  59. 1 1
      htdocs/product/card.php
  60. 15 7
      htdocs/product/class/product.class.php
  61. 1 1
      htdocs/product/composition/card.php
  62. 1 1
      htdocs/product/document.php
  63. 1 1
      htdocs/product/fournisseurs.php
  64. 1 1
      htdocs/product/info.php
  65. 1 1
      htdocs/product/note.php
  66. 1 1
      htdocs/product/price.php
  67. 1 1
      htdocs/product/stats/card.php
  68. 1 1
      htdocs/product/stats/commande.php
  69. 1 1
      htdocs/product/stats/commande_fournisseur.php
  70. 1 1
      htdocs/product/stats/contrat.php
  71. 1 1
      htdocs/product/stats/facture.php
  72. 1 1
      htdocs/product/stats/facture_fournisseur.php
  73. 1 1
      htdocs/product/stats/propal.php
  74. 1 1
      htdocs/product/stats/supplier_proposal.php
  75. 1 1
      htdocs/product/stock/product.php
  76. 1 1
      htdocs/product/traduction.php
  77. 21 12
      htdocs/user/class/user.class.php

+ 8 - 8
htdocs/adherents/agenda.php

@@ -87,21 +87,21 @@ if ($object->id > 0)
 
 	dol_fiche_head($head, 'agenda', $langs->trans("Member"), -1, 'user');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
 	dol_banner_tab($object, 'rowid', $linkback);
-    
+
 	print '<div class="fichecenter">';
-	
+
 	print '<div class="underbanner clearboth"></div>';
-	
+
 	$object->info($id);
 	print dol_print_object_info($object, 1);
-	
-	print '</div>';	
+
+	print '</div>';
 
 	dol_fiche_end();
-	
+
 
     /*
      * Barre d'action

+ 1 - 1
htdocs/adherents/card.php

@@ -1431,7 +1431,7 @@ else
 		if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++;
 		if (! empty($conf->societe->enabled)) $rowspan++;
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 		dol_banner_tab($object, 'rowid', $linkback);
 

+ 21 - 11
htdocs/adherents/class/adherent.class.php

@@ -1558,16 +1558,17 @@ class Adherent extends CommonObject
     }
 
     /**
-     *    	Return clicable name (with picto eventually)
+     *  Return clicable name (with picto eventually)
      *
-     *		@param	int		$withpictoimg	0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small)
-     *		@param	int		$maxlen			length max label
-     *		@param	string	$option			Page for link
-     *      @param  string  $mode           ''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login, 'ref'=Show ref
-     *      @param  string  $morecss        Add more css on link
-     *		@return	string					Chaine avec URL
+     *	@param	int		$withpictoimg				0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small)
+     *	@param	int		$maxlen						length max label
+     *	@param	string	$option						Page for link
+     *  @param  string  $mode           			''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login, 'ref'=Show ref
+     *  @param  string  $morecss        			Add more css on link
+     *  @param  int     $save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+     *	@return	string								Chaine avec URL
      */
-    function getNomUrl($withpictoimg=0,$maxlen=0,$option='card',$mode='',$morecss='')
+    function getNomUrl($withpictoimg=0, $maxlen=0, $option='card', $mode='', $morecss='', $save_lastsearch_value=-1)
     {
         global $conf, $langs;
 
@@ -1591,15 +1592,24 @@ class Adherent extends CommonObject
             $label.= '<br><b>' . $langs->trans('Name') . ':</b> ' . $this->getFullName($langs);
         $label.='</div>';
 
-        if ($option == 'card' || $option == 'category')
+        if (empty($option) || $option == 'card' || $option == 'category')
         {
-            $link = '<a href="'.DOL_URL_ROOT.'/adherents/card.php?rowid='.$this->id.'"';
+            $url = DOL_URL_ROOT.'/adherents/card.php?rowid='.$this->id;
         }
         if ($option == 'subscription')
         {
-            $link = '<a href="'.DOL_URL_ROOT.'/adherents/subscription.php?rowid='.$this->id.'"';
+            $url = DOL_URL_ROOT.'/adherents/subscription.php?rowid='.$this->id;
         }
 
+        if ($option != 'nolink')
+        {
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        }
+
+        $link = '<a href="'.$url.'"';
         $linkclose="";
         if (empty($notooltip))
         {

+ 7 - 7
htdocs/adherents/document.php

@@ -94,7 +94,7 @@ if ($id > 0)
     $result=$membert->fetch($object->typeid);
 	if ($result > 0)
 	{
-			
+
 		// Construit liste des fichiers
 		$filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview.*\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
 		$totalsize=0;
@@ -102,7 +102,7 @@ if ($id > 0)
 		{
 			$totalsize+=$file['size'];
 		}
-	    
+
 	    if (! empty($conf->notification->enabled))
 			$langs->load("mails");
 
@@ -110,12 +110,12 @@ if ($id > 0)
 
 		dol_fiche_head($head, 'document', $langs->trans("Member"), -1, 'user');
 
-    	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
-    	
+    	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
     	dol_banner_tab($object, 'rowid', $linkback);
-        
+
         print '<div class="fichecenter">';
-        
+
         print '<div class="underbanner clearboth"></div>';
 		print '<table class="border centpercent">';
 
@@ -153,7 +153,7 @@ if ($id > 0)
 		print '</table>';
 
 		print '</div>';
-		
+
 		dol_fiche_end();
 
 		$modulepart = 'member';

+ 1 - 1
htdocs/adherents/ldap.php

@@ -96,7 +96,7 @@ $head = member_prepare_head($object);
 
 dol_fiche_head($head, 'ldap', $langs->trans("Member"), 0, 'user');
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 dol_banner_tab($object, 'rowid', $linkback);
 

+ 4 - 4
htdocs/adherents/note.php

@@ -74,12 +74,12 @@ if ($id)
 	print "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">";
 	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
 	dol_banner_tab($object, 'rowid', $linkback);
-    
+
     print '<div class="fichecenter">';
-    
+
     print '<div class="underbanner clearboth"></div>';
 	print '<table class="border centpercent">';
 

+ 1 - 1
htdocs/adherents/subscription.php

@@ -601,7 +601,7 @@ if ($rowid > 0)
 
     dol_fiche_head($head, 'subscription', $langs->trans("Member"), -1, 'user');
 
-    $linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php">'.$langs->trans("BackToList").'</a>';
+    $linkback = '<a href="'.DOL_URL_ROOT.'/adherents/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
     dol_banner_tab($object, 'rowid', $linkback);
 

+ 1 - 1
htdocs/adherents/type.php

@@ -365,7 +365,7 @@ if ($rowid > 0)
 
 		dol_fiche_head($head, 'card', $langs->trans("MemberType"), -1, 'group');
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/type.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/type.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 		dol_banner_tab($object, 'rowid', $linkback);
 

+ 1 - 1
htdocs/adherents/type_ldap.php

@@ -93,7 +93,7 @@ $head = member_type_prepare_head($object);
 
 dol_fiche_head($head, 'ldap', $langs->trans("MemberType"), -1, 'group');
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/type.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/adherents/type.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 dol_banner_tab($object, 'rowid', $linkback);
 

+ 2 - 2
htdocs/compta/bank/annuel.php

@@ -149,7 +149,7 @@ dol_fiche_head($head, 'annual', $langs->trans("FinancialAccount"), -1, 'account'
 $title=$langs->trans("FinancialAccount")." : ".$object->label;
 $link=($year_start?"<a href='".$_SERVER["PHP_SELF"]."?account=".$object->id."&year_start=".($year_start-1)."'>".img_previous('', 'class="valignbottom"')."</a> ".$langs->trans("Year")." <a href='".$_SERVER["PHP_SELF"]."?account=".$object->id."&year_start=".($year_start+1)."'>".img_next('', 'class="valignbottom"')."</a>":"");
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 
 if (!empty($id))
@@ -203,7 +203,7 @@ print '</tr>';
 $var=true;
 for ($mois = 1 ; $mois < 13 ; $mois++)
 {
-	
+
 	print '<tr class="oddeven">';
 	print "<td>".dol_print_date(dol_mktime(1,1,1,$mois,1,2000),"%B")."</td>";
 	for ($annee = $year_start ; $annee <= $year_end ; $annee++)

+ 4 - 4
htdocs/compta/bank/bankentries.php → htdocs/compta/bank/bankentries_list.php

@@ -23,7 +23,7 @@
  */
 
 /**
- *	\file       htdocs/compta/bank/bankentries.php
+ *	\file       htdocs/compta/bank/bankentries_list.php
  *	\ingroup    banque
  *	\brief      List of bank transactions
  */
@@ -405,7 +405,7 @@ if ($id > 0 || ! empty($ref))
     $head=bank_prepare_head($object);
     dol_fiche_head($head,'journal',$langs->trans("FinancialAccount"),0,'account');
 
-    $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+    $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
     dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1);
 
@@ -447,7 +447,7 @@ if ($id > 0 || ! empty($ref))
         if ($object->canBeConciliated() > 0) {
             // If not cash account and can be reconciliate
             if ($user->rights->banque->consolidate) {
-                print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?action=reconcile&search_conciliated=0'.$param.'">'.$langs->trans("Conciliate").'</a>';
+                print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?action=reconcile&search_conciliated=0'.$param.'">'.$langs->trans("Conciliate").'</a>';
             } else {
                 print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
             }
@@ -559,7 +559,7 @@ if (! empty($thirdparty)) $mode_balance_ok=false;
 
 $sql.= $db->plimit($limit+1,$offset);
 
-dol_syslog('compta/bank/bankentries.php', LOG_DEBUG);
+dol_syslog('compta/bank/bankentries_list.php', LOG_DEBUG);
 $resql = $db->query($sql);
 if ($resql)
 {

+ 2 - 2
htdocs/compta/bank/budget.php

@@ -74,9 +74,9 @@ if ($result)
 	while ($i < $num)
 	{
 		$objp = $db->fetch_object($result);
-		
+
 		print '<tr class="oddeven">';
-		print "<td><a href=\"".DOL_URL_ROOT."/compta/bank/bankentries.php?bid=$objp->rowid\">$objp->label</a></td>";
+		print "<td><a href=\"".DOL_URL_ROOT."/compta/bank/bankentries_list.php?bid=$objp->rowid\">$objp->label</a></td>";
 		print '<td align="right">'.$objp->nombre.'</td>';
 		print '<td align="right">'.price(abs($objp->somme))."</td>";
 		print '<td align="right">'.price(abs(price2num($objp->somme / $objp->nombre,'MT')))."</td>";

+ 2 - 2
htdocs/compta/bank/card.php

@@ -262,7 +262,7 @@ if ($action == 'confirm_delete' && $_POST["confirm"] == "yes" && $user->rights->
     if ($result > 0)
     {
         setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs');
-        header("Location: ".DOL_URL_ROOT."/compta/bank/index.php");
+        header("Location: ".DOL_URL_ROOT."/compta/bank/list.php");
         exit;
     }
     else
@@ -576,7 +576,7 @@ else
 		// Print form confirm
 		print $formconfirm;
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 		$morehtmlref='';
 		dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);

+ 35 - 26
htdocs/compta/bank/class/account.class.php

@@ -1151,7 +1151,7 @@ class Account extends CommonObject
             return $solde;
         }
     }
-    
+
     /**
      *      Load indicators for dashboard (this->nbtodo and this->nbtodolate)
      *
@@ -1162,9 +1162,9 @@ class Account extends CommonObject
     function load_board(User $user, $filteraccountid = 0)
     {
     	global $conf, $langs;
-    	
+
     	if ($user->societe_id) return -1;   // protection pour eviter appel par utilisateur externe
-    	
+
     	$sql = "SELECT b.rowid, b.datev as datefin";
     	$sql.= " FROM ".MAIN_DB_PREFIX."bank as b,";
     	$sql.= " ".MAIN_DB_PREFIX."bank_account as ba";
@@ -1174,21 +1174,21 @@ class Account extends CommonObject
     	$sql.= " AND (ba.rappro = 1 AND ba.courant != 2)";	// Compte rapprochable
     	$sql.= " AND clos = 0";
     	if ($filteraccountid) $sql.=" AND ba.rowid = ".$filteraccountid;
-    	
+
     	$resql=$this->db->query($sql);
     	if ($resql)
     	{
     		$langs->load("banks");
     		$now=dol_now();
-    		
+
     		require_once DOL_DOCUMENT_ROOT.'/core/class/workboardresponse.class.php';
-    		
+
     		$response = new WorkboardResponse();
     		$response->warning_delay=$conf->bank->rappro->warning_delay/60/60/24;
     		$response->label=$langs->trans("TransactionsToConciliate");
-    		$response->url=DOL_URL_ROOT.'/compta/bank/index.php?leftmenu=bank&amp;mainmenu=bank';
+    		$response->url=DOL_URL_ROOT.'/compta/bank/list.php?leftmenu=bank&amp;mainmenu=bank';
     		$response->img=img_object('',"payment");
-    		
+
     		while ($obj=$this->db->fetch_object($resql))
     		{
     			$response->nbtodo++;
@@ -1196,7 +1196,7 @@ class Account extends CommonObject
     				$response->nbtodolate++;
     			}
     		}
-    		
+
     		return $response;
     	}
     	else
@@ -1206,7 +1206,7 @@ class Account extends CommonObject
     		return -1;
     	}
     }
-    
+
     /**
      *      Charge indicateurs this->nb de tableau de bord
      *		@param		int			$filteraccountid	To get info for a particular account id
@@ -1215,9 +1215,9 @@ class Account extends CommonObject
     function load_state_board($filteraccountid = 0)
     {
     	global $user;
-    	
+
     	if ($user->societe_id) return -1;   // protection pour eviter appel par utilisateur externe
-    	
+
     	$sql = "SELECT count(b.rowid) as nb";
     	$sql.= " FROM ".MAIN_DB_PREFIX."bank as b,";
     	$sql.= " ".MAIN_DB_PREFIX."bank_account as ba";
@@ -1226,10 +1226,10 @@ class Account extends CommonObject
     	$sql.= " AND (ba.rappro = 1 AND ba.courant != 2)";	// Compte rapprochable
     	$sql.= " AND clos = 0";
     	if ($filteraccountid) $sql.=" AND ba.rowid = ".$filteraccountid;
-    	
+
     	$resql=$this->db->query($sql);
     	if ($resql)
-    	{    		
+    	{
     		while ($obj=$this->db->fetch_object($resql))
     		{
     			$this->nb["banklines"]=$obj->nb;
@@ -1279,14 +1279,15 @@ class Account extends CommonObject
     }
 
     /**
-     *    	Return clicable name (with picto eventually)
+     *  Return clicable name (with picto eventually)
      *
-     *		@param	int		$withpicto		Include picto into link
-     *      @param  string	$mode           ''=Link to card, 'transactions'=Link to transactions card
-     *      @param  string  $option         ''=Show ref, 'reflabel'=Show ref+label
-     *		@return	string					Chaine avec URL
+     *	@param	int		$withpicto					Include picto into link
+     *  @param  string	$mode           			''=Link to card, 'transactions'=Link to transactions card
+     *  @param  string  $option         			''=Show ref, 'reflabel'=Show ref+label
+     *  @param  int     $save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+     *	@return	string								Chaine avec URL
      */
-    function getNomUrl($withpicto=0, $mode='', $option='')
+    function getNomUrl($withpicto=0, $mode='', $option='', $save_lastsearch_value=-1)
     {
         global $conf, $langs;
 
@@ -1306,20 +1307,28 @@ class Account extends CommonObject
 
         if (empty($mode))
         {
-            $link = '<a href="'.DOL_URL_ROOT.'/compta/bank/card.php?id='.$this->id.$linkclose;
-            $linkend='</a>';
+            $url = DOL_URL_ROOT.'/compta/bank/card.php?id='.$this->id;
         }
         else if ($mode == 'transactions')
         {
-            $link = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?id='.$this->id.$linkclose;
-            $linkend='</a>';
+            $url = DOL_URL_ROOT.'/compta/bank/bankentries_list.php?id='.$this->id;
         }
         else if ($mode == 'receipts')
         {
-            $link = '<a href="'.DOL_URL_ROOT.'/compta/bank/releve.php?account='.$this->id.$linkclose;
-            $linkend='</a>';
+            $url = DOL_URL_ROOT.'/compta/bank/releve.php?account='.$this->id;
         }
 
+        if ($option != 'nolink')
+        {
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        }
+
+        $link = '<a href="'.$url.$linkclose;
+        $linkend='</a>';
+
         if ($withpicto) $result.=($link.img_object($label, 'account', 'class="classfortooltip"').$linkend.' ');
         $result.=$link.$this->ref.($option == 'reflabel' && $this->label ? ' - '.$this->label : '').$linkend;
         return $result;

+ 1 - 1
htdocs/compta/bank/document.php

@@ -117,7 +117,7 @@ if ($id > 0 || !empty($ref)) {
             $totalsize+=$file['size'];
         }
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
 

+ 2 - 2
htdocs/compta/bank/graph.php

@@ -108,7 +108,7 @@ else
 		dol_print_error($db);
 	}
 	if (empty($min)) $min = dol_now - 3600 * 24;
-	
+
 	$log="graph.php: min=".$min." max=".$max;
 	dol_syslog($log);
 
@@ -760,7 +760,7 @@ $head=bank_prepare_head($object);
 dol_fiche_head($head,'graph',$langs->trans("FinancialAccount"),0,'account');
 
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 if ($account)
 {

+ 1 - 1
htdocs/compta/bank/info.php

@@ -58,7 +58,7 @@ $h++;
 
 dol_fiche_head($head, $hselected, $langs->trans("LineRecord"), -1, 'account');
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 
 dol_banner_tab($object, 'rowid', $linkback);

+ 20 - 20
htdocs/compta/bank/ligne.php

@@ -152,7 +152,7 @@ if ($user->rights->banque->modifier && $action == "update")
 		{
 		    $error++;
 		}
-		
+
 		if (! $error)
 		{
             $arrayofcategs=GETPOST('custcats', 'array');
@@ -175,8 +175,8 @@ if ($user->rights->banque->modifier && $action == "update")
         		}
         		// $arrayselected will be loaded after in page output
     		}
-		}		
-		
+		}
+
 		if (! $error)
 		{
 			setEventMessages($langs->trans("RecordSaved"), null, 'mesgs');
@@ -296,14 +296,14 @@ if ($result)
         print '<input type="hidden" name="id" value="'.$acct->id.'">';
 
         dol_fiche_head($tabs, 0, $langs->trans('LineRecord'), 0, 'account');
-        
-        $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php">'.$langs->trans("BackToList").'</a>';
 
-        
+        $linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
+
         dol_banner_tab($bankline, 'rowid', $linkback);
-        
 
-        print '<div class="underbanner clearboth"></div>';       
+
+        print '<div class="underbanner clearboth"></div>';
         print '<table class="border" width="100%">';
 
         // Ref
@@ -314,7 +314,7 @@ if ($result)
         print '</td>';
         print '</tr>';
         */
-        
+
         $i++;
 
         // Bank account
@@ -582,7 +582,7 @@ if ($result)
         if (! empty($conf->categorie->enabled)  && ! empty($user->rights->categorie->lire))
         {
             $langs->load('categories');
-        
+
             // Bank line
             print '<tr><td class="toptd">' . fieldLabel('RubriquesTransactions', 'custcats') . '</td><td>';
             $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE, null, 'parent', null, null, 1);
@@ -591,28 +591,28 @@ if ($result)
         }
 
         print "</table>";
-        
+
         dol_fiche_end();
-        
-        
+
+
         print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Update").'"></div><br>';
-        
+
         print "</form>";
 
-        
-        
+
+
         // Releve rappro
         if ($acct->canBeConciliated() > 0)  // Si compte rapprochable
         {
             print load_fiche_titre($langs->trans("Reconciliation"), '', 'title_bank.png');
             print '<hr>'."\n";
-            
+
             print '<form method="POST" action="'.$_SERVER['PHP_SELF'].'?rowid='.$objp->rowid.'">';
             print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
             print '<input type="hidden" name="action" value="setreconcile">';
             print '<input type="hidden" name="orig_account" value="'.$orig_account.'">';
             print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
-            
+
             print '<table class="border" width="100%">';
 
             print '<tr><td class="titlefield">'.$langs->trans("Conciliation")."</td>";
@@ -652,13 +652,13 @@ if ($result)
             print '</table>';
 
             print '<div class="center">';
-            
+
             print '<input type="submit" class="button" value="'.$langs->trans("Update").'">';
             if ($backtopage)
             {
                 print ' &nbsp; ';
                 print '<input type="submit" name="cancel" class="button" value="'.$langs->trans("Cancel").'">';
-            }            
+            }
             print '</div>';
 
 			print '</form>';

+ 2 - 2
htdocs/compta/bank/index.php → htdocs/compta/bank/list.php

@@ -19,7 +19,7 @@
  */
 
 /**
- *       \file       htdocs/compta/bank/index.php
+ *       \file       htdocs/compta/bank/list.php
  *       \ingroup    banque
  *       \brief      Home page of bank module
  */
@@ -611,7 +611,7 @@ foreach ($accounts as $key=>$type)
     if (! empty($arrayfields['balance']['checked']))
     {
 		print '<td align="right">';
-		print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?id='.$obj->id.'">'.price($solde, 0, $langs, 0, 0, -1, $obj->currency_code).'</a>';
+		print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?id='.$obj->id.'">'.price($solde, 0, $langs, 0, 0, -1, $obj->currency_code).'</a>';
 		print '</td>';
 		if (! $i) $totalarray['nbfield']++;
 		if (! $i) $totalarray['totalbalancefield']=$totalarray['nbfield'];

+ 2 - 2
htdocs/compta/bank/releve.php

@@ -328,7 +328,7 @@ if (empty($numref))
 		$head=bank_prepare_head($object);
 		dol_fiche_head($head,'statement',$langs->trans("FinancialAccount"),0,'account');
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 		dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1);
 
@@ -340,7 +340,7 @@ if (empty($numref))
 		if ($object->canBeConciliated() > 0) {
 			// If not cash account and can be reconciliate
 			if ($user->rights->banque->consolidate) {
-				print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?action=reconcile&search_conciliated=0'.$param.'">'.$langs->trans("Conciliate").'</a>';
+				print '<a class="butAction" href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?action=reconcile&search_conciliated=0'.$param.'">'.$langs->trans("Conciliate").'</a>';
 			} else {
 				print '<a class="butActionRefused" title="'.$langs->trans("NotEnoughPermissions").'" href="#">'.$langs->trans("Conciliate").'</a>';
 			}

+ 7 - 7
htdocs/compta/bank/treso.php

@@ -93,14 +93,14 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
 	$head=bank_prepare_head($object);
 	dol_fiche_head($head, 'cash', $langs->trans("FinancialAccount"), -1, 'account');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/index.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/compta/bank/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 	dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', '', 1);
 
 	dol_fiche_end();
-	
+
     print '<br>';
-    
+
 	$solde = $object->solde(0);
 
 	// Show next coming entries
@@ -120,13 +120,13 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
 	$var=true;
 
 	// Current balance
-	
+
 	print '<tr class="liste_total">';
 	print '<td align="left" colspan="5">'.$langs->trans("CurrentBalance").'</td>';
 	print '<td align="right" class="nowrap">'.price($solde).'</td>';
 	print '</tr>';
 
-	
+
 	print '<tr class="liste_titre">';
 	print '<td align="left" colspan="5">'.$langs->trans("RemainderToPay").'</td>';
 	print '<td align="right" class="nowrap">&nbsp;</td>';
@@ -295,7 +295,7 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
 			// We discard lines with a remainder to pay to 0
 			if (price2num($total_ttc) != 0)
 			{
-                
+
 
     			// Show line
     			print '<tr class="oddeven">';
@@ -320,7 +320,7 @@ if ($_REQUEST["account"] || $_REQUEST["ref"])
 	}
 
 	// Solde actuel
-	
+
 	print '<tr class="liste_total">';
 	print '<td align="left" colspan="5">'.$langs->trans("FutureBalance").' ('.$object->currency_code.')</td>';
 	print '<td align="right" class="nowrap">'.price($solde, 0, $langs, 0, 0, -1, $object->currency_code).'</td>';

+ 1 - 1
htdocs/compta/paiement/cheque/list.php

@@ -203,7 +203,7 @@ if ($resql)
 
     		// Bank
     		print '<td>';
-    		if ($objp->bid) print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?account='.$objp->bid.'">'.img_object($langs->trans("ShowAccount"),'account').' '.$objp->label.'</a>';
+    		if ($objp->bid) print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?account='.$objp->bid.'">'.img_object($langs->trans("ShowAccount"),'account').' '.$objp->label.'</a>';
     		else print '&nbsp;';
     		print '</td>';
 

+ 1 - 1
htdocs/contact/agenda.php

@@ -210,7 +210,7 @@ else
 
         dol_fiche_head($head, 'agenda', $title, -1, 'contact');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $morehtmlref='<div class="refidno">';
         if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))

+ 1 - 1
htdocs/contact/card.php

@@ -1064,7 +1064,7 @@ else
 
         }
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $morehtmlref='<div class="refidno">';
         if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))

+ 45 - 32
htdocs/contact/class/contact.class.php

@@ -987,38 +987,52 @@ class Contact extends CommonObject
 	 *  Return name of contact with link (and eventually picto)
 	 *	Use $this->id, $this->lastname, $this->firstname, this->civility_id
 	 *
-	 *	@param		int			$withpicto		Include picto with link
-	 *	@param		string		$option			Where the link point to
-	 *	@param		int			$maxlen			Max length of
-	 *  @param		string		$moreparam		Add more param into URL
-	 *	@return		string						String with URL
+	 *	@param		int			$withpicto					Include picto with link
+	 *	@param		string		$option						Where the link point to
+	 *	@param		int			$maxlen						Max length of
+	 *  @param		string		$moreparam					Add more param into URL
+     *  @param      int     	$save_lastsearch_value		-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+	 *	@return		string									String with URL
 	 */
-	function getNomUrl($withpicto=0,$option='',$maxlen=0,$moreparam='')
+	function getNomUrl($withpicto=0, $option='', $maxlen=0, $moreparam='', $save_lastsearch_value=-1)
 	{
 		global $conf, $langs, $hookmanager;
 
 		$result='';
-	        $label = '<u>' . $langs->trans("ShowContact") . '</u>';
-	        $label.= '<br><b>' . $langs->trans("Name") . ':</b> '.$this->getFullName($langs);
-	        //if ($this->civility_id) $label.= '<br><b>' . $langs->trans("Civility") . ':</b> '.$this->civility_id;		// TODO Translate cibilty_id code
-	        if (! empty($this->poste)) $label.= '<br><b>' . $langs->trans("Poste") . ':</b> '.$this->poste;
-	        $label.= '<br><b>' . $langs->trans("EMail") . ':</b> '.$this->email;
-	        $phonelist=array();
-	        if ($this->phone_pro) $phonelist[]=$this->phone_pro;
-	        if ($this->phone_mobile) $phonelist[]=$this->phone_mobile;
-	        if ($this->phone_perso) $phonelist[]=$this->phone_perso;
-	        $label.= '<br><b>' . $langs->trans("Phone") . ':</b> '.join(', ',$phonelist);
-	        $label.= '<br><b>' . $langs->trans("Address") . ':</b> '.dol_format_address($this, 1, ' ', $langs);
-
-	        $link = '<a href="'.DOL_URL_ROOT.'/contact/card.php?id='.$this->id.$moreparam.'"';
-	        $linkclose="";
-	    	if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
-	        {
-	            $label=$langs->trans("ShowContact");
-	            $linkclose.=' alt="'.dol_escape_htmltag($label, 1).'"';
-	        }
-	       	$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
-	       	$linkclose.= ' class="classfortooltip">';
+
+        $label = '<u>' . $langs->trans("ShowContact") . '</u>';
+        $label.= '<br><b>' . $langs->trans("Name") . ':</b> '.$this->getFullName($langs);
+        //if ($this->civility_id) $label.= '<br><b>' . $langs->trans("Civility") . ':</b> '.$this->civility_id;		// TODO Translate cibilty_id code
+        if (! empty($this->poste)) $label.= '<br><b>' . $langs->trans("Poste") . ':</b> '.$this->poste;
+        $label.= '<br><b>' . $langs->trans("EMail") . ':</b> '.$this->email;
+        $phonelist=array();
+        if ($this->phone_pro) $phonelist[]=$this->phone_pro;
+        if ($this->phone_mobile) $phonelist[]=$this->phone_mobile;
+        if ($this->phone_perso) $phonelist[]=$this->phone_perso;
+        $label.= '<br><b>' . $langs->trans("Phone") . ':</b> '.join(', ',$phonelist);
+        $label.= '<br><b>' . $langs->trans("Address") . ':</b> '.dol_format_address($this, 1, ' ', $langs);
+
+        $url = DOL_URL_ROOT.'/contact/card.php?id='.$this->id;
+
+        if ($option !== 'nolink')
+        {
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        }
+
+        $url .= $moreparam;
+
+        $linkstart = '<a href="'.$url.'"';
+        $linkclose="";
+    	if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER))
+        {
+            $label=$langs->trans("ShowContact");
+            $linkclose.=' alt="'.dol_escape_htmltag($label, 1).'"';
+        }
+       	$linkclose.= ' title="'.dol_escape_htmltag($label, 1).'"';
+       	$linkclose.= ' class="classfortooltip">';
 
 		if (! is_object($hookmanager))
 		{
@@ -1030,18 +1044,17 @@ class Contact extends CommonObject
 		$reshook=$hookmanager->executeHooks('getnomurltooltip',$parameters,$this,$action);    // Note that $action and $object may have been modified by some hooks
 		if ($reshook > 0) $linkclose = $hookmanager->resPrint;
 
-		$link.=$linkclose;
-
+		$linkstart.=$linkclose;
 		$linkend='</a>';
 
 		if ($option == 'xxx')
 		{
-			$link = '<a href="'.DOL_URL_ROOT.'/contact/card.php?id='.$this->id.$moreparam.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
+			$linkstart = '<a href="'.DOL_URL_ROOT.'/contact/card.php?id='.$this->id.$moreparam.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
 			$linkend='</a>';
 		}
 
-	        if ($withpicto) $result.=($link.img_object($label, 'contact', 'class="classfortooltip"').$linkend.' ');
-			$result.=$link.($maxlen?dol_trunc($this->getFullName($langs),$maxlen):$this->getFullName($langs)).$linkend;
+	        if ($withpicto) $result.=($linkstart.img_object($label, 'contact', 'class="classfortooltip"').$linkend.' ');
+			$result.=$linkstart.($maxlen?dol_trunc($this->getFullName($langs),$maxlen):$this->getFullName($langs)).$linkend;
 		return $result;
 	}
 

+ 7 - 7
htdocs/contact/document.php

@@ -107,8 +107,8 @@ if ($object->id)
         $totalsize+=$file['size'];
     }
 
-    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
-    
+    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
     $morehtmlref='<div class="refidno">';
     if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
     {
@@ -120,11 +120,11 @@ if ($object->id)
         else $morehtmlref.=$langs->trans("ContactNotLinkedToCompany");
     }
     $morehtmlref.='</div>';
-    
+
     dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref);
-        
+
     print '<div class="fichecenter">';
-    
+
     print '<div class="underbanner clearboth"></div>';
     print '<table class="border centpercent">';
 
@@ -147,7 +147,7 @@ if ($object->id)
     		print '</td></tr>';
     	}
     }*/
-    
+
     // Civility
     print '<tr><td class="titlefield">'.$langs->trans("UserTitle").'</td><td colspan="3">';
     print $object->getCivilityLabel();
@@ -160,7 +160,7 @@ if ($object->id)
     print '</div>';
 
     dol_fiche_end();
-    
+
     $modulepart = 'contact';
     $permission = $user->rights->societe->contact->creer;
     $permtoedit = $user->rights->societe->contact->creer;

+ 3 - 3
htdocs/contact/info.php

@@ -61,7 +61,7 @@ if ($id > 0)
 
 	dol_fiche_head($head, 'info', $title, -1, 'contact');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 	dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', '');
 
@@ -71,11 +71,11 @@ if ($id > 0)
 	print '<div class="underbanner clearboth"></div>';
 
 	print '<br>';
-	
+
 	dol_print_object_info($object);
 
 	print '</div>';
-	
+
 	dol_fiche_end();
 }
 

+ 2 - 0
htdocs/contact/ldap.php

@@ -90,6 +90,8 @@ $head = contact_prepare_head($object);
 
 dol_fiche_head($head, 'ldap', $title, -1, 'contact');
 
+$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
 dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', '');
 
 print '<div class="fichecenter">';

+ 7 - 7
htdocs/contact/note.php

@@ -74,8 +74,8 @@ if ($id > 0)
     $head = contact_prepare_head($object);
 
     dol_fiche_head($head, 'note', $title, -1, 'contact');
-    
-    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
+
+    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
     $morehtmlref='<div class="refidno">';
     if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
@@ -88,13 +88,13 @@ if ($id > 0)
         else $morehtmlref.=$langs->trans("ContactNotLinkedToCompany");
     }
     $morehtmlref.='</div>';
-    
+
     dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref);
-    
+
     $cssclass='titlefield';
     //if ($action == 'editnote_public') $cssclass='titlefieldcreate';
     //if ($action == 'editnote_private') $cssclass='titlefieldcreate';
-    
+
     print '<div class="fichecenter">';
     print '<div class="underbanner clearboth"></div>';
 
@@ -107,12 +107,12 @@ if ($id > 0)
 
     print "</table>";
 
-    
+
 	$cssclass="titlefield";
 	include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
 
 	print '</div>';
-	
+
     dol_fiche_end();
 }
 

+ 17 - 17
htdocs/contact/perso.php

@@ -60,7 +60,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->societe->contact
 		$object->old_firstname='';
 		// Logo/Photo save
 		$dir= $conf->societe->dir_output.'/contact/' . get_exdir($object->id,0,0,1,$object,'contact').'/photos';
-		
+
 		$file_OK = is_uploaded_file($_FILES['photo']['tmp_name']);
 		if ($file_OK)
 		{
@@ -88,7 +88,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->societe->contact
 					else
 					{
 					    // Create thumbs
-					    $object->addThumbs($newfile);					    
+					    $object->addThumbs($newfile);
 					}
 				}
 			}
@@ -147,26 +147,26 @@ if ($action == 'edit')
     print '<input type="hidden" name="id" value="'.$object->id.'">';
 
     dol_fiche_head($head, 'perso', $title, 0, 'contact');
-    
+
     print '<table class="border" width="100%">';
 
     // Ref
     print '<tr><td class="titlefieldcreate">'.$langs->trans("Ref").'</td><td colspan="3">';
     print $object->id;
     print '</td>';
-    
+
     // Photo
     print '<td align="center" class="hideonsmartphone" valign="middle" rowspan="6">';
     print $form->showphoto('contact',$object)."\n";
     if ($object->photo) print "<br>\n";
-    
+
     print '<table class="nobordernopadding">';
-    
+
     if ($object->photo) print '<tr><td align="center"><input type="checkbox" class="flat photodelete" name="deletephoto" id="photodelete"> '.$langs->trans("Delete").'<br><br></td></tr>';
     print '<tr><td>'.$langs->trans("PhotoFile").'</td></tr>';
     print '<tr><td><input type="file" class="flat" name="photo" id="photoinput"></td></tr>';
     print '</table>';
-    
+
     print '</td></tr>';
 
     // Name
@@ -216,7 +216,7 @@ if ($action == 'edit')
     print "</table>";
 
     dol_fiche_end();
-    
+
     print '<div class="center">';
     print '<input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
     print '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
@@ -228,11 +228,11 @@ if ($action == 'edit')
 else
 {
     // View mode
-    
+
     dol_fiche_head($head, 'perso', $title, -1, 'contact');
-    
-    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
-    
+
+    $linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
+
     $morehtmlref='<div class="refidno">';
     if (empty($conf->global->SOCIETE_DISABLE_CONTACTS))
     {
@@ -244,13 +244,13 @@ else
         else $morehtmlref.=$langs->trans("ContactNotLinkedToCompany");
     }
     $morehtmlref.='</div>';
-    
-    
+
+
     dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref);
-    
-    
+
+
     print '<div class="fichecenter">';
-    
+
     print '<div class="underbanner clearboth"></div>';
     print '<table class="border centpercent">';
 

+ 6 - 6
htdocs/core/lib/bank.lib.php

@@ -42,7 +42,7 @@ function bank_prepare_head(Account $object)
     $head[$h][2] = 'bankname';
     $h++;
 
-    $head[$h][0] = DOL_URL_ROOT . "/compta/bank/bankentries.php?id=" . $object->id;
+    $head[$h][0] = DOL_URL_ROOT . "/compta/bank/bankentries_list.php?id=" . $object->id;
     $head[$h][1] = $langs->trans("BankTransactions");
     $head[$h][2] = 'journal';
     $h++;
@@ -95,7 +95,7 @@ function bank_prepare_head(Account $object)
     $head[$h][1] = $langs->trans("Info");
     $head[$h][2] = 'info';
     $h++;*/
-    
+
 	complete_head_from_modules($conf, $langs, $object, $head, $h, 'bank', 'remove');
 
     return $head;
@@ -146,9 +146,9 @@ function bank_admin_prepare_head($object)
  * @return  array				Array of tabs to shoc
  */
 function various_payment_prepare_head($object) {
-	
+
 	global $db, $langs, $conf;
-	
+
 	$h = 0;
 	$head = array();
 
@@ -178,7 +178,7 @@ function various_payment_prepare_head($object) {
 	$head[$h][1] = $langs->trans("Info");
 	$head[$h][2] = 'info';
 	$h++;
-    
+
 	complete_head_from_modules($conf,$langs,$object,$head,$h,'various_payment', 'remove');
 
 	return $head;
@@ -247,7 +247,7 @@ function checkBanForAccount($account)
         $rib = strtr($rib, "abcdefghijklmnopqrstuvwxyz", "12345678912345678923456789");
         // Separation du rib en 3 groupes de 7 + 1 groupe de 2.
         // Multiplication de chaque groupe par les coef du tableau
-    
+
         for ($i = 0, $s = 0; $i < 3; $i++) {
             $code = substr($rib, 7 * $i, 7);
             $s += (0 + (int) $code) * $coef[$i];

+ 4 - 4
htdocs/core/menus/init_menu_auguria.sql

@@ -14,7 +14,7 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('propal|commande|fournisseur|contrat|ficheinter', '$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled', 5__+MAX_llx_menu__, __HANDLER__, 'top', 'commercial',  '', 0, '/comm/index.php?mainmenu=commercial&amp;leftmenu=', 'Commercial', -1, 'commercial', '$user->rights->societe->lire || $user->rights->societe->contact->lire', '', 2, 40, __ENTITY__);
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('facture|don|tax|salaries|loan|banque', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled  || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled || $conf->banque->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'billing', '', 0, '/compta/index.php?mainmenu=billing&amp;leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read || $user->rights->banque->lire', '', 2, 50, __ENTITY__);
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('comptabilite|accounting', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled  || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled || $conf->banque->enabled', 9__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&amp;leftmenu=accountancy', 'Accountancy', -1, 'compta', '$user->rights->compta->resultat->lire || $user->rights->accounting->mouvements->lire', '', 2, 51, __ENTITY__);
-insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('banque|prelevement', '$conf->banque->enabled || $conf->prelevement->enabled', 14__+MAX_llx_menu__, __HANDLER__, 'top', 'bank', '', 0, '/compta/bank/index.php?mainmenu=bank&amp;leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 60, __ENTITY__);
+insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('banque|prelevement', '$conf->banque->enabled || $conf->prelevement->enabled', 14__+MAX_llx_menu__, __HANDLER__, 'top', 'bank', '', 0, '/compta/bank/list.php?mainmenu=bank&amp;leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 60, __ENTITY__);
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('projet', '$conf->projet->enabled', 7__+MAX_llx_menu__, __HANDLER__, 'top', 'project',     '', 0, '/projet/index.php?mainmenu=project&amp;leftmenu=', 'Projects', -1, 'projects', '$user->rights->projet->lire', '', 2, 70, __ENTITY__);
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools',       '', 0, '/core/tools.php?mainmenu=tools&amp;leftmenu=', 'Tools', -1, 'other', '', '', 2, 90, __ENTITY__);
 insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members',     '', 0, '/adherents/index.php?mainmenu=members&amp;leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__);
@@ -224,7 +224,7 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
 	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2457__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_chart_group',   2451__+MAX_llx_menu__, '/accountancy/admin/categories_list.php?id=32&mainmenu=accountancy&leftmenu=accountancy_admin', 'AccountingCategory', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 41, __ENTITY__);
 	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2458__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_default',       2451__+MAX_llx_menu__, '/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin', 'MenuDefaultAccounts', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 50, __ENTITY__);
 
-	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2459__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_vat',           2451__+MAX_llx_menu__, '/compta/bank/index.php?mainmenu=accountancy&leftmenu=accountancy_admin', 'MenuBankAccounts', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 51, __ENTITY__);
+	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2459__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_vat',           2451__+MAX_llx_menu__, '/compta/bank/list.php?mainmenu=accountancy&leftmenu=accountancy_admin', 'MenuBankAccounts', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 51, __ENTITY__);
 
 	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2460__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_vat',           2451__+MAX_llx_menu__, '/admin/dict.php?id=10&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin', 'MenuVatAccounts', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 52, __ENTITY__);
 	insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->accounting->enabled && $leftmenu=="accountancy_admin"', __HANDLER__, 'left', 2461__+MAX_llx_menu__, 'accountancy', 'accountancy_admin_tax',           2451__+MAX_llx_menu__, '/admin/dict.php?id=7&from=accountancy&search_country_id=__MYCOUNTRYID__&mainmenu=accountancy&leftmenu=accountancy_admin', 'MenuTaxAccounts', 2, 'accountancy', '$user->rights->accounting->chartofaccount', '', 0, 53, __ENTITY__);
@@ -283,10 +283,10 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left
 insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->prelevement->enabled && $leftmenu=="withdraw"', __HANDLER__, 'left', 2506__+MAX_llx_menu__, 'accountancy', '', 2500__+MAX_llx_menu__, '/compta/prelevement/rejets.php?leftmenu=withdraw', 'Rejects', 1, 'withdrawals', '$user->rights->prelevement->bons->lire', '', 2, 5, __ENTITY__);
 insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->prelevement->enabled && $leftmenu=="withdraw"', __HANDLER__, 'left', 2507__+MAX_llx_menu__, 'accountancy', '', 2500__+MAX_llx_menu__, '/compta/prelevement/stats.php?leftmenu=withdraw', 'Statistics', 1, 'withdrawals', '$user->rights->prelevement->bons->lire', '', 2, 6, __ENTITY__);
 -- Bank
-insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled', __HANDLER__, 'left', 2600__+MAX_llx_menu__, 'accountancy', 'bank', 14__+MAX_llx_menu__, '/compta/bank/index.php?leftmenu=bank&amp;mainmenu=bank', 'MenuBankCash', 0, 'banks', '$user->rights->banque->lire', '', 0, 1, __ENTITY__);
+insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled', __HANDLER__, 'left', 2600__+MAX_llx_menu__, 'accountancy', 'bank', 14__+MAX_llx_menu__, '/compta/bank/list.php?leftmenu=bank&amp;mainmenu=bank', 'MenuBankCash', 0, 'banks', '$user->rights->banque->lire', '', 0, 1, __ENTITY__);
 insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2601__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/card.php?action=create&amp;leftmenu=bank', 'MenuNewFinancialAccount', 1, 'banks', '$user->rights->banque->configurer', '', 0, 0, __ENTITY__);
 -- insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2602__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/categ.php?leftmenu=bank', 'Rubriques', 1, 'categories', '$user->rights->banque->configurer', '', 0, 1, __ENTITY__);
-insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2603__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/bankentries.php?leftmenu=bank', 'ListTransactions', 1, 'banks', '$user->rights->banque->lire', '', 0, 2, __ENTITY__);
+insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2603__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/bankentries_list.php?leftmenu=bank', 'ListTransactions', 1, 'banks', '$user->rights->banque->lire', '', 0, 2, __ENTITY__);
 insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2604__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/budget.php?leftmenu=bank', 'ListTransactionsByCategory', 1, 'banks', '$user->rights->banque->lire', '', 0, 3, __ENTITY__);
 insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->banque->enabled && ($leftmenu=="bank" || $leftmenu=="checks" || $leftmenu=="withdraw")', __HANDLER__, 'left', 2606__+MAX_llx_menu__, 'accountancy', '', 2600__+MAX_llx_menu__, '/compta/bank/transfer.php?leftmenu=bank', 'BankTransfers', 1, 'banks', '$user->rights->banque->transfer', '', 0, 5, __ENTITY__);
 -- Bank - Categories

+ 2 - 2
htdocs/core/menus/standard/auguria.lib.php

@@ -339,7 +339,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
 			$numr = $db->num_rows($resql);
 			$i = 0;
 
-			if ($numr > 0) 	$newmenu->add('/compta/bank/index.php',$langs->trans("BankAccounts"),0,$user->rights->banque->lire);
+			if ($numr > 0) 	$newmenu->add('/compta/bank/list.php',$langs->trans("BankAccounts"),0,$user->rights->banque->lire);
 
 			while ($i < $numr)
 			{
@@ -347,7 +347,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM
 				$newmenu->add('/compta/bank/card.php?id='.$objp->rowid,$objp->label,1,$user->rights->banque->lire);
 				if ($objp->rappro && $objp->courant != Account::TYPE_CASH && empty($objp->clos))  // If not cash account and not closed and can be reconciliate
 				{
-					$newmenu->add('/compta/bank/bankentries.php?id='.$objp->rowid,$langs->trans("Conciliate"),2,$user->rights->banque->consolidate);
+					$newmenu->add('/compta/bank/bankentries_list.php?id='.$objp->rowid,$langs->trans("Conciliate"),2,$user->rights->banque->consolidate);
 				}
 				$i++;
 			}

+ 4 - 4
htdocs/core/menus/standard/auguria_menu.php

@@ -163,13 +163,13 @@ class MenuManager
         			$canonurl=preg_replace('/\?.*$/','',$val['url']);
 
         			print '<a class="alilevel0" href="#">';
-        			
+
 					// Add font-awesome
 					if ($val['level'] == 0 && $val['mainmenu'] == 'home') print '<span class="fa fa-home fa-fw paddingright" aria-hidden="true"></span>';
-        			
+
 					print $val['titre'];
         			print '</a>'."\n";
-        			
+
         			// Search submenu fot this mainmenu entry
         			$tmpmainmenu=$val['mainmenu'];
         			$tmpleftmenu='all';
@@ -183,7 +183,7 @@ class MenuManager
         			//var_dump($canonnexturl);
         			print '<ul>'."\n";
         			if (($canonrelurl != $canonnexturl && ! in_array($val['mainmenu'],array('tools')))
-        				|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/index.php') !== false))
+        				|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/list.php') !== false))
 					{
 						// We add sub entry
 						print str_pad('',1).'<li class="lilevel1 ui-btn-icon-right ui-btn">';	 // ui-btn to highlight on clic

+ 7 - 7
htdocs/core/menus/standard/eldy.lib.php

@@ -201,7 +201,7 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode
 		else $classname = 'class="tmenu"';
 		$idsel='bank';
 
-		$menu->add('/compta/bank/index.php?mainmenu=bank&amp;leftmenu=', $langs->trans("MenuBankCash"), 0, $showmode, $atarget, "bank", '', 60, $id, $idsel, $classname);
+		$menu->add('/compta/bank/list.php?mainmenu=bank&amp;leftmenu=', $langs->trans("MenuBankCash"), 0, $showmode, $atarget, "bank", '', 60, $id, $idsel, $classname);
 	}
 
 	// Projects
@@ -977,7 +977,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
 				if ($usemenuhider || empty($leftmenu) || preg_match('/accountancy_admin/',$leftmenu)) $newmenu->add("/accountancy/admin/defaultaccounts.php?mainmenu=accountancy&leftmenu=accountancy_admin", $langs->trans("MenuDefaultAccounts"),2, $user->rights->accounting->chartofaccount, '', $mainmenu, 'accountancy_admin_default', 50);
 				if (! empty($conf->banque->enabled))
 				{
-					if ($usemenuhider || empty($leftmenu) || preg_match('/accountancy_admin/',$leftmenu)) $newmenu->add("/compta/bank/index.php?mainmenu=accountancy&leftmenu=accountancy_admin&search_status=-1", $langs->trans("MenuBankAccounts"),2, $user->rights->accounting->chartofaccount, '', $mainmenu, 'accountancy_admin_bank', 51);
+					if ($usemenuhider || empty($leftmenu) || preg_match('/accountancy_admin/',$leftmenu)) $newmenu->add("/compta/bank/list.php?mainmenu=accountancy&leftmenu=accountancy_admin&search_status=-1", $langs->trans("MenuBankAccounts"),2, $user->rights->accounting->chartofaccount, '', $mainmenu, 'accountancy_admin_bank', 51);
 				}
 				if (! empty($conf->facture->enabled) || ! empty($conf->fournisseur->enabled))
 				{
@@ -1146,11 +1146,11 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
 			// Bank-Caisse
 			if (! empty($conf->banque->enabled))
 			{
-				$newmenu->add("/compta/bank/index.php?leftmenu=bank&amp;mainmenu=bank",$langs->trans("MenuBankCash"),0,$user->rights->banque->lire, '', $mainmenu, 'bank');
+				$newmenu->add("/compta/bank/list.php?leftmenu=bank&amp;mainmenu=bank",$langs->trans("MenuBankCash"),0,$user->rights->banque->lire, '', $mainmenu, 'bank');
 
 				$newmenu->add("/compta/bank/card.php?action=create",$langs->trans("MenuNewFinancialAccount"),1,$user->rights->banque->configurer);
-				$newmenu->add("/compta/bank/index.php?leftmenu=bank&amp;mainmenu=bank",$langs->trans("List"),1,$user->rights->banque->lire, '', $mainmenu, 'bank');
-				$newmenu->add("/compta/bank/bankentries.php",$langs->trans("ListTransactions"),1,$user->rights->banque->lire);
+				$newmenu->add("/compta/bank/list.php?leftmenu=bank&amp;mainmenu=bank",$langs->trans("List"),1,$user->rights->banque->lire, '', $mainmenu, 'bank');
+				$newmenu->add("/compta/bank/bankentries_list.php",$langs->trans("ListTransactions"),1,$user->rights->banque->lire);
 				$newmenu->add("/compta/bank/budget.php",$langs->trans("ListTransactionsByCategory"),1,$user->rights->banque->lire);
 
 				$newmenu->add("/compta/bank/transfer.php",$langs->trans("MenuBankInternalTransfer"),1,$user->rights->banque->transfer);
@@ -1498,7 +1498,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
 				$numr = $db->num_rows($resql);
 				$i = 0;
 
-				if ($numr > 0) 	$newmenu->add('/compta/bank/index.php',$langs->trans("BankAccounts"),0,$user->rights->banque->lire);
+				if ($numr > 0) 	$newmenu->add('/compta/bank/list.php',$langs->trans("BankAccounts"),0,$user->rights->banque->lire);
 
 				while ($i < $numr)
 				{
@@ -1506,7 +1506,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu
 					$newmenu->add('/compta/bank/card.php?id='.$objp->rowid,$objp->label,1,$user->rights->banque->lire);
 					if ($objp->rappro && $objp->courant != Account::TYPE_CASH && empty($objp->clos))  // If not cash account and not closed and can be reconciliate
 					{
-						$newmenu->add('/compta/bank/bankentries.php?action=reconcile&contextpage=banktransactionlist-'.$objp->rowid.'&account='.$objp->rowid.'&id='.$objp->rowid.'&search_conciliated=0',$langs->trans("Conciliate"),2,$user->rights->banque->consolidate);
+						$newmenu->add('/compta/bank/bankentries_list.php?action=reconcile&contextpage=banktransactionlist-'.$objp->rowid.'&account='.$objp->rowid.'&id='.$objp->rowid.'&search_conciliated=0',$langs->trans("Conciliate"),2,$user->rights->banque->consolidate);
 					}
 					$i++;
 				}

+ 2 - 2
htdocs/core/menus/standard/eldy_menu.php

@@ -177,7 +177,7 @@ class MenuManager
 
 					print $val['titre'];
         			print '</a>'."\n";
-        			
+
         			// Search submenu fot this mainmenu entry
         			$tmpmainmenu=$val['mainmenu'];
         			$tmpleftmenu='all';
@@ -193,7 +193,7 @@ class MenuManager
         			//var_dump($canonnexturl);
         			print '<ul>'."\n";
         			if (($canonrelurl != $canonnexturl && ! in_array($val['mainmenu'],array('tools')))
-        				|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/index.php') !== false))
+        				|| (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/list.php') !== false))
 					{
         				// We add sub entry
         				print str_pad('',1).'<li class="lilevel1 ui-btn-icon-right ui-btn">';	 // ui-btn to highlight on clic

+ 1 - 1
htdocs/core/menus/standard/empty.php

@@ -199,7 +199,7 @@ class MenuManager
 		            //var_dump($canonnexturl);
 		            print '<ul>'."\n";
 		            if (($canonrelurl != $canonnexturl && ! in_array($val['mainmenu'],array('tools')))
-		                || (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/index.php') !== false))
+		                || (strpos($canonrelurl,'/product/index.php') !== false || strpos($canonrelurl,'/compta/bank/list.php') !== false))
 		            {
 		                // We add sub entry
 		                print str_pad('',1).'<li class="lilevel1 ui-btn-icon-right ui-btn">';	 // ui-btn to highlight on clic

+ 1 - 1
htdocs/expedition/card.php

@@ -1439,7 +1439,7 @@ else if ($id || $ref)
 		}
 
 		// Shipment card
-		$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php?restore_lastsearch_values=1' . (! empty($socid) ? '&socid=' . $socid : '') . '">'.$langs->trans("BackToList").'</a>';
 		$morehtmlref='<div class="refidno">';
 		// Ref customer shipment
 		$morehtmlref.=$form->editfieldkey("RefCustomer", 'ref_customer', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);

+ 16 - 7
htdocs/expedition/class/expedition.class.php

@@ -1486,14 +1486,15 @@ class Expedition extends CommonObject
 	/**
      *	Return clicable link of object (with eventually picto)
      *
-     *	@param      int			$withpicto      Add picto into link
-     *	@param      int			$option         Where point the link
-     *	@param      int			$max          	Max length to show
-     *	@param      int			$short			Use short labels
-     *  @param      int         $notooltip      1=No tooltip
-     *	@return     string          			String with URL
+     *	@param      int			$withpicto      			Add picto into link
+     *	@param      int			$option         			Where point the link
+     *	@param      int			$max          				Max length to show
+     *	@param      int			$short						Use short labels
+     *  @param      int         $notooltip      			1=No tooltip
+     *  @param      int     	$save_lastsearch_value		-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+     *	@return     string          						String with URL
      */
-	function getNomUrl($withpicto=0,$option=0,$max=0,$short=0,$notooltip=0)
+	function getNomUrl($withpicto=0, $option=0, $max=0, $short=0, $notooltip=0, $save_lastsearch_value=-1)
 	{
 		global $langs;
 
@@ -1506,6 +1507,14 @@ class Expedition extends CommonObject
 
 		if ($short) return $url;
 
+		if ($option !== 'nolink')
+		{
+			// Add param to save lastsearch_values or not
+			$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+			if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+			if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+		}
+
 		$linkclose='';
 		if (empty($notooltip))
 		{

+ 14 - 14
htdocs/expedition/contact.php

@@ -91,7 +91,7 @@ if ($action == 'addcontact' && $user->rights->expedition->creer)
 	}
 	else
 	{
-		if ($objectsrc->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') 
+		if ($objectsrc->error == 'DB_ERROR_RECORD_ALREADY_EXISTS')
 		{
 			$langs->load("errors");
 			$mesg = $langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType");
@@ -160,8 +160,8 @@ if ($id > 0 || ! empty($ref))
 
 
 	// Shipment card
-	$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php?restore_lastsearch_values=1' . (! empty($socid) ? '&socid=' . $socid : '') . '">'.$langs->trans("BackToList").'</a>';
+
 	$morehtmlref='<div class="refidno">';
 	// Ref customer shipment
 	$morehtmlref.=$form->editfieldkey("RefCustomer", '', $object->ref_customer, $object, $user->rights->expedition->creer, 'string', '', 0, 1);
@@ -203,11 +203,11 @@ if ($id > 0 || ! empty($ref))
         }
     }
 	$morehtmlref.='</div>';
-	
-	
+
+
 	dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-	
-	
+
+
 	print '<div class="fichecenter">';
     //print '<div class="fichehalfleft">';
 	print '<div class="underbanner clearboth"></div>';
@@ -237,23 +237,23 @@ if ($id > 0 || ! empty($ref))
 	    print "</td>\n";
 	    print '</tr>';
 	}
-	
+
 	print "</table>";
 
-	
+
 	//print '</div>';
 	//print '<div class="fichehalfright">';
 	//print '<div class="ficheaddleft">';
 	//print '<div class="underbanner clearboth"></div>';
-	
-	
+
+
 	//print '</div>';
 	//print '</div>';
 	print '</div>';
-		
+
 	print '<div class="clearboth"></div>';
-	
-	
+
+
 	dol_fiche_end();
 
 	// Lignes de contacts

+ 13 - 9
htdocs/expedition/list.php

@@ -42,9 +42,10 @@ $result = restrictedArea($user, 'expedition',$expeditionid,'');
 
 $diroutputmassaction=$conf->expedition->dir_output . '/temp/massgeneration/'.$user->id;
 
-$search_ref_exp = GETPOST("search_ref_exp");
-$search_ref_liv = GETPOST('search_ref_liv');
-$search_company = GETPOST("search_company");
+$search_ref_exp = GETPOST("search_ref_exp", 'alpha');
+$search_ref_liv = GETPOST('search_ref_liv', 'alpha');
+$search_ref_customer = GETPOST('search_ref_customer', 'alpha');
+$search_company = GETPOST("search_company", 'alpha');
 $search_town=GETPOST('search_town','alpha');
 $search_zip=GETPOST('search_zip','alpha');
 $search_state=trim(GETPOST("search_state"));
@@ -133,6 +134,7 @@ if (GETPOST('button_removefilter_x','alpha') || GETPOST('button_removefilter.x',
 {
     $search_ref_exp='';
     $search_ref_liv='';
+    $search_ref_customer='';
     $search_company='';
     $search_town='';
 	$search_zip="";
@@ -213,6 +215,7 @@ if ($socid)
 if ($viewstatut <> '' && $viewstatut >= 0) {
 	$sql.= " AND e.fk_statut = ".$viewstatut;
 }
+if ($search_ref_customer != '') $sql.=natural_search('e.ref_customer', $search_ref_customer);
 if ($search_billed != '' && $search_billed >= 0) $sql.=' AND e.billed = '.$search_billed;
 if ($search_town)  $sql.= natural_search('s.town', $search_town);
 if ($search_zip)   $sql.= natural_search("s.zip",$search_zip);
@@ -262,13 +265,14 @@ if ($resql)
 	$expedition = new Expedition($db);
 
 	$param='';
-    if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage;
+    if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.urlencode($contextpage);
 	if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit;
-	if ($sall) $param.= "&amp;sall=".$sall;
-	if ($search_ref_exp) $param.= "&amp;search_ref_exp=".$search_ref_exp;
-	if ($search_ref_liv) $param.= "&amp;search_ref_liv=".$search_ref_liv;
-	if ($search_company) $param.= "&amp;search_company=".$search_company;
-	if ($optioncss != '') $param.='&amp;optioncss='.$optioncss;
+	if ($sall) $param.= "&amp;sall=".urlencode($sall);
+	if ($search_ref_exp) $param.= "&amp;search_ref_exp=".urlencode($search_ref_exp);
+	if ($search_ref_liv) $param.= "&amp;search_ref_liv=".urlencode($search_ref_liv);
+	if ($search_ref_customer) $param.= "&amp;search_ref_customer=".urlencode($search_ref_customer);
+	if ($search_company) $param.= "&amp;search_company=".urlencode($search_company);
+	if ($optioncss != '') $param.='&amp;optioncss='.urlencode($optioncss);
 	// Add $param from extra fields
 	foreach ($search_array_options as $key => $val)
 	{

+ 7 - 7
htdocs/expedition/note.php

@@ -100,9 +100,9 @@ if ($id > 0 || ! empty($ref))
 	$head=shipping_prepare_head($object);
 	dol_fiche_head($head, 'note', $langs->trans("Shipment"), -1, 'sending');
 
-    
+
 	// Shipment card
-	$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php?restore_lastsearch_values=1' . (! empty($socid) ? '&socid=' . $socid : '') . '">'.$langs->trans("BackToList").'</a>';
 
 	$morehtmlref='<div class="refidno">';
 	// Ref customer shipment
@@ -145,13 +145,13 @@ if ($id > 0 || ! empty($ref))
         }
     }
     $morehtmlref.='</div>';
-    
-    
+
+
     dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-    
-    
+
+
     print '<div class="underbanner clearboth"></div>';
-    
+
 	$cssclass='titlefield';
 	include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
 

+ 38 - 38
htdocs/expedition/shipment.php

@@ -85,14 +85,14 @@ if (empty($reshook))
     	$object->fetch($id);
     	$object->setProject(GETPOST('projectid','int'));
     }
-    
+
     if ($action == 'confirm_cloture' && GETPOST('confirm','alpha') == 'yes')
     {
     	$object = new Commande($db);
     	$object->fetch($id);
     	$result = $object->cloture($user);
     }
-    
+
     // Positionne ref commande client
     else if ($action == 'setref_client' && $user->rights->commande->creer) {
         $result = $object->set_ref_client($user, GETPOST('ref_client'));
@@ -101,12 +101,12 @@ if (empty($reshook))
             setEventMessages($object->error, $object->errors, 'errors');
         }
     }
-    
+
     if ($action == 'setdatedelivery' && $user->rights->commande->creer)
     {
     	//print "x ".$_POST['liv_month'].", ".$_POST['liv_day'].", ".$_POST['liv_year'];
     	$datelivraison=dol_mktime(0, 0, 0, GETPOST('liv_month','int'), GETPOST('liv_day','int'),GETPOST('liv_year','int'));
-    
+
     	$object = new Commande($db);
     	$object->fetch($id);
     	$result=$object->set_date_livraison($user,$datelivraison);
@@ -131,7 +131,7 @@ if (empty($reshook))
     	if ($result < 0)
     		setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     if ($action == 'setavailability' && $user->rights->commande->creer) {
         $object = new Commande($db);
         $object->fetch($id);
@@ -139,7 +139,7 @@ if (empty($reshook))
         if ($result < 0)
             setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     if ($action == 'setdemandreason' && $user->rights->commande->creer) {
         $object = new Commande($db);
         $object->fetch($id);
@@ -147,7 +147,7 @@ if (empty($reshook))
         if ($result < 0)
             setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     if ($action == 'setconditions' && $user->rights->commande->creer)
     {
     	$object = new Commande($db);
@@ -156,7 +156,7 @@ if (empty($reshook))
     	if ($result < 0)
     		setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     // shipping method
     if ($action == 'setshippingmethod' && $user->rights->commande->creer) {
         $object = new Commande($db);
@@ -165,7 +165,7 @@ if (empty($reshook))
     	if ($result < 0)
     		setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     // warehouse
     if ($action == 'setwarehouse' && $user->rights->commande->creer) {
         $object = new Commande($db);
@@ -174,14 +174,14 @@ if (empty($reshook))
         if ($result < 0)
             setEventMessages($object->error, $object->errors, 'errors');
     }
-    
+
     if ($action == 'update_extras')
     {
         // Fill array 'array_options' with data from update form
         $extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
         $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute'));
         if ($ret < 0) $error++;
-    
+
         if (! $error)
         {
             // Actions on extra fields (by external module or standard code)
@@ -197,20 +197,20 @@ if (empty($reshook))
             } else if ($reshook < 0)
                 $error++;
         }
-    
+
         if ($error)
             $action = 'edit_extras';
     }
-    
+
     if ($action == 'set_thirdparty' && $user->rights->commande->creer)
     {
         $object->fetch($id);
         $object->setValueFrom('fk_soc', $socid, '', '', 'date', '', $user, 'ORDER_MODIFY');
-    
+
         header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id);
         exit();
     }
-    
+
     include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
 
 }
@@ -243,13 +243,13 @@ if ($id > 0 || ! empty($ref))
 		$author->fetch($object->user_author_id);
 
 		$res = $object->fetch_optionals($object->id, $extralabels);
-		
+
 		$head = commande_prepare_head($object);
 		dol_fiche_head($head, 'shipping', $langs->trans("CustomerOrder"), -1, 'order');
 
-		
+
 		$formconfirm = '';
-		
+
 		// Confirm validation
 		if ($action == 'cloture')
 		{
@@ -263,14 +263,14 @@ if ($id > 0 || ! empty($ref))
 		    if (empty($reshook)) $formconfirm.=$hookmanager->resPrint;
 		    elseif ($reshook > 0) $formconfirm=$hookmanager->resPrint;
 		}
-		
+
 		// Print form confirm
 		print $formconfirm;
-		
-		
+
+
 		// Order card
 
-		$linkback = '<a href="' . DOL_URL_ROOT . '/commande/list.php' . (! empty($socid) ? '?socid=' . $socid : '') . '">' . $langs->trans("BackToList") . '</a>';
+		$linkback = '<a href="' . DOL_URL_ROOT . '/commande/list.php?restore_lastsearch_values=1' . (! empty($socid) ? '?socid=' . $socid : '') . '">' . $langs->trans("BackToList") . '</a>';
 
 
 		$morehtmlref='<div class="refidno">';
@@ -320,7 +320,7 @@ if ($id > 0 || ! empty($ref))
 	    print '<div class="fichecenter">';
 	    print '<div class="fichehalfleft">';
 	    print '<div class="underbanner clearboth"></div>';
-	    
+
 	    print '<table class="border" width="100%">';
 
 		// Discounts for third party
@@ -516,9 +516,9 @@ if ($id > 0 || ! empty($ref))
 		    print showDimensionInBestUnit($totalVolume, 0, "volume", $langs, isset($conf->global->MAIN_VOLUME_DEFAULT_ROUND)?$conf->global->MAIN_VOLUME_DEFAULT_ROUND:-1, isset($conf->global->MAIN_VOLUME_DEFAULT_UNIT)?$conf->global->MAIN_VOLUME_DEFAULT_UNIT:'no');
 		    print '</td></tr>';
 		}
-		
+
 		// TODO How record was recorded OrderMode (llx_c_input_method)
-		
+
 		// Incoterms
 		if (!empty($conf->incoterm->enabled))
 		{
@@ -541,7 +541,7 @@ if ($id > 0 || ! empty($ref))
 		    }
 		    print '</td></tr>';
 		}
-		
+
 		// Other attributes
 		$cols = 2;
 		include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php';
@@ -561,18 +561,18 @@ if ($id > 0 || ! empty($ref))
 		    print '<tr><td class="titlefieldmiddle">' . fieldLabel('MulticurrencyAmountHT','multicurrency_total_ht') . '</td>';
 		    print '<td class="nowrap">' . price($object->multicurrency_total_ht, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
 		    print '</tr>';
-		
+
 		    // Multicurrency Amount VAT
 		    print '<tr><td>' . fieldLabel('MulticurrencyAmountVAT','multicurrency_total_tva') . '</td>';
 		    print '<td class="nowrap">' . price($object->multicurrency_total_tva, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
 		    print '</tr>';
-		
+
 		    // Multicurrency Amount TTC
 		    print '<tr><td>' . fieldLabel('MulticurrencyAmountTTC','multicurrency_total_ttc') . '</td>';
 		    print '<td class="nowrap">' . price($object->multicurrency_total_ttc, '', $langs, 0, - 1, - 1, (!empty($object->multicurrency_code) ? $object->multicurrency_code : $conf->currency)) . '</td>';
 		    print '</tr>';
 		}
-		
+
 		// Total HT
 		print '<tr><td class="titlefieldmiddle">'.$langs->trans('AmountHT').'</td>';
 		print '<td>'.price($object->total_ht, 0, '', 1, -1, -1, $conf->currency).'</td>';
@@ -593,7 +593,7 @@ if ($id > 0 || ! empty($ref))
 		    print '<tr><td>' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '</td>';
 		    print '<td>' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . '</td></tr>';
 		}
-		
+
 		// Total TTC
 		print '<tr><td>'.$langs->trans('AmountTTC').'</td><td>'.price($object->total_ttc, 0, '', 1, -1, -1, $conf->currency).'</td>';
 		print '</tr>';
@@ -603,11 +603,11 @@ if ($id > 0 || ! empty($ref))
 		print '</div>';
 		print '</div>';
 		print '</div>';
-		
+
 		print '<div class="clearboth"></div><br>';
-		
-		
-		
+
+
+
 		/**
 		 *  Lines or orders with quantity shipped and remain to ship
 		 *  Note: Qty shipped are already available into $object->expeditions[fk_product]
@@ -654,7 +654,7 @@ if ($id > 0 || ! empty($ref))
 			while ($i < $num)
 			{
 				$objp = $db->fetch_object($resql);
-				
+
 
 				// Show product and description
 				$type=isset($objp->type)?$objp->type:$objp->product_type;
@@ -866,14 +866,14 @@ if ($id > 0 || ! empty($ref))
         {
             print $langs->trans("ValidateOrderFirstBeforeShipment");
         }
-        
+
 		if (! empty($conf->stock->enabled) && ($object->statut > Commande::STATUS_DRAFT && $object->statut < Commande::STATUS_CLOSED))
 		{
 			if ($user->rights->expedition->creer)
 			{
 				//print load_fiche_titre($langs->trans("CreateShipment"));
                 print '<div class="tabsAction">';
-                
+
 				print '<form method="GET" action="'.DOL_URL_ROOT.'/expedition/card.php">';
 				print '<input type="hidden" name="action" value="create">';
 				//print '<input type="hidden" name="id" value="'.$object->id.'">';
@@ -910,7 +910,7 @@ if ($id > 0 || ! empty($ref))
 
 				//print "</table>";
 				print "</form>\n";
-				
+
 				print '</div>';
 
 				$somethingshown=1;

+ 2 - 2
htdocs/expensereport/card.php

@@ -1454,7 +1454,7 @@ else
 					print '<input type="hidden" name="action" value="update">';
 				}
 
-				$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
+				$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
 
 				print '<table class="border" style="width:100%;">';
 
@@ -1614,7 +1614,7 @@ else
 				print $formconfirm;
 
 				// Expense report card
-				$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
+				$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
 
 				$morehtmlref='<div class="refidno">';
 				/*

+ 17 - 8
htdocs/expensereport/class/expensereport.class.php

@@ -828,7 +828,7 @@ class ExpenseReport extends CommonObject
                     print '<tr>';
                     print '<td><a href="'.DOL_URL_ROOT.'/expensereport/card.php?id='.$objp->rowid.'">'.$objp->ref_num.'</a></td>';
                     print '<td align="center">'.dol_print_date($objp->date,'day').'</td>';
-                    print '<td>'.$author->getNomUrl().'</td>';
+                    print '<td>'.$author->getNomUrl(1).'</td>';
                     print '<td>'.$objp->comments.'</td>';
                     print '<td align="right">'.price($objp->total_ht).'</td>';
                     print '<td align="right">'.price($objp->total_ttc).'</td>';
@@ -1525,14 +1525,15 @@ class ExpenseReport extends CommonObject
     /**
      *  Return clicable name (with picto eventually)
      *
-     *	@param		int		$withpicto		0=No picto, 1=Include picto into link, 2=Only picto
-     *	@param		int		$max			Max length of shown ref
-     *	@param		int		$short			1=Return just URL
-     *	@param		string	$moretitle		Add more text to title tooltip
-     *	@param		int		$notooltip		1=Disable tooltip
-     *	@return		string					String with URL
+     *	@param		int		$withpicto					0=No picto, 1=Include picto into link, 2=Only picto
+     *	@param		int		$max						Max length of shown ref
+     *	@param		int		$short						1=Return just URL
+     *	@param		string	$moretitle					Add more text to title tooltip
+     *	@param		int		$notooltip					1=Disable tooltip
+     *  @param  	int     $save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+     *	@return		string								String with URL
      */
-    function getNomUrl($withpicto=0,$max=0,$short=0,$moretitle='',$notooltip=0)
+    function getNomUrl($withpicto=0, $max=0, $short=0, $moretitle='', $notooltip=0, $save_lastsearch_value=-1)
     {
         global $langs, $conf;
 
@@ -1554,6 +1555,14 @@ class ExpenseReport extends CommonObject
             $label.= '<br><b>' . $langs->trans('AmountTTC') . ':</b> ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency);
         if ($moretitle) $label.=' - '.$moretitle;
 
+        //if ($option != 'nolink')
+        //{
+        // Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        //}
+
         $ref=$this->ref;
         if (empty($ref)) $ref=$this->id;
 

+ 9 - 9
htdocs/expensereport/document.php

@@ -93,15 +93,15 @@ if ($object->id)
 
 	dol_fiche_head($head, 'documents',  $langs->trans("ExpenseReport"), -1, 'trip');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
+
 	$morehtmlref='<div class="refidno">';
 	$morehtmlref.='</div>';
-	
-	
+
+
 	dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-	
-	
+
+
 	// Construit liste des fichiers
 	$filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview.*\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
 	$totalsize=0;
@@ -112,7 +112,7 @@ if ($object->id)
 
 	print '<div class="fichecenter">';
 	print '<div class="underbanner clearboth"></div>';
-	
+
     print '<table class="border" width="100%">';
 
     $linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
@@ -124,8 +124,8 @@ if ($object->id)
     print '</div>';
 
     dol_fiche_end();
-    
-    
+
+
     $modulepart = 'expensereport';
     $permission = $user->rights->expensereport->creer;
     $permtoedit = $user->rights->expensereport->creer;

+ 7 - 7
htdocs/expensereport/info.php

@@ -56,25 +56,25 @@ if ($id > 0 || ! empty($ref))
 
 	dol_fiche_head($head, 'info', $langs->trans("ExpenseReport"), -1, 'trip');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
+
 	$morehtmlref='<div class="refidno">';
     $morehtmlref.='</div>';
 
-	
+
 	dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-	
+
 	print '<div class="fichecenter">';
 	print '<div class="underbanner clearboth"></div>';
-	
+
 	print '<br>';
-	
+
 	print '<table width="100%"><tr><td>';
     dol_print_object_info($object);
     print '</td></tr></table>';
 
     print '</div>';
-    
+
     dol_fiche_end();
 }
 

+ 6 - 6
htdocs/expensereport/note.php

@@ -80,22 +80,22 @@ if ($id > 0 || ! empty($ref))
 
 	dol_fiche_head($head, 'note', $langs->trans("ExpenseReport"), -1, 'trip');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(! empty($socid)?'?socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
-	
+	$linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(! empty($socid)?'&socid='.$socid:'').'">'.$langs->trans("BackToList").'</a>';
+
 	$morehtmlref='<div class="refidno">';
     $morehtmlref.='</div>';
 
-	
+
 	dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
-	 
+
     print '<div class="fichecenter">';
     print '<div class="underbanner clearboth"></div>';
-	 
+
 	$cssclass="titlefield";
 	include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php';
 
 	print '</div>';
-	
+
 	dol_fiche_end();
 }
 

+ 1 - 1
htdocs/fourn/facture/paiement.php

@@ -913,7 +913,7 @@ if (empty($action))
             print '<td>'.$objp->num_paiement.'</td>';
 
             print '<td>';
-            if ($objp->bid) print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries.php?account='.$objp->bid.'">'.img_object($langs->trans("ShowAccount"),'account').' '.dol_trunc($objp->label,24).'</a>';
+            if ($objp->bid) print '<a href="'.DOL_URL_ROOT.'/compta/bank/bankentries_list.php?account='.$objp->bid.'">'.img_object($langs->trans("ShowAccount"),'account').' '.dol_trunc($objp->label,24).'</a>';
             else print '&nbsp;';
             print '</td>';
 

+ 1 - 1
htdocs/holiday/card.php

@@ -1045,7 +1045,7 @@ else
 
                 dol_fiche_head($head, 'card', $langs->trans("CPTitreMenu"), -1, 'holiday');
 
-                $linkback='<a href="'.DOL_URL_ROOT.'/holiday/list.php">'.$langs->trans("BackToList").'</a>';
+                $linkback='<a href="'.DOL_URL_ROOT.'/holiday/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
                 dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref');
 

+ 18 - 8
htdocs/holiday/class/holiday.class.php

@@ -819,24 +819,34 @@ class Holiday extends CommonObject
     /**
      *	Return clicable name (with picto eventually)
      *
-     *	@param		int			$withpicto		0=_No picto, 1=Includes the picto in the linkn, 2=Picto only
-     *	@return		string						String with URL
+     *	@param	int			$withpicto					0=_No picto, 1=Includes the picto in the linkn, 2=Picto only
+     *  @param  int     	$save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+     *	@return	string									String with URL
      */
-    function getNomUrl($withpicto=0)
+    function getNomUrl($withpicto=0, $save_lastsearch_value=-1)
     {
         global $langs;
 
         $result='';
+        $picto='holiday';
         $label=$langs->trans("Show").': '.$this->ref;
 
-        $link = '<a href="'.DOL_URL_ROOT.'/holiday/card.php?id='.$this->id.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
-        $linkend='</a>';
+        $url = DOL_URL_ROOT.'/holiday/card.php?id='.$this->id;
 
-        $picto='holiday';
+        //if ($option != 'nolink')
+        //{
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        //}
+
+        $linkstart = '<a href="'.$url.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
+        $linkend='</a>';
 
-        if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
+        if ($withpicto) $result.=($linkstart.img_object($label, $picto, 'class="classfortooltip"').$linkend);
         if ($withpicto && $withpicto != 2) $result.=' ';
-        if ($withpicto != 2) $result.=$link.$this->ref.$linkend;
+        if ($withpicto != 2) $result.=$linkstart.$this->ref.$linkend;
         return $result;
     }
 

+ 1 - 1
htdocs/holiday/document.php

@@ -109,7 +109,7 @@ if ($object->id)
 	}
 
 
-	$linkback='<a href="'.DOL_URL_ROOT.'/holiday/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback='<a href="'.DOL_URL_ROOT.'/holiday/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 	dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref');
 

+ 1 - 1
htdocs/holiday/list.php

@@ -313,7 +313,7 @@ if ($id > 0) print '<input type="hidden" name="id" value="'.$id.'">';
 if ($id > 0)		// For user tab
 {
 	$title = $langs->trans("User");
-	$linkback = '<a href="'.DOL_URL_ROOT.'/user/index.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/user/index.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 	$head = user_prepare_head($fuser);
 
 	dol_fiche_head($head, 'paidholidays', $title, -1, 'user');

+ 26 - 26
htdocs/livraison/card.php

@@ -44,7 +44,7 @@ if (! empty($conf->projet->enabled)) {
     require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
     require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
 }
-	
+
 
 $langs->load("sendings");
 $langs->load("bills");
@@ -223,7 +223,7 @@ if ($action == 'update_extras_line')
 {
 	$array_options=array();
 	$num=count($object->lines);
-	
+
 	for ($i = 0; $i < $num; $i++)
 	{
 		// Extrafields
@@ -236,7 +236,7 @@ if ($action == 'update_extras_line')
 				unset($_POST["options_" . $key]);
 			}
 		}
-		
+
 		$ret = $object->update_line($object->lines[$i]->id,$array_options[$i]);	// extrafields update
 		if ($ret < 0)
 		{
@@ -305,7 +305,7 @@ $formfile = new FormFile($db);
 if ($action == 'create')    // Seems to no be used
 {
 
-	
+
 }
 else
 /* *************************************************************************** */
@@ -333,16 +333,16 @@ else
 
 			$head=delivery_prepare_head($object);
 
-			
+
 			print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
 			print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
 			print '<input type="hidden" name="action" value="update_extras_line">';
 			print '<input type="hidden" name="origin" value="'.$origin.'">';
 			print '<input type="hidden" name="id" value="'.$object->id.'">';
 			print '<input type="hidden" name="ref" value="'.$object->ref.'">';
-				
+
 			dol_fiche_head($head, 'delivery', $langs->trans("Shipment"), 0, 'sending');
-				
+
 			/*
 			 * Confirmation de la suppression
 			 *
@@ -367,7 +367,7 @@ else
 			/*
 			 *   Livraison
 			 */
-			
+
 			if ($typeobject == 'commande' && $expedition->origin_id > 0 && ! empty($conf->commande->enabled))
 			{
 			    $objectsrc=new Commande($db);
@@ -380,8 +380,8 @@ else
 			}
 
 			// Shipment card
-			$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php">'.$langs->trans("BackToList").'</a>';
-			
+			$linkback = '<a href="'.DOL_URL_ROOT.'/expedition/list.php?restore_lastsearch_values=1' . (! empty($socid) ? '&socid=' . $socid : '') . '">'.$langs->trans("BackToList").'</a>';
+
 			$morehtmlref='<div class="refidno">';
 			// Ref customer shipment
 			$morehtmlref.=$form->editfieldkey("RefCustomer", '', $expedition->ref_customer, $expedition, $user->rights->expedition->creer, 'string', '', 0, 1);
@@ -422,17 +422,17 @@ else
 			    }
 			}
 			$morehtmlref.='</div>';
-			
+
 			$morehtmlright = $langs->trans("StatusReceipt").' : '.$object->getLibStatut(6).'<br>';
-			
+
 			dol_banner_tab($expedition, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref, '', 0, '', $morehtmlright);
-			 
-			 
+
+
 			print '<div class="fichecenter">';
 			print '<div class="underbanner clearboth"></div>';
-				
+
 		    print '<table class="border" width="100%">';
-				
+
 			// Shipment
 			/*
 			if (($object->origin == 'shipment' || $object->origin == 'expedition') && $object->origin_id > 0)
@@ -459,7 +459,7 @@ else
 			print '<td align="3">'.$soc->getNomUrl(1).'</td>';
 			print "</tr>";
             */
-			
+
 			// Document origine
 			if ($typeobject == 'commande' && $expedition->origin_id && ! empty($conf->commande->enabled))
 			{
@@ -535,7 +535,7 @@ else
 		        print '</td></tr>';
 			}
 
-			/* A delivery note should be just more properties of a shipment, so notes are on shipment  
+			/* A delivery note should be just more properties of a shipment, so notes are on shipment
 			// Note Public
             print '<tr><td>'.$langs->trans("NotePublic").'</td>';
             print '<td colspan="3">';
@@ -563,7 +563,7 @@ else
 				print '<td colspan="3"><a href="'.DOL_URL_ROOT.'/product/stock/card.php?id='.$entrepot->id.'">'.$entrepot->libelle.'</a></td>';
 				print '</tr>';
 			}
-			
+
 			// Other attributes
 			if ($action = 'create_delivery') {
 				// copy from expedition
@@ -579,7 +579,7 @@ else
 			print "</table><br>\n";
 
 			print '</div>';
-				
+
 			/*
 			 * Lignes produits
 			 */
@@ -602,7 +602,7 @@ else
 			$var=true;
 			while ($i < $num_prod)
 			{
-				
+
 
 				print '<tr class="oddeven">';
 				if ($object->lines[$i]->fk_product > 0)
@@ -666,7 +666,7 @@ else
 				print '<td align="center">'.$object->lines[$i]->qty_shipped.'</td>';
 
 				print "</tr>";
-				
+
 				//Display lines extrafields
 				if (is_array($extralabelslines) && count($extralabelslines)>0) {
 					$colspan=2;
@@ -689,14 +689,14 @@ else
 			}
 
 			print "</table>\n";
-			
+
             dol_fiche_end();
 
 			//if ($object->statut == 0)	// only if draft
 			//	print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Save").'"></div>';
-            
+
 			print '</form>';
-            
+
 
 			/*
 			 *    Boutons actions
@@ -706,7 +706,7 @@ else
 			{
 				print '<div class="tabsAction">';
 
-				if ($object->statut == 0 && $num_prod > 0) 
+				if ($object->statut == 0 && $num_prod > 0)
 				{
 					if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison->creer))
 						|| (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison_advance->validate)))

+ 31 - 21
htdocs/livraison/class/livraison.class.php

@@ -295,13 +295,13 @@ class Livraison extends CommonObject
 
 				//Incoterms
 				$this->fk_incoterms = $obj->fk_incoterms;
-				$this->location_incoterms = $obj->location_incoterms;									
+				$this->location_incoterms = $obj->location_incoterms;
 				$this->libelle_incoterms = $obj->libelle_incoterms;
 				$this->db->free($result);
 
 				if ($this->statut == 0) $this->brouillon = 1;
-				
-				
+
+
 				// Retrieve all extrafields for delivery
 				// fetch optionals attributes and labels
 				require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php';
@@ -524,7 +524,7 @@ class Livraison extends CommonObject
 		$this->fk_delivery_address  = $expedition->fk_delivery_address;
 		$this->socid                = $expedition->socid;
 		$this->ref_customer			= $expedition->ref_customer;
-		
+
 		//Incoterms
 		$this->fk_incoterms		= $expedition->fk_incoterms;
 		$this->location_incoterms = $expedition->location_incoterms;
@@ -543,26 +543,26 @@ class Livraison extends CommonObject
 	{
 		global $conf;
 		$error = 0;
-	
+
 		if ($id > 0 && !$error && empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options)>0) // For avoid conflicts if trigger used
 		{
 			$livraisonline = new LivraisonLigne($this->db);
 			$livraisonline->array_options=$array_options;
 			$livraisonline->id=$id;
 			$result=$livraisonline->insertExtraFields();
-			
+
 			if ($result < 0)
 			{
 				$this->error[]=$livraisonline->error;
 				$error++;
 			}
 		}
-	
+
 		if (! $error) return 1;
 		else return -1;
 	}
-	
-	
+
+
 	/**
 	 * 	Add line
 	 *
@@ -696,26 +696,36 @@ class Livraison extends CommonObject
 	/**
 	 *	Return clicable name (with picto eventually)
 	 *
-	 *	@param	int		$withpicto		0=No picto, 1=Include picto into link, 2=Only picto
-	 *	@return	string					Chaine avec URL
+	 *	@param	int		$withpicto					0=No picto, 1=Include picto into link, 2=Only picto
+     *  @param  int     $save_lastsearch_value		-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+	 *	@return	string								Chaine avec URL
 	 */
-	function getNomUrl($withpicto=0)
+	function getNomUrl($withpicto=0, $save_lastsearch_value=-1)
 	{
 		global $langs;
 
 		$result='';
-		$urlOption='';
-        $label=$langs->trans("ShowReceiving").': '.$this->ref;
+		$picto='sending';
 
+		$label=$langs->trans("ShowReceiving").': '.$this->ref;
 
-        $link = '<a href="'.DOL_URL_ROOT.'/livraison/card.php?id='.$this->id.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
-		$linkend='</a>';
+		$url=DOL_URL_ROOT.'/livraison/card.php?id='.$this->id;
+
+        //if ($option !== 'nolink')
+        //{
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        //}
 
-		$picto='sending';
 
-		if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend);
+        $linkstart = '<a href="'.$url.'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">';
+		$linkend='</a>';
+
+		if ($withpicto) $result.=($linkstart.img_object($label, $picto, 'class="classfortooltip"').$linkend);
 		if ($withpicto && $withpicto != 2) $result.=' ';
-		$result.=$link.$this->ref.$linkend;
+		$result.=$linkstart.$this->ref.$linkend;
 		return $result;
 	}
 
@@ -1052,7 +1062,7 @@ class Livraison extends CommonObject
 class LivraisonLigne extends CommonObjectLine
 {
 	var $db;
-	
+
 	// From llx_expeditiondet
 	var $qty;
 	var $qty_asked;
@@ -1075,7 +1085,7 @@ class LivraisonLigne extends CommonObjectLine
 
 	public $product_ref;
 	public $product_label;
-	
+
 	public $element='livraisondet';
 	public $table_element='livraisondet';
 

+ 1 - 1
htdocs/margin/tabs/productMargins.php

@@ -95,7 +95,7 @@ if ($id > 0 || ! empty($ref))
 		$picto=($object->type== Product::TYPE_SERVICE?'service':'product');
 		dol_fiche_head($head, 'margin', $titre, -1, $picto);
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref');
 

+ 1 - 1
htdocs/margin/tabs/thirdpartyMargins.php

@@ -91,7 +91,7 @@ if ($socid > 0)
 
     dol_fiche_head($head, 'margin', $langs->trans("ThirdParty"), -1, 'company');
 
-    $linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php">'.$langs->trans("BackToList").'</a>';
+    $linkback = '<a href="'.DOL_URL_ROOT.'/societe/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
     dol_banner_tab($object, 'socid', $linkback, ($user->societe_id?0:1), 'rowid', 'nom');
 

+ 3 - 4
htdocs/modulebuilder/template/class/myobject.class.php

@@ -268,7 +268,7 @@ class MyObject extends CommonObject
 	 *  Return a link to the object card (with optionaly the picto)
 	 *
 	 *	@param	int		$withpicto					Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto)
-	 *	@param	string	$option						On what the link point to
+	 *	@param	string	$option						On what the link point to ('nolink', ...)
      *  @param	int  	$notooltip					1=Disable tooltip
      *  @param  string  $morecss            		Add more css on link
      *  @param  int     $save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
@@ -289,11 +289,10 @@ class MyObject extends CommonObject
         $label.= '<br>';
         $label.= '<b>' . $langs->trans('Ref') . ':</b> ' . $this->ref;
 
-        $url='';
+        $url = dol_buildpath('/mymodule/myobject_card.php',1).'?id='.$this->id;
+
         if ($option != 'nolink')
         {
-        	$url = dol_buildpath('/mymodule/myobject_card.php',1).'?id='.$this->id;
-
 	        // Add param to save lastsearch_values or not
 	        $add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
 	        if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;

+ 1 - 1
htdocs/product/card.php

@@ -1488,7 +1488,7 @@ else
 
             dol_fiche_head($head, 'card', $titre, -1, $picto);
 
-            $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?type='.$object->type.'">'.$langs->trans("BackToList").'</a>';
+            $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1&type='.$object->type.'">'.$langs->trans("BackToList").'</a>';
             $object->next_prev_filter=" fk_product_type = ".$object->type;
 
             $shownav = 1;

+ 15 - 7
htdocs/product/class/product.class.php

@@ -3416,12 +3416,13 @@ class Product extends CommonObject
 	/**
 	 *	Return clicable link of object (with eventually picto)
 	 *
-	 *	@param		int		$withpicto		Add picto into link
-	 *	@param		string	$option			Where point the link ('stock', 'composition', 'category', 'supplier', '')
-	 *	@param		int		$maxlength		Maxlength of ref
-	 *	@return		string					String with URL
+	 *	@param		int		$withpicto					Add picto into link
+	 *	@param		string	$option						Where point the link ('stock', 'composition', 'category', 'supplier', '')
+	 *	@param		int		$maxlength					Maxlength of ref
+     *  @param      int     $save_lastsearch_value		-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+	 *	@return		string								String with URL
 	 */
-	function getNomUrl($withpicto=0,$option='',$maxlength=0)
+	function getNomUrl($withpicto=0, $option='', $maxlength=0, $save_lastsearch_value=-1)
 	{
 		global $conf, $langs, $hookmanager;
 		include_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
@@ -3458,7 +3459,6 @@ class Product extends CommonObject
             if ($this->nbphoto > 0) $label .= '<br>' . $tmpphoto;
         }
 
-
 		$linkclose='';
 		if (empty($notooltip))
 		{
@@ -3469,7 +3469,7 @@ class Product extends CommonObject
 		    }
 
 		    $linkclose.= ' title="'.dol_escape_htmltag($label, 1, 1).'"';
-		    $linkclose.=' class="classfortooltip"';
+		    $linkclose.= ' class="classfortooltip"';
 
 		    if (! is_object($hookmanager))
 	        {
@@ -3492,6 +3492,14 @@ class Product extends CommonObject
             $url = DOL_URL_ROOT.'/product/card.php?id='.$this->id;
         }
 
+        if ($option !== 'nolink')
+        {
+        	// Add param to save lastsearch_values or not
+        	$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+        	if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+        	if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+        }
+
         $linkstart = '<a href="'.$url.'"';
         $linkstart.=$linkclose.'>';
         $linkend='</a>';

+ 1 - 1
htdocs/product/composition/card.php

@@ -203,7 +203,7 @@ if ($id > 0 || ! empty($ref))
 	 */
 	if ($user->rights->produit->lire || $user->rights->service->lire)
 	{
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/document.php

@@ -212,7 +212,7 @@ if ($object->id)
 	}
 
 
-    $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+    $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
     $object->next_prev_filter=" fk_product_type = ".$object->type;
 
     $shownav = 1;

+ 1 - 1
htdocs/product/fournisseurs.php

@@ -308,7 +308,7 @@ if ($id > 0 || $ref)
 
 			dol_fiche_head($head, 'suppliers', $titre, -1, $picto);
 
-			$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+			$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 		    $object->next_prev_filter=" fk_product_type = ".$object->type;
 
             $shownav = 1;

+ 1 - 1
htdocs/product/info.php

@@ -94,7 +94,7 @@ if ($id > 0 || $ref)
 
     dol_fiche_head($head, 'info', $titre, -1, $picto);
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 	$object->next_prev_filter=" fk_product_type = ".$object->type;
 
     $shownav = 1;

+ 1 - 1
htdocs/product/note.php

@@ -93,7 +93,7 @@ if ($id > 0 || ! empty($ref))
 
     dol_fiche_head($head, 'note', $titre, -1, $picto);
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
     $object->next_prev_filter=" fk_product_type = ".$object->type;
 
     $shownav = 1;

+ 1 - 1
htdocs/product/price.php

@@ -690,7 +690,7 @@ $picto = ($object->type == Product::TYPE_SERVICE ? 'service' : 'product');
 
 dol_fiche_head($head, 'price', $titre, -1, $picto);
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 $object->next_prev_filter=" fk_product_type = ".$object->type;
 
 $shownav = 1;

+ 1 - 1
htdocs/product/stats/card.php

@@ -138,7 +138,7 @@ if ($result && (! empty($id) || ! empty($ref)))
 
 	dol_fiche_head($head, 'stats', $titre, -1, $picto);
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
     dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref', '', '', '', 0, '', '', 1);
 

+ 1 - 1
htdocs/product/stats/commande.php

@@ -100,7 +100,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/commande_fournisseur.php

@@ -107,7 +107,7 @@ if ($id > 0 || ! empty($ref)) {
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-		$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+		$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/contrat.php

@@ -90,7 +90,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/facture.php

@@ -117,7 +117,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/facture_fournisseur.php

@@ -102,7 +102,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/propal.php

@@ -102,7 +102,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stats/supplier_proposal.php

@@ -102,7 +102,7 @@ if ($id > 0 || ! empty($ref))
         print $hookmanager->resPrint;
 		if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/stock/product.php

@@ -544,7 +544,7 @@ if ($id > 0 || $ref)
 
 		dol_htmloutput_events();
 
-        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+        $linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
         $shownav = 1;
         if ($user->societe_id && ! in_array('stock', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 1 - 1
htdocs/product/traduction.php

@@ -200,7 +200,7 @@ if (! empty($object->multilangs))
 
 dol_fiche_head($head, 'translation', $titre, 0, $picto);
 
-$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
 
 $shownav = 1;
 if ($user->societe_id && ! in_array('product', explode(',',$conf->global->MAIN_MODULES_FOR_EXTERNAL))) $shownav=0;

+ 21 - 12
htdocs/user/class/user.class.php

@@ -2040,17 +2040,18 @@ class User extends CommonObject
 	 *  Return a link to the user card (with optionaly the picto)
 	 * 	Use this->id,this->lastname, this->firstname
 	 *
-	 *	@param	int		$withpictoimg		Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small)
-	 *	@param	string	$option				On what the link point to
-     *  @param  integer $infologin      	Add complete info tooltip
-     *  @param	integer	$notooltip			1=Disable tooltip on picto and name
-     *  @param	int		$maxlen				Max length of visible user name
-     *  @param	int		$hidethirdpartylogo	Hide logo of thirdparty if user is external user
-     *  @param  string  $mode               ''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login
-     *  @param  string  $morecss            Add more css on link
-	 *	@return	string						String with URL
+	 *	@param	int		$withpictoimg				Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto, -1=Include photo into link, -2=Only picto photo, -3=Only photo very small)
+	 *	@param	string	$option						On what the link point to
+     *  @param  integer $infologin      			Add complete info tooltip
+     *  @param	integer	$notooltip					1=Disable tooltip on picto and name
+     *  @param	int		$maxlen						Max length of visible user name
+     *  @param	int		$hidethirdpartylogo			Hide logo of thirdparty if user is external user
+     *  @param  string  $mode               		''=Show firstname and lastname, 'firstname'=Show only firstname, 'login'=Show login
+     *  @param  string  $morecss            		Add more css on link
+     *  @param  int     $save_lastsearch_value    	-1=Auto, 0=No save of lastsearch_values when clicking, 1=Save lastsearch_values whenclicking
+	 *	@return	string								String with URL
 	 */
-	function getNomUrl($withpictoimg=0, $option='', $infologin=0, $notooltip=0, $maxlen=24, $hidethirdpartylogo=0, $mode='',$morecss='')
+	function getNomUrl($withpictoimg=0, $option='', $infologin=0, $notooltip=0, $maxlen=24, $hidethirdpartylogo=0, $mode='',$morecss='', $save_lastsearch_value=-1)
 	{
 		global $langs, $conf, $db, $hookmanager;
 		global $dolibarr_main_authentication, $dolibarr_main_demo;
@@ -2108,10 +2109,18 @@ class User extends CommonObject
 			if (! empty($_SESSION["disablemodules"])) $label.= '<br><b>'.$langs->trans("DisabledModules").':</b> <br>'.join(', ',explode(',',$_SESSION["disablemodules"]));
 		}
 
+		if ($option == 'leave') $url.= DOL_URL_ROOT.'/holiday/list.php?id='.$this->id;
+		else $link.= $url.= DOL_URL_ROOT.'/user/card.php?id='.$this->id;
 
-		if ($option == 'leave') $link.= '<a href="'.DOL_URL_ROOT.'/holiday/list.php?id='.$this->id.'"';
-		else $link.= '<a href="'.DOL_URL_ROOT.'/user/card.php?id='.$this->id.'"';
+		if ($option != 'nolink')
+		{
+			// Add param to save lastsearch_values or not
+			$add_save_lastsearch_values=($save_lastsearch_value == 1 ? 1 : 0);
+			if ($save_lastsearch_value == -1 && preg_match('/list\.php/',$_SERVER["PHP_SELF"])) $add_save_lastsearch_values=1;
+			if ($add_save_lastsearch_values) $url.='&save_lastsearch_values=1';
+		}
 
+		$link='<a href="'.$url.'"';
 		$linkclose="";
 		if (empty($notooltip))
 		{