diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php
index 55b3c15afab..b99249129eb 100644
--- a/htdocs/comm/propal.php
+++ b/htdocs/comm/propal.php
@@ -150,39 +150,32 @@ else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->prop
}
// Remove line
-else if ($action == 'confirm_deleteline' && $confirm == 'yes')
+else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->propale->creer)
{
- if ($user->rights->propale->creer)
- {
- $object->fetch($id);
- $object->fetch_thirdparty();
- $result = $object->deleteline($lineid);
- // reorder lines
- if ($result) $object->line_order(true);
-
- // Define output language
- $outputlangs = $langs;
- $newlang='';
- if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
- if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
- if (! empty($newlang))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($newlang);
- }
- if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
- {
- $ret=$object->fetch($id); // Reload to get new records
- propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
- }
-
- Header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
- exit;
- }
- else
- {
- $mesg='
'.$object->error.'
';
- }
+ $object->fetch($id);
+ $object->fetch_thirdparty();
+ $result = $object->deleteline($lineid);
+ // reorder lines
+ if ($result) $object->line_order(true);
+
+ // Define output language
+ $outputlangs = $langs;
+ $newlang='';
+ if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
+ if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
+ if (! empty($newlang))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($newlang);
+ }
+ if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
+ {
+ $ret=$object->fetch($id); // Reload to get new records
+ propale_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
+ }
+
+ Header('Location: '.$_SERVER["PHP_SELF"].'?id='.$object->id);
+ exit;
}
// Validation
@@ -216,7 +209,7 @@ else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->pr
}
}
-else if ($action == 'setdate')
+else if ($action == 'setdate' && $user->rights->propale->creer)
{
$datep=dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
@@ -233,13 +226,13 @@ else if ($action == 'setdate')
if ($result < 0) dol_print_error($db,$object->error);
}
}
-else if ($action == 'setecheance')
+else if ($action == 'setecheance' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->set_echeance($user,dol_mktime(12, 0, 0, $_POST['echmonth'], $_POST['echday'], $_POST['echyear']));
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setdate_livraison')
+else if ($action == 'setdate_livraison' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->set_date_livraison($user,dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year']));
@@ -253,14 +246,14 @@ else if ($action == 'set_ref_client' && $user->rights->propale->creer)
$object->set_ref_client($user, $_POST['ref_client']);
}
-else if ($action == 'setnote_public')
+else if ($action == 'setnote_public' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->update_note_public(GETPOST('note_public','alpha'));
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setnote')
+else if ($action == 'setnote' && $user->rights->propale->creer)
{
$object->fetch($id);
$result=$object->update_note(GETPOST('note','alpha'));
@@ -409,7 +402,7 @@ else if ($action == 'add' && $user->rights->propale->creer)
}
// Classify billed
-else if ($action == 'classifybilled')
+else if ($action == 'classifybilled' && $user->rights->propale->cloturer)
{
$object->fetch($id);
$object->cloture($user, 4, '');
diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php
index 7da8907fc78..e373ea6e987 100644
--- a/htdocs/commande/fiche.php
+++ b/htdocs/commande/fiche.php
@@ -467,26 +467,26 @@ else if ($action == 'setconditions' && $user->rights->commande->creer)
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setremisepercent' && $user->rights->facture->creer)
+else if ($action == 'setremisepercent' && $user->rights->commande->creer)
{
$object->fetch($id);
$result = $object->set_remise($user, $_POST['remise_percent']);
}
-else if ($action == 'setremiseabsolue' && $user->rights->facture->creer)
+else if ($action == 'setremiseabsolue' && $user->rights->commande->creer)
{
$object->fetch($id);
$result = $object->set_remise_absolue($user, $_POST['remise_absolue']);
}
-else if ($action == 'setnote_public')
+else if ($action == 'setnote_public' && $user->rights->commande->creer)
{
$object->fetch($id);
$result=$object->update_note_public(GETPOST('note_public','alpha'));
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setnote')
+else if ($action == 'setnote' && $user->rights->commande->creer)
{
$object->fetch($id);
$result=$object->update_note(GETPOST('note','alpha'));
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index 06307be1876..d8088441861 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -95,7 +95,7 @@ $parameters=array('socid'=>$socid);
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
// Action clone object
-if ($action == 'confirm_clone' && $confirm == 'yes')
+if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer)
{
if (1==0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"]))
{
@@ -143,75 +143,66 @@ else if ($action == 'reopen' && $user->rights->facture->creer)
// Delete invoice
else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->facture->supprimer)
{
- if ($user->rights->facture->supprimer)
- {
- $result = $object->fetch($id);
- $result = $object->delete();
- if ($result > 0)
- {
- Header('Location: '.$_SERVER["PHP_SELF"]);
- exit;
- }
- else
- {
- $mesg=''.$object->error.'
';
- }
- }
+ $result = $object->fetch($id);
+ $result = $object->delete();
+ if ($result > 0)
+ {
+ Header('Location: '.$_SERVER["PHP_SELF"]);
+ exit;
+ }
+ else
+ {
+ $mesg=''.$object->error.'
';
+ }
}
// Delete line
-else if ($action == 'confirm_deleteline' && $confirm == 'yes')
+else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->facture->creer)
{
- if ($user->rights->facture->creer)
- {
- $object->fetch($id);
- $object->fetch_thirdparty();
-
- $result = $object->deleteline($_GET['lineid'], $user);
- if ($result > 0)
- {
- // Define output language
- $outputlangs = $langs;
- $newlang='';
- if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
- if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
- if (! empty($newlang))
- {
- $outputlangs = new Translate("",$conf);
- $outputlangs->setDefaultLang($newlang);
- }
- if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
- {
- $ret=$object->fetch($id); // Reload to get new records
- $result=facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
- }
- if ($result >= 0)
- {
- Header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id);
- exit;
- }
- }
- else
- {
- $mesg=''.$object->error.'
';
- $action='';
- }
- }
+ $object->fetch($id);
+ $object->fetch_thirdparty();
+
+ $result = $object->deleteline($_GET['lineid'], $user);
+ if ($result > 0)
+ {
+ // Define output language
+ $outputlangs = $langs;
+ $newlang='';
+ if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id'];
+ if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang;
+ if (! empty($newlang))
+ {
+ $outputlangs = new Translate("",$conf);
+ $outputlangs->setDefaultLang($newlang);
+ }
+ if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE))
+ {
+ $ret=$object->fetch($id); // Reload to get new records
+ $result=facture_pdf_create($db, $object, $object->modelpdf, $outputlangs, GETPOST('hidedetails'), GETPOST('hidedesc'), GETPOST('hideref'), $hookmanager);
+ }
+ if ($result >= 0)
+ {
+ Header('Location: '.$_SERVER["PHP_SELF"].'?facid='.$id);
+ exit;
+ }
+ }
+ else
+ {
+ $mesg=''.$object->error.'
';
+ $action='';
+ }
}
// Delete link of credit note to invoice
-else if ($action == 'unlinkdiscount')
+else if ($action == 'unlinkdiscount' && $user->rights->facture->creer)
{
- if ($user->rights->facture->creer)
- {
- $discount=new DiscountAbsolute($db);
- $result=$discount->fetch($_GET["discountid"]);
- $discount->unlink_invoice();
- }
+ $discount=new DiscountAbsolute($db);
+ $result=$discount->fetch($_GET["discountid"]);
+ $discount->unlink_invoice();
}
// Validation
-else if ($action == 'valid')
+else if ($action == 'valid' && $user->rights->facture->creer)
{
$object->fetch($id);
@@ -236,7 +227,7 @@ else if ($action == 'valid')
}
}
-else if ($action == 'set_thirdparty')
+else if ($action == 'set_thirdparty' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->setValueFrom('fk_soc',$socid);
@@ -245,20 +236,20 @@ else if ($action == 'set_thirdparty')
exit;
}
-else if ($action == 'classin')
+else if ($action == 'classin' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->setProject($_POST['projectid']);
}
-else if ($action == 'setmode')
+else if ($action == 'setmode' && $user->rights->facture->creer)
{
$object->fetch($id);
$result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setinvoicedate')
+else if ($action == 'setinvoicedate' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->date=dol_mktime(12,0,0,$_POST['invoicedatemonth'],$_POST['invoicedateday'],$_POST['invoicedateyear']);
@@ -267,14 +258,14 @@ else if ($action == 'setinvoicedate')
if ($result < 0) dol_print_error($db,$object->error);
}
-else if ($action == 'setconditions')
+else if ($action == 'setconditions' && $user->rights->facture->creer)
{
$object->fetch($id);
$result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int'));
if ($result < 0) dol_print_error($db,$object->error);
}
-if ($action == 'setremisepercent' && $user->rights->facture->creer)
+else if ($action == 'setremisepercent' && $user->rights->facture->creer)
{
$object->fetch($id);
$result = $object->set_remise($user, $_POST['remise_percent']);
@@ -313,12 +304,26 @@ else if ($action == "setabsolutediscount" && $user->rights->facture->creer)
}
}
-else if ($action == 'set_ref_client')
+else if ($action == 'set_ref_client' && $user->rights->facture->creer)
{
$object->fetch($id);
$object->set_ref_client($_POST['ref_client']);
}
+else if ($action == 'setnote_public' && $user->rights->facture->creer)
+{
+ $object->fetch($id);
+ $result=$object->update_note_public(GETPOST('note_public','alpha'));
+ if ($result < 0) dol_print_error($db,$object->error);
+}
+
+else if ($action == 'setnote' && $user->rights->facture->creer)
+{
+ $object->fetch($id);
+ $result=$object->update_note(GETPOST('note','alpha'));
+ if ($result < 0) dol_print_error($db,$object->error);
+}
+
// Classify to validated
else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->facture->valider)
{