Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2018-05-05 14:29:54 +02:00
commit e254d6951d
5 changed files with 35 additions and 32 deletions

View File

@ -585,24 +585,19 @@ if ($resql)
'presend'=>$langs->trans("SendByMail"),
'builddoc'=>$langs->trans("PDFMerge"),
);
if ($conf->prelevement->enabled)
{
$langs->load("withdrawals");
$arrayofmassactions['withdrawrequest']=$langs->trans("MakeWithdrawRequest");
if ($conf->prelevement->enabled) {
$langs->load("withdrawals");
$arrayofmassactions['withdrawrequest'] = $langs->trans("MakeWithdrawRequest");
}
if ($user->rights->facture->supprimer)
{
//if (! empty($conf->global->STOCK_CALCULATE_ON_BILL) || empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED))
if (empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED))
{
// mass deletion never possible on invoices on such situation
if ($user->rights->facture->supprimer) {
if (!empty($conf->global->INVOICE_CAN_REMOVE_DRAFT_ONLY)) {
$arrayofmassactions['predeletedraft'] = $langs->trans("Deletedraft");
}
else
{
$arrayofmassactions['predelete']=$langs->trans("Delete");
}
}
if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array();
elseif (!empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED)) { // mass deletion never possible on invoices on such situation
$arrayofmassactions['predelete'] = $langs->trans("Delete");
}
}
if (in_array($massaction, array('presend', 'predelete'))) $arrayofmassactions = array();
$massactionbutton=$form->selectMassAction('', $arrayofmassactions);
$newcardbutton='';

View File

@ -1079,24 +1079,23 @@ if (! $error && ($massaction == 'delete' || ($action == 'delete' && $confirm ==
$result=$objecttmp->fetch($toselectid);
if ($result > 0)
{
// Refuse deletion for some status ?
/*
if ($objectclass == 'Facture' && $objecttmp->status == Facture::STATUS_DRAFT)
{
$langs->load("errors");
$nbignored++;
$resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>';
continue;
}*/
if (in_array($objecttmp->element, array('societe','member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1);
// Refuse deletion for some objects/status
if ($objectclass == 'Facture' && empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED) && $objecttmp->status != Facture::STATUS_DRAFT))
{
$langs->load("errors");
$nbignored++;
$resaction.='<div class="error">'.$langs->trans('ErrorOnlyDraftStatusCanBeDeletedInMassAction',$objecttmp->ref).'</div><br>';
continue;
}
if (in_array($objecttmp->element, array('societe', 'member'))) $result = $objecttmp->delete($objecttmp->id, $user, 1);
else $result = $objecttmp->delete($user);
if ($result <= 0)
if ($result <= 0)
{
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
$error++;
break;
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
$error++;
break;
}
else $nbok++;
}

View File

@ -27,6 +27,11 @@
// $trackid='ord'.$object->id;
if ($massaction == 'predeletedraft')
{
print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassDraftDeletion"), $langs->trans("ConfirmMassDeletionQuestion", count($toselect)), "delete", null, '', 0, 200, 500, 1);
}
if ($massaction == 'predelete')
{
print $form->formconfirm($_SERVER["PHP_SELF"], $langs->trans("ConfirmMassDeletion"), $langs->trans("ConfirmMassDeletionQuestion", count($toselect)), "delete", null, '', 0, 200, 500, 1);

View File

@ -941,4 +941,6 @@ Local=Local
Remote=Remote
LocalAndRemote=Local and Remote
KeyboardShortcut=Keyboard shortcut
AssignedTo=Assigned to
AssignedTo=Assigned to
Deletedraft=Delete draft
ConfirmMassDraftDeletion=Draft Bulk delete confirmation

View File

@ -941,3 +941,5 @@ Remote=Distant
LocalAndRemote=Local et distant
KeyboardShortcut=Raccourci clavier
AssignedTo=Assigné à
Deletedraft=Supprimer brouillon
ConfirmMassDraftDeletion=Confirmation de suppression brouillons en masse