From 633de3bcb454908cdbe9ee2bdd62d16cbf2dffb2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Feb 2016 22:33:02 +0100 Subject: [PATCH] Fix list of object referers should not be set to invoice by default (may be module is disabed). I replace with a message to choose list. --- htdocs/core/lib/product.lib.php | 16 ++++++++++++---- htdocs/langs/en_US/main.lang | 1 + htdocs/langs/en_US/products.lang | 1 + htdocs/product/stats/facture.php | 15 ++++++++++----- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 6deaf7eae08..7bdb6cd5756 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -101,7 +101,7 @@ function product_prepare_head($object) $head[$h][2] = 'stats'; $h++; - $head[$h][0] = DOL_URL_ROOT."/product/stats/facture.php?id=".$object->id; + $head[$h][0] = DOL_URL_ROOT."/product/stats/facture.php?showmessage=1&id=".$object->id; $head[$h][1] = $langs->trans('Referers'); $head[$h][2] = 'referers'; $h++; @@ -201,22 +201,25 @@ function product_admin_prepare_head() * * @param Product $product Product object * @param int $socid Thirdparty id - * @return integer + * @return integer NB of lines shown into array */ function show_stats_for_company($product,$socid) { global $conf,$langs,$user,$db; + $nblines = 0; + print ''; print ''.$langs->trans("Referers").''; print ''.$langs->trans("NbOfThirdParties").''; - print ''.$langs->trans("NbOfReferers").''; + print ''.$langs->trans("NbOfObjectReferers").''; print ''.$langs->trans("TotalQuantity").''; print ''; // Propals if (! empty($conf->propal->enabled) && $user->rights->propale->lire) { + $nblines++; $ret=$product->load_stats_propale($socid); if ($ret < 0) dol_print_error($db); $langs->load("propal"); @@ -234,6 +237,7 @@ function show_stats_for_company($product,$socid) // Commandes clients if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { + $nblines++; $ret=$product->load_stats_commande($socid); if ($ret < 0) dol_print_error($db); $langs->load("orders"); @@ -251,6 +255,7 @@ function show_stats_for_company($product,$socid) // Commandes fournisseurs if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) { + $nblines++; $ret=$product->load_stats_commande_fournisseur($socid); if ($ret < 0) dol_print_error($db); $langs->load("orders"); @@ -268,6 +273,7 @@ function show_stats_for_company($product,$socid) // Contrats if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) { + $nblines++; $ret=$product->load_stats_contrat($socid); if ($ret < 0) dol_print_error($db); $langs->load("contracts"); @@ -285,6 +291,7 @@ function show_stats_for_company($product,$socid) // Factures clients if (! empty($conf->facture->enabled) && $user->rights->facture->lire) { + $nblines++; $ret=$product->load_stats_facture($socid); if ($ret < 0) dol_print_error($db); $langs->load("bills"); @@ -302,6 +309,7 @@ function show_stats_for_company($product,$socid) // Factures fournisseurs if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) { + $nblines++; $ret=$product->load_stats_facture_fournisseur($socid); if ($ret < 0) dol_print_error($db); $langs->load("bills"); @@ -317,7 +325,7 @@ function show_stats_for_company($product,$socid) print ''; } - return 0; + return $nblines++; } diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index eebec1e7f88..834611558a2 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -537,6 +537,7 @@ NbOfCustomers=Number of customers NbOfLines=Number of lines NbOfObjects=Number of objects NbOfReferers=Number of referrers +NbOfObjectReferers=Number of refering objects Referers=Refering objects TotalQuantity=Total quantity DateFromTo=From %s to %s diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index b8a7d377904..ea480222aa7 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -313,3 +313,4 @@ DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on WarningSelectOneDocument=Please select at least one document DefaultUnitToShow=Unit NbOfQtyInProposals=Qty in proposals +ClinkOnALinkOfColumn=Click on a link of column %s to get a detailed view... diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 590830702bb..57c426dc3a1 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry @@ -48,7 +48,7 @@ $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','', // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('productstatsinvoice')); -$mesg = ''; +$showmessage=GETPOST('showmessage'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -67,6 +67,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { $search_year=''; } + + /* * View */ @@ -107,7 +109,7 @@ if ($id > 0 || ! empty($ref)) print '
'; print ''; - show_stats_for_company($product,$socid); + $nboflines = show_stats_for_company($product,$socid); print "
"; @@ -116,8 +118,11 @@ if ($id > 0 || ! empty($ref)) dol_fiche_end(); - - if ($user->rights->facture->lire) + if ($showmessage && $nboflines > 1) + { + print $langs->trans("ClinkOnALinkOfColumn", $langs->transnoentitiesnoconv("Referers")); + } + elseif ($user->rights->facture->lire) { $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, s.code_client,"; $sql.= " f.facnumber, f.datef, f.paye, f.fk_statut as statut, f.rowid as facid,";