我想根据自定义规则限制记录的编辑。我能够限制列表视图,但似乎无法使编辑限制工作。
在自定义控制器中,我有
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';
}
但是当我添加它时,无论何时我尝试编辑记录,它都会改为创建记录!
版本6.5.13。
(我的子类中也有代码,但现在已经注释掉了。)
class CustomOpportunity extends Opportunity {
// function ACLAccess($view,$is_owner='not_set') { ...
答案 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: - )