编程语言
首页 > 编程语言> > javascript – 使用AJAX更新SugarCRM SubPanel中的状态

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