vTiger CRM 6.3 无法添加新用户:用户名灰显

vTiger CRM 6.3 Unable to add new user: username grayed out

我一直在为一家小公司使用 vTiger CRM 来简化他们的管理。到目前为止,一切都很好。但我偶然发现了以下问题:

由于某些未知原因,我无法将新用户添加到 CRM。用户名字段设置为必填,但显示为灰色,如下图所示:

在询问这里要做什么之前,我已经尝试了几件事:

检查元素后,我认为它已设置为 readonly=""。然而,搜索 layouts/vlayout/modules/Users/*.tpl 中的任何模板文件都没有发现任何结果。所以我认为 php 或 json 与 javascript 的结合正在改变这一点。元素的完整代码为:

<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 语句中删除该条件。