在SugarCRM中限制对Edit的访问

时间:2014-02-19 05:13:40

标签: php sugarcrm sugarbean

我想根据自定义规则限制记录的编辑。我能够限制列表视图,但似乎无法使编辑限制工作。

在自定义控制器中,我有

class CustomOpportunitiesController extends SugarController { 

protected function action_editview() {
    $this->bean = new CustomOpportunity();
    // parent::action_editview(); // There is no action_editview() in SugarController
    $this->view_object_map['bean'] = $this->bean;
    $this->view = 'edit';
}

但是当我添加它时,无论何时我尝试编辑记录,它都会改为创建记录!

绝对没有(有用的)文档。 http://support.sugarcrm.com/02_Documentation/04_Sugar_Developer/Sugar_Developer_Guide_6.5/02_Application_Framework/ACL

版本6.5.13。

(我的子类中也有代码,但现在已经注释掉了。)

class CustomOpportunity extends Opportunity {
    // function ACLAccess($view,$is_owner='not_set') {  ...

1 个答案:

答案 0 :(得分:2)

有很多方法可以实现这一目标。如果我们在您的代码中使用自定义控制器,您可以尝试这样做:

public function action_editview()
{
    /* Set view */
    if (/*your condition here*/)
    {
        $this->view = 'noaccess';
    }
    else
    {
        $this->view = 'edit';
    }
}

希望这有帮助!

聚苯乙烯。您的代码似乎创建新记录的原因似乎是由于“$ this-> bean = new CustomOpportunity();” -line,用新的新记录覆盖你要编辑的bean: - )