Change dashboard editor save request method from GET to POST

This commit is contained in:
Benjamin DALSASS
2026-01-26 14:10:16 +01:00
parent e9a5d1a65e
commit 390b5c0bc3
2 changed files with 15 additions and 7 deletions

View File

@@ -321,8 +321,12 @@ class IboDashboard extends HTMLElement {
// This payload shape is expected by the server
const aPayload = this.Serialize();
let sSaveUrl = GetAbsoluteUrlAppRoot() + '/pages/UI.php?route=dashboard.save&values='+encodeURIComponent(JSON.stringify(aPayload));
fetch(sSaveUrl)
let sSaveUrl = GetAbsoluteUrlAppRoot() + '/pages/UI.php?route=dashboard.save';
fetch(sSaveUrl, {
method: "POST",
body: new URLSearchParams({ values: JSON.stringify(aPayload) }),
})
.then(async data => {
const res = await data.json();
if(res.status === 'ok') {

View File

@@ -97,7 +97,7 @@ class DashboardController extends Controller
public function OperationSave()
{
$sViewData = utils::ReadParam('values', '', false, utils::ENUM_SANITIZATION_FILTER_RAW_DATA);
$sViewData = utils::ReadPostedParam('values', '', utils::ENUM_SANITIZATION_FILTER_RAW_DATA);
$aViewData = !empty($sViewData) ? json_decode($sViewData, true, 20) : [];
try {
@@ -127,7 +127,8 @@ class DashboardController extends Controller
$aFormErrors = $oForm->getErrors(true, true);
$sMessage = $aFormErrors->__toString();
}
} catch (Exception $e) {
}
catch (Exception $e) {
IssueLog::Exception($e->getMessage(), $e);
$sStatus = 'error';
$sMessage = $e->getMessage();
@@ -135,10 +136,11 @@ class DashboardController extends Controller
$oPage = new JsonPage();
$oPage->SetData([
'status' => $sStatus,
'status' => $sStatus,
'message' => $sMessage,
]);
$oPage->SetOutputDataOnly(true);
return $oPage;
}
@@ -203,9 +205,11 @@ class DashboardController extends Controller
$oDoc = utils::ReadPostedDocument('dashboard_upload_file');
$oDashboard->FromXml($oDoc->GetData());
$oDashboard->PersistDashboard($oDoc->GetData());
} catch (DOMException $e) {
}
catch (DOMException $e) {
$aResult = ['error' => Dict::S('UI:Error:InvalidDashboardFile')];
} catch (Exception $e) {
}
catch (Exception $e) {
$aResult = ['error' => $e->getMessage()];
}
} else {