Skip to content
Snippets Groups Projects
Commit 031bc911 authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

Fix: Mass save or update of const fails.

parent 2dce0c68
No related branches found
Tags
No related merge requests found
...@@ -35,7 +35,7 @@ $rowid=GETPOST('rowid','int'); ...@@ -35,7 +35,7 @@ $rowid=GETPOST('rowid','int');
$entity=GETPOST('entity','int'); $entity=GETPOST('entity','int');
$action=GETPOST('action','alpha'); $action=GETPOST('action','alpha');
$update=GETPOST('update','alpha'); $update=GETPOST('update','alpha');
$delete=GETPOST('delete','alpha'); $delete=GETPOST('delete'); // Do not use alpha here
$debug=GETPOST('debug','int'); $debug=GETPOST('debug','int');
$consts=GETPOST('const'); $consts=GETPOST('const');
$constname=GETPOST('constname','alpha'); $constname=GETPOST('constname','alpha');
...@@ -47,6 +47,7 @@ $typeconst=array('yesno' => 'yesno', 'texte' => 'texte', 'chaine' => 'chaine'); ...@@ -47,6 +47,7 @@ $typeconst=array('yesno' => 'yesno', 'texte' => 'texte', 'chaine' => 'chaine');
$mesg=''; $mesg='';
/* /*
* Actions * Actions
*/ */
...@@ -68,46 +69,70 @@ if ($action == 'add') ...@@ -68,46 +69,70 @@ if ($action == 'add')
if (! $error) if (! $error)
{ {
if (dolibarr_set_const($db, $constname, $constvalue, $typeconst[$consttype], 1, $constnote, $entity) < 0) if (dolibarr_set_const($db, $constname, $constvalue, $typeconst[$consttype], 1, $constnote, $entity) >= 0)
{
setEventMessage($langs->trans("RecordSaved"));
}
else
{ {
dol_print_error($db); dol_print_error($db);
} }
} }
} }
if (! empty($consts) && $update == $langs->trans("Modify")) // Mass update
if (! empty($consts) && $action == 'update')
{ {
$nbmodified=0;
foreach($consts as $const) foreach($consts as $const)
{ {
if (! empty($const["check"])) if (! empty($const["check"]))
{ {
if (dolibarr_set_const($db, $const["name"], $const["value"], $const["type"], 1, $const["note"], $const["entity"]) < 0) if (dolibarr_set_const($db, $const["name"], $const["value"], $const["type"], 1, $const["note"], $const["entity"]) >= 0)
{
$nbmodified++;
}
else
{ {
dol_print_error($db); dol_print_error($db);
} }
} }
} }
if ($nbmodified > 0) setEventMessage($langs->trans("RecordSaved"));
$action='';
} }
// Delete several lines at once // Mass delete
if (! empty($consts) && $delete == $langs->trans("Delete")) if (! empty($consts) && $action == 'delete')
{ {
$nbdeleted=0;
foreach($consts as $const) foreach($consts as $const)
{ {
if (! empty($const["check"])) // Is checkbox checked if (! empty($const["check"])) // Is checkbox checked
{ {
if (dolibarr_del_const($db, $const["rowid"], -1) < 0) if (dolibarr_del_const($db, $const["rowid"], -1) >= 0)
{
$nbdeleted++;
}
else
{ {
dol_print_error($db); dol_print_error($db);
} }
} }
} }
if ($nbdeleted > 0) setEventMessage($langs->trans("RecordDeleted"));
$action='';
} }
// Delete line from delete picto // Delete line from delete picto
if ($action == 'delete') if ($action == 'delete')
{ {
if (dolibarr_del_const($db, $rowid, $entity) < 0) if (dolibarr_del_const($db, $rowid, $entity) >= 0)
{
setEventMessage($langs->trans("RecordDeleted"));
}
else
{ {
dol_print_error($db); dol_print_error($db);
} }
...@@ -130,11 +155,13 @@ jQuery(document).ready(function() { ...@@ -130,11 +155,13 @@ jQuery(document).ready(function() {
jQuery("#delconst").hide(); jQuery("#delconst").hide();
jQuery(".checkboxfordelete").click(function() { jQuery(".checkboxfordelete").click(function() {
jQuery("#delconst").show(); jQuery("#delconst").show();
jQuery("#action").val('delete');
}); });
jQuery(".inputforupdate").keypress(function() { jQuery(".inputforupdate").keypress(function() {
var field_id = jQuery(this).attr("id"); var field_id = jQuery(this).attr("id");
var row_num = field_id.split("_"); var row_num = field_id.split("_");
jQuery("#updateconst").show(); jQuery("#updateconst").show();
jQuery("#action").val('update');
jQuery("#check_" + row_num[1]).attr("checked",true); jQuery("#check_" + row_num[1]).attr("checked",true);
}); });
}); });
...@@ -196,6 +223,7 @@ print "\n"; ...@@ -196,6 +223,7 @@ print "\n";
print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">'; print '<form action="'.$_SERVER["PHP_SELF"].((empty($user->entity) && $debug)?'?debug=1':'').'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" id="action" name="action" value="">';
// Show constants // Show constants
$sql = "SELECT"; $sql = "SELECT";
......
...@@ -58,6 +58,7 @@ NbOfEntries=Nb of entries ...@@ -58,6 +58,7 @@ NbOfEntries=Nb of entries
GoToWikiHelpPage=Read online help (need Internet access) GoToWikiHelpPage=Read online help (need Internet access)
GoToHelpPage=Read help GoToHelpPage=Read help
RecordSaved=Record saved RecordSaved=Record saved
RecordDeleted=Record deleted
LevelOfFeature=Level of features LevelOfFeature=Level of features
NotDefined=Not defined NotDefined=Not defined
DefinedAndHasThisValue=Defined and value to DefinedAndHasThisValue=Defined and value to
......
...@@ -58,6 +58,7 @@ NbOfEntries=Nb d'entrées ...@@ -58,6 +58,7 @@ NbOfEntries=Nb d'entrées
GoToWikiHelpPage=Consulter l'aide (nécessite un accès internet) GoToWikiHelpPage=Consulter l'aide (nécessite un accès internet)
GoToHelpPage=Consulter l'aide GoToHelpPage=Consulter l'aide
RecordSaved=Enregistrement sauvegardé RecordSaved=Enregistrement sauvegardé
RecordDeleted=Enregistrement supprimé
LevelOfFeature=Niveau de fonctionnalités LevelOfFeature=Niveau de fonctionnalités
NotDefined=Non défini NotDefined=Non défini
DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr est configuré en mode authentification <b>%s</b> dans son fichier de configuration <b>conf.php</b>.<br>Cela signifie que la base des mots de passe est externe à Dolibarr, aussi toute modification de ce champ peut s'avérer sans effet. DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr est configuré en mode authentification <b>%s</b> dans son fichier de configuration <b>conf.php</b>.<br>Cela signifie que la base des mots de passe est externe à Dolibarr, aussi toute modification de ce champ peut s'avérer sans effet.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment