SugarCRM根据当前用户帐户的自定义字段筛选搜索结果
我在“User”和“CustomModule”中都有自定义字段“country\u id\u c”,我需要限制用户只能看到来自其所在地区的行(按country\u id\u c过滤)。 有两种搜索表格:SugarCRM根据当前用户帐户的自定义字段筛选搜索结果,sugarcrm,Sugarcrm,我在“User”和“CustomModule”中都有自定义字段“country\u id\u c”,我需要限制用户只能看到来自其所在地区的行(按country\u id\u c过滤)。 有两种搜索表格: 当您从菜单中看到CustomModule的搜索结果时 使用将CustomModule作为关系添加到其他模块时 选择器(弹出窗口) 我发现如何在1种情况下使用硬编码值过滤结果: 文件:custom/modules/CustomModule/metadata/SearchFields.php $se
$searchFields['CustomModule'] = array (
...
'country_id_c' =>
array (
'query_type' => 'format',
'operator' => '=',
'value' => 'Argentina',
'db_field'=>array('country_id_c',)
),
...
这里我缺少的是如何获取当前登录用户的国家/地区id。以及如何对(2)搜索表单执行相同操作。您可以通过添加以下内容来访问该值:
globals $current_user;
$current_user->country_id_c
如果这回答了你的问题,你能给出反馈吗?不幸的是,这不起作用。即使在添加访问此对象所需的
globals$current\u user
之后,$current\u user
内部也不包含自定义变量$country\u id\u c
(可能需要以某种方式加载它)。有什么建议吗?当然,对不起,globals$当前用户;这是需要的。您是否已将自定义变量正确添加到vardefs?请发布您的vardef,然后我尝试在我的机器上重现问题。您是对的,它可以工作。在本模块中它被命名为country_c,这就是我第一次找不到它的原因。请编辑答案并添加globals$current\u用户,好吗?你知道我如何对关系选择器列表做同样的操作吗?你的意思是:$this->bean->load_relationship('aRelationship')$关系=$this->bean->aRelationship->get();