How to Flexajax?
I Have a Question. I Need to Make Php Request to My Felexajax Function in vTiger, Can Anybody Help? This Is My Code: Menureorder. Php Class...
I have a question. I need to make PHP Request to my FelexAjax Function in vTiger, can anybody help?
This is my code: MenuReorder.php
class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {
public function process(Vtiger_Request $request) {
$adb = \PearDatabase::getInstance();
$modules = \FlexSuite\VtUtils::getEntityModules(true);
echo json_encode($modules);
}
public function validateRequest(Vtiger_Request $request) {
$request->validateWriteAccess();
}
}
This is my code: MenuEditor.js
$( document ).ready(function() {
FlexAjax("FlexSuite").postSettingsAction("MenuReorder", { parameter1:value1 }, "json").then(function(response) {
var RecordLabel = response.label;
});
});
1 Answer
Use the following code: PHP Side:
class Settings_FlexSuite_MenuReorder_Action extends Settings_Vtiger_Basic_Action {
public function checkPermission(Vtiger_Request $request) {
$currentUser = Users_Record_Model::getCurrentUserModel();
if(!$currentUser->isAdminUser()) {
throw new AppException(vtranslate('LBL_PERMISSION_DENIED', 'Vtiger'));
}
}
public function process(Vtiger_Request $request) {
$adb = \PearDatabase::getInstance();
$modules = \FlexSuite\VtUtils::getEntityModules(true);
$response = new Vtiger_Response();
$response->setResult($modules);
$response->emit();
}
}
Java Script Code:
$( document ).ready(function() {
params = {
data: {
module: 'FlexSuite',
parent: 'Settings',
action: 'MenuReorder',
}
};
app.helper.showProgress();
app.request.post(params).then(function(error, data) {
app.helper.hideProgress();
if(error === null) {
var RecordLabel = data.label;
app.helper.showSuccessNotification({message: RecordLabel});
}
});
});