N°7371 - Remembers the choice done in the popup that appears when saving public and private logs at the same time (#636)

This commit is contained in:
Anne-Catherine
2025-01-30 15:55:34 +01:00
committed by GitHub
parent f1594ad974
commit 8a604c643e
4 changed files with 12 additions and 24 deletions

View File

@@ -32,7 +32,6 @@ $(function()
lock_token: null,
lock_watcher_period: 30, // Period (in seconds) between lock status update, uses the "activity_panel.lock_watcher_period" config. param.
lock_endpoint: null,
show_multiple_entries_submit_confirmation: true,
save_state_endpoint: null,
last_loaded_entries_ids: {},
load_more_entries_endpoint: null,
@@ -473,8 +472,10 @@ $(function()
}
let sStimulusCode = (undefined !== oData.stimulus_code) ? oData.stimulus_code : null
// If several entry forms filled, show a confirmation message
if ((true === this.options.show_multiple_entries_submit_confirmation) && (Object.keys(await this._GetEntriesFromAllForms()).length > 1)) {
// If several entry forms filled, show a confirmation message
if ((GetUserPreference('activity_panel.show_multiple_entries_submit_confirmation',true) === true
|| GetUserPreference('activity_panel.show_multiple_entries_submit_confirmation', true) === "true")
&& (Object.keys(await this._GetEntriesFromAllForms()).length > 1)) {
this._ShowEntriesSubmitConfirmation(sStimulusCode);
}
// Else push data directly to the server
@@ -823,7 +824,7 @@ $(function()
// };
// }
// });
const aFormElements = this.element.find(this.js_selectors.caselog_entry_form);
// Create an array of promises for each form element

View File

@@ -213,10 +213,14 @@ function SetUserPreference(sPreferenceCode, sPrefValue, bPersistent) {
} catch (err) {
sPreviousValue = undefined;
}
oUserPreferences[sPreferenceCode] = sPrefValue;
if (bPersistent && (sPrefValue != sPreviousValue)) {
ajax_request = $.post(GetAbsoluteUrlAppRoot()+'pages/ajax.render.php',
{operation: 'set_pref', code: sPreferenceCode, value: sPrefValue}); // Make it persistent
return $.post(GetAbsoluteUrlAppRoot()+'pages/ajax.render.php',
{operation: 'set_pref', code: sPreferenceCode, value: sPrefValue}, function (data) {
}).done(function() {
oUserPreferences[sPreferenceCode] = sPrefValue;
}); // Make it persistent
} else {
oUserPreferences[sPreferenceCode] = sPrefValue;
}
}

View File

@@ -132,7 +132,6 @@ class ActivityPanel extends UIBlock
$this->bAreEntriesSorted = false;
$this->bHasMoreEntriesToLoad = false;
$this->aLastLoadedEntriesIds = [];
$this->ComputedShowMultipleEntriesSubmitConfirmation();
}
/**
@@ -960,21 +959,6 @@ class ActivityPanel extends UIBlock
return $aSubBlocks;
}
/**
* @see static::$bShowMultipleEntriesSubmitConfirmation
* @return $this
* @throws \CoreException
* @throws \CoreUnexpectedValue
* @throws \MySQLException
*/
protected function ComputedShowMultipleEntriesSubmitConfirmation()
{
// Note: Test on a string is necessary as we can only store strings from the JS API, not booleans.
// Note 2: Do not invert the test to "=== 'true'" as it won't work. Default value is a bool ("true"), values from the DB are strings (true|false)
$this->bShowMultipleEntriesSubmitConfirmation = appUserPreferences::GetPref('activity_panel.show_multiple_entries_submit_confirmation', static::DEFAULT_SHOW_MULTIPLE_ENTRIES_SUBMI_CONFIRMATION) !== 'false';
return $this;
}
/**
* @return bool
* @throws \CoreException

View File

@@ -5,7 +5,6 @@ $('#{{ oUIBlock.GetId() }}').activity_panel({
lock_enabled: {{ oUIBlock.IsLockEnabled()|var_export }},
lock_watcher_period: {{ oUIBlock.GetLockWatcherPeriod() }},
lock_endpoint: {{ oUIBlock.GetLockEndpoint()|var_export|raw }},
show_multiple_entries_submit_confirmation: {{ oUIBlock.GetShowMultipleEntriesSubmitConfirmation()|var_export }},
save_state_endpoint: {{ oUIBlock.GetSaveStateEndpoint()|var_export|raw }},
last_loaded_entries_ids: {{ oUIBlock.GetLastEntryIds()|json_encode|raw }},
load_more_entries_endpoint: {{ oUIBlock.GetLoadMoreEntriesEndpoint()|var_export|raw }},