我一直在为一家小型公司使用vTiger CRM,以简化其管理。到目前为止,一切都很好。但是我偶然发现了以下问题:
由于某些未知原因,我无法将新用户添加到CRM。用户名字段设置为必填,但显示为灰色,如下图所示:
在询问要在这里做什么之前,我已经尝试了几件事:
SELECT * FROM vtiger_field WHERE uitype = 4
,但是它仅返回应该被禁用的字段。不是用户名之一。检查元素后,我认为它已设置为readonly=""
。但是,搜索任何模板文件都layouts/vlayout/modules/Users/*.tpl
不会显示任何内容。因此,我认为某些php或与javascript结合使用的json会改变这一点。元素的完整代码为:
<input id="Users_editView_fieldName_user_name" class="input-large " data-validation-engine="validate[required,funcCall[Vtiger_Base_Validator_Js.invokeValidation]]" name="user_name" value="" readonly="" data-fieldinfo="{"mandatory":true,"presence":true,"quickcreate":false,"masseditable":true,"defaultvalue":false,"type":"string","name":"user_name","label":"Gebruikersnaam"}" type="text">
因此,现在我对如何解决此问题有点茫然。是否有人对此有经验或知道如何解决?
原来,用户名字段的uitype
设置为106
。深入研究vTigers代码后,我发现我的一个模块在其中进行了修正modules/Users/models/View.php
:
/**
* Function to check whether the current field is read-only
* @return <Boolean> - true/false
*/
public function isReadOnly() {
$currentUserModel = Users_Record_Model::getCurrentUserModel();
if(($currentUserModel->isAdminUser() == false && $this->get('uitype') == 98) || $this->get('uitype') == 106 || $this->get('uitype') == 156 || $this->get('uitype') == 115) {
return true;
}
}
如您所见,它使用uitype = 106
:禁用字段$this->get('uitype') == 106
。解决的办法是简单地从if语句中删除该条件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句