Skip to content

Commit

Permalink
New Main checkbox left column to manage this conf for each users (#30439
Browse files Browse the repository at this point in the history
)

Co-authored-by: Hystepik <[email protected]>
Co-authored-by: Laurent Destailleur <[email protected]>
  • Loading branch information
3 people authored Jul 26, 2024
1 parent bcb63ae commit a4908ab
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 8 deletions.
6 changes: 6 additions & 0 deletions htdocs/core/class/conf.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ class Conf extends stdClass
public $format_date_hour_text;

public $liste_limit;
public $main_checkbox_left_column;

public $tzuserinputkey = 'tzserver'; // Use 'tzuserrel' to always store date in GMT and show date in time zone of user.

Expand Down Expand Up @@ -822,6 +823,11 @@ public function setValues($db)
}
}

// conf->main_checkbox_left_column = constant to set checkbox list to left
if (!isset($this->main_checkbox_left_column)) {
$this->main_checkbox_left_column = getDolGlobalInt("MAIN_CHECKBOX_LEFT_COLUMN");
}

// Set PRODUIT_LIMIT_SIZE if never defined
if (!isset($this->global->PRODUIT_LIMIT_SIZE)) {
$this->global->PRODUIT_LIMIT_SIZE = 1000;
Expand Down
9 changes: 8 additions & 1 deletion htdocs/core/lib/functions2.lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -1777,7 +1777,14 @@ function dol_set_user_param($db, $conf, &$user, $tab)

foreach ($tab as $key => $value) {
// Set new parameters
if ($value) {
$forcevalue = 0;
if (is_array($value)) {
if ($value["forcevalue"] == 1) {
$forcevalue = 1;
}
$value = $value["value"];
}
if ($forcevalue == 1 || $value) {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."user_param(fk_user,entity,param,value)";
$sql .= " VALUES (".((int) $user->id).",".((int) $conf->entity).",";
$sql .= " '".$db->escape($key)."','".$db->escape($value)."')";
Expand Down
4 changes: 4 additions & 0 deletions htdocs/main.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -1355,6 +1355,10 @@ function analyseVarsForSqlAndScriptsInjection(&$var, $type, $stopcode = 1)
$conf->liste_limit = 20;
}
}
// Set main_checkbox_left_column from user setup
if (isset($user->conf->MAIN_CHECKBOX_LEFT_COLUMN)) { // If a user setup exists
$conf->main_checkbox_left_column = getDolUserInt('MAIN_CHECKBOX_LEFT_COLUMN'); // Can be 0
}

// Replace conf->css by personalized value if theme not forced
if (!getDolGlobalString('MAIN_FORCETHEME') && getDolUserString('MAIN_THEME')) {
Expand Down
14 changes: 7 additions & 7 deletions htdocs/modulebuilder/template/myobject_list.php
Original file line number Diff line number Diff line change
Expand Up @@ -584,7 +584,7 @@
}

$varpage = empty($contextpage) ? $_SERVER["PHP_SELF"] : $contextpage;
$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')); // This also change content of $arrayfields with user setup
$htmlofselectarray = $form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage, $conf->main_checkbox_left_column); // This also change content of $arrayfields with user setup
$selectedfields = ($mode != 'kanban' ? $htmlofselectarray : '');
$selectedfields .= (count($arrayofmassactions) ? $form->showCheckAddButtons('checkforselect', 1) : '');

Expand All @@ -595,7 +595,7 @@
// --------------------------------------------------------------------
print '<tr class="liste_titre_filter">';
// Action column
if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if ($conf->main_checkbox_left_column) {
print '<td class="liste_titre center maxwidthsearch">';
$searchpicto = $form->showFilterButtons('left');
print $searchpicto;
Expand Down Expand Up @@ -647,7 +647,7 @@
print '<td class="liste_titre"></td>';
}*/
// Action column
if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if (!$conf->main_checkbox_left_column) {
print '<td class="liste_titre center maxwidthsearch">';
$searchpicto = $form->showFilterButtons();
print $searchpicto;
Expand All @@ -662,7 +662,7 @@
// --------------------------------------------------------------------
print '<tr class="liste_titre">';
// Action column
if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if ($conf->main_checkbox_left_column) {
print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n";
$totalarray['nbfield']++;
}
Expand Down Expand Up @@ -694,7 +694,7 @@
$totalarray['nbfield']++;
}*/
// Action column
if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if (!$conf->main_checkbox_left_column) {
print getTitleFieldOfList($selectedfields, 0, $_SERVER["PHP_SELF"], '', '', '', '', $sortfield, $sortorder, 'center maxwidthsearch ')."\n";
$totalarray['nbfield']++;
}
Expand Down Expand Up @@ -766,7 +766,7 @@
print '<tr data-rowid="'.$object->id.'" class="oddeven">';

// Action column
if (getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if ($conf->main_checkbox_left_column) {
print '<td class="nowrap center">';
if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0;
Expand Down Expand Up @@ -843,7 +843,7 @@
}*/

// Action column
if (!getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN')) {
if (!$conf->main_checkbox_left_column) {
print '<td class="nowrap center">';
if ($massactionbutton || $massaction) { // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined
$selected = 0;
Expand Down
24 changes: 24 additions & 0 deletions htdocs/user/param_ihm.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@
$tabparam["MAIN_SIZE_LISTE_LIMIT"] = '';
}

if (GETPOST("check_MAIN_CHECKBOX_LEFT_COLUMN") == "on") {
$tabparam["MAIN_CHECKBOX_LEFT_COLUMN"] = array("forcevalue" => 1, "value" => GETPOSTINT("MAIN_CHECKBOX_LEFT_COLUMN"));
} else {
$tabparam["MAIN_CHECKBOX_LEFT_COLUMN"] = '';
}

if (GETPOST("check_MAIN_SIZE_SHORTLIST_LIMIT") == "on") {
$tabparam["MAIN_SIZE_SHORTLIST_LIMIT"] = GETPOSTINT("MAIN_SIZE_SHORTLIST_LIMIT");
} else {
Expand Down Expand Up @@ -325,6 +331,9 @@ function init_myfunc()
if (jQuery("#check_MAIN_LANG_DEFAULT").prop("checked")) { jQuery("#main_lang_default").removeAttr(\'disabled\'); }
else { jQuery("#main_lang_default").attr(\'disabled\',\'disabled\'); }
if (jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").prop("checked")) { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").removeAttr(\'disabled\');}
else { jQuery("#MAIN_CHECKBOX_LEFT_COLUMN").attr(\'disabled\',\'disabled\');}
if (jQuery("#check_MAIN_SIZE_LISTE_LIMIT").prop("checked")) { jQuery("#MAIN_SIZE_LISTE_LIMIT").removeAttr(\'disabled\'); }
else { jQuery("#MAIN_SIZE_LISTE_LIMIT").attr(\'disabled\',\'disabled\'); }
Expand All @@ -343,6 +352,7 @@ function init_myfunc()
init_myfunc();
jQuery("#check_MAIN_LANDING_PAGE").click(function() { init_myfunc(); });
jQuery("#check_MAIN_LANG_DEFAULT").click(function() { init_myfunc(); });
jQuery("#check_MAIN_CHECKBOX_LEFT_COLUMN").click(function() { init_myfunc(); });
jQuery("#check_MAIN_SIZE_LISTE_LIMIT").click(function() { init_myfunc(); });
jQuery("#check_MAIN_SIZE_SHORTLIST_LIMIT").click(function() { init_myfunc(); });
jQuery("#check_AGENDA_DEFAULT_VIEW").click(function() { init_myfunc(); });
Expand Down Expand Up @@ -398,6 +408,14 @@ function init_myfunc()
print $form->selectarray('AGENDA_DEFAULT_VIEW', $tmplist, (isset($object->conf->AGENDA_DEFAULT_VIEW) ? $object->conf->AGENDA_DEFAULT_VIEW : ''), 0, 0, 0, '');
print '</td></tr>'."\n";

// Checkbox left menu
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_CHECKBOX_LEFT_COLUMN").'</td>';
print '<td>'.(getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN') ? $langs->trans("Yes") : $langs->trans("No")).'</td>';
print '<td class="nowrap" width="20%"><input class="oddeven" name="check_MAIN_CHECKBOX_LEFT_COLUMN" id="check_MAIN_CHECKBOX_LEFT_COLUMN" type="checkbox" '.(isset($object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ? " checked" : "");
print empty($dolibarr_main_demo) ? '' : ' disabled="disabled"'; // Disabled for demo
print '> <label for="check_MAIN_CHECKBOX_LEFT_COLUMN">'.$langs->trans("UsePersonalValue").'</label></td>';
print '<td>'.$form->selectyesno("MAIN_CHECKBOX_LEFT_COLUMN", isset($object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ? $object->conf->MAIN_CHECKBOX_LEFT_COLUMN : getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN'), 1).'</td></tr>';

// Max size of lists
print '<tr class="oddeven"><td>'.$langs->trans("MaxSizeList").'</td>';
print '<td>' . getDolGlobalString('MAIN_SIZE_LISTE_LIMIT').'</td>';
Expand Down Expand Up @@ -533,6 +551,12 @@ function init_myfunc()
}
print '</td></tr>'."\n";

// Checkbox left menu
print '<tr class="oddeven"><td>'.$langs->trans("MAIN_CHECKBOX_LEFT_COLUMN").'</td>';
print '<td>'.(getDolGlobalString('MAIN_CHECKBOX_LEFT_COLUMN') ? $langs->trans("Yes") : $langs->trans("No")).'</td>';
print '<td class="nowrap" width="20%"><input class="oddeven" type="checkbox" disabled '.(isset($object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ? " checked" : "").'> '.$langs->trans("UsePersonalValue").'</td>';
print '<td>'.(isset($object->conf->MAIN_CHECKBOX_LEFT_COLUMN) ?( $object->conf->MAIN_CHECKBOX_LEFT_COLUMN == 1 ? $langs->trans("Yes") : $langs->trans("No")) : '&nbsp;').'</td></tr>';

// Max size for lists
print '<tr class="oddeven"><td>'.$langs->trans("MaxSizeList").'</td>';
print '<td>'.getDolGlobalString('MAIN_SIZE_LISTE_LIMIT', '&nbsp;').'</td>';
Expand Down

0 comments on commit a4908ab

Please sign in to comment.