根据用户详细信息中的值,editview在editview中显示字段

时间:2017-01-24 15:02:20

标签: php sugarcrm sugarbean

我试图根据userdetails中的fieldvale在editview中单独显示一个字段。

例如:对于用户can_add_no将包含在用户详细信息中,如果选中该用户,则该特定用户可以在quote_extra_no模块中添加quote

我尝试了以下内容。为字段添加了引用模块的依赖项。

$dictionary['Quote']['fields']['quote_extra_no'] = array (
    'audited'                   => true,
    'calculated'                => false,
    'duplicate_merge'           => 'disabled',
    'duplicate_merge_dom_value' => '0',
    'importable'                => 'true',
    'len'                       => '255',
    'massupdate'                => false,
    'merge_filter'              => 'disabled',
    'name'                      => 'quote_extra_no',
    'no_default'                => true,
    'reportable'                => true,
    'required'                  => false,
    'size'                      => '50',
    'source'                    => 'custom_fields',
    'studio'                    => 'visible',
    'type'                      => 'varchar',
    'unified_search'            => false,
    'vname'                     => 'LBL_EXTRA_REF',
    'dependency'                => 'equal(related($assigned_user_link,"can_add_no"),"1")',
);

还在Editview中添加了该字段。但它不起作用。如果设置了当前用户can_add_no或勾选了复选框。他可以在报价的编辑视图中编辑quote_extra_no

我如何能够实现功能,因为依赖性并没有帮助我做到这一点。

1 个答案:

答案 0 :(得分:1)

有两种方法可以做到这两种方式,你应该在两个模块之间建立关系。

  1. 使用依赖关系:

    等于(相关($ related_field_name," can_add_no")," 1")'

  2. IN record.js在该方法中编写一个方法,为canadd_no调用api,并根据该节目隐藏该字段。

  3. API调用示例:

      app.api.call('read', app.api.buildURL(this.model.get('_module'), 'read', {id: this.model.get('id')}), null,
                    {
                        success: function(data) {
                              your costume code to hide
                            }
                        },
                    });
    

    More Info related to API