diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 06fd6cc02e8..e6a324a79a3 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -573,15 +573,14 @@ class Form * Generate select HTML to choose massaction * * @param string $selected Value auto selected when at least one record is selected. Not a preselected value. Use '0' by default. - * @param int $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action. + * @param array $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action. * @param int $alwaysvisible 1=select button always visible - * @return string Select list + * @return string|void Select list */ function selectMassAction($selected, $arrayofaction, $alwaysvisible=0) { global $conf,$langs,$hookmanager; - if (count($arrayofaction) == 0) return; $disabled=0; $ret='
'; @@ -590,6 +589,8 @@ class Form // Complete list with data from external modules. THe module can use $_SERVER['PHP_SELF'] to know on which page we are, or use the $parameters['currentcontext'] completed by executeHooks. $parameters=array(); $reshook=$hookmanager->executeHooks('addMoreMassActions',$parameters); // Note that $action and $object may have been modified by hook + // check if there is a mass action + if (count($arrayofaction) == 0 && empty($hookmanager->resPrint)) return; if (empty($reshook)) { $ret.=''; diff --git a/htdocs/product/list.php b/htdocs/product/list.php index dcf43945ccb..55681eef583 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -424,13 +424,13 @@ if ($resql) //'presend'=>$langs->trans("SendByMail"), //'builddoc'=>$langs->trans("PDFMerge"), ); - if ($user->rights->produit->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); + $rightskey='produit'; + if($type == Product::TYPE_SERVICE) $rightskey='service'; + if ($user->rights->{$rightskey}->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete"); if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array(); $massactionbutton=$form->selectMassAction('', $arrayofmassactions); $newcardbutton=''; - $rightskey='produit'; - if($type == Product::TYPE_SERVICE) $rightskey='service'; if($user->rights->{$rightskey}->creer) { $label='NewProduct';