javascript – 使用AJAX更新SugarCRM SubPanel中的状态
作者:互联网
我想使用AJAX来更新SugarCRM SubPanel中的记录状态.下面是我正在处理的项目管理模块的图像.
在图像中,您可以更好地了解我想要实现的目标.在左栏中,我想添加一个新按钮,允许用户快速将项目任务记录标记为已完成.这可以通过将该记录的“状态”字段更改为“完成”来完成.
我可以弄清楚如何添加我的新按钮,但我不知道如何以这种方式更新记录的状态.我可以找出JavaScript来进行AJAX调用并更新UI,但我真的不知道在哪里有我的AJAX POST和类似的东西来更新记录.
我是否需要创建一个新的Controller,以便我有一个URL发布到?我希望有一个简单的解决方案,但如果没有,也许熟悉SugarCRM的人可能会指出我正确的方向?
我希望在这件事上有任何帮助让我更接近完成.
解决方法:
您可以在自定义目录中的JS文件中创建AJAX …
自定义/模块/项目/ JavaScript的/ ajax.js
function updateStatus(project_task_id) {
if (project_task_id) {
$.ajax({
url: 'index.php?to_pdf=true&module=Project&action=ChangeProjectTaskStatus&id=' + project_task_id,
success: function() {
// Reload subpanel
showSubPanel('projects_project_tasks', null, true);
}
});
}
然后使用与文件名匹配的操作创建一个新的PHP文件…
自定义/模块/项目/ ChangeProjectTaskStatus.php
<?php
if (!defined('sugarEntry') || !sugarEntry)
die('Not A Valid Entry Point');
$project_task = BeanFactory::getBean('ProjectTask');
$project_task->retrieve($_GET['project_task_id']);
// Update status logic goes here
$project_task->save();
exit();
标签:php,javascript,ajax,sugarcrm 来源: https://codeday.me/bug/20190629/1325773.html