diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 4d32e4fd948..49a80dabe7a 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -1169,6 +1169,7 @@ BrowserIsKO=Vous utilisez le navigateur %s. Ce navigateur est déconseillé pour XDebugInstalled=XDebug est chargé. XCacheInstalled=XCache est chargé. AddRefInList=Afficher les références client/fournisseur dans les listes (listes déroulantes ou à autocomplétion) et les libellés des liens clicables. Les tiers apparaîtront alors sous la forme "CC12345 - SC45678 - La big company coorp", au lieu de "La big company coorp". +OnSearchAndListGoOnCustomerOrSupplierCard = A la recherche, ou sur une liste, aller directement sur la fiche client ou fournisseur (si le tiers est client ou fournisseur) AskForPreferredShippingMethod=Demander la méthode d'expédition préférée pour les tiers. FieldEdition=Édition du champ %s FillThisOnlyIfRequired=Exemple: +2 (ne remplir que si un décalage d'heure est constaté dans l'export) diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php index 7866ffbf0be..a32dfb99cce 100644 --- a/htdocs/societe/admin/societe.php +++ b/htdocs/societe/admin/societe.php @@ -263,6 +263,20 @@ if ($action == 'sethideinactivethirdparty') dol_print_error($db); } } +if($action=='setonsearchandlistgooncustomerorsuppliercard'){ + $setonsearchandlistgooncustomerorsuppliercard = GETPOST('value','int'); + $res = dolibarr_set_const($db, "SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD", $setonsearchandlistgooncustomerorsuppliercard,'yesno',0,'',$conf->entity); + if (! $res > 0) $error++; + if (! $error) + { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } + else + { + setEventMessages($langs->trans("Error"), null, 'errors'); + } +} + /* * View @@ -775,6 +789,24 @@ else print ''; print ''; +print ''; +print ''.$langs->trans("OnSearchAndListGoOnCustomerOrSupplierCard").''; +print ' '; +print ''; +if (!empty($conf->global->SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD)) +{ + print ''; + print img_picto($langs->trans("Activated"),'switch_on'); + +} +else +{ + print ''; + print img_picto($langs->trans("Disabled"),'switch_off'); +} +print ''; +print ''; + /* // COMPANY_USE_SEARCH_TO_SELECT diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index f401f92e84d..1fb99e3c5d2 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1972,6 +1972,13 @@ class Societe extends CommonObject if (! empty($conf->dol_no_mouse_hover)) $notooltip=1; // Force disable tooltips $name=$this->name?$this->name:$this->nom; + + if(!empty($conf->global->SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD)){ + + if(empty($option) && $this->client > 0) $option = 'customer'; + if(empty($option) && $this->fournisseur > 0) $option = 'supplier'; + } + if (! empty($conf->global->SOCIETE_ADD_REF_IN_LIST) && (!empty($withpicto))) { diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 448f526df4a..dd1cb616c4d 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -504,6 +504,17 @@ if ($num == 1 && ! empty($conf->global->MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE) && { $obj = $db->fetch_object($resql); $id = $obj->rowid; + if(!empty($conf->global->SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD)){ + if( $obj->client > 0) { + header("Location: ".DOL_URL_ROOT.'/comm/card.php?socid='.$id); + exit; + } + if( $obj->fournisseur > 0){ + header("Location: ".DOL_URL_ROOT.'/fourn/card.php?socid='.$id); + exit; + } + } + header("Location: ".DOL_URL_ROOT.'/societe/card.php?socid='.$id); exit; }