vTiger CRM 6.3 Невозможно добавить нового пользователя: имя пользователя недоступно

Я работал с vTiger CRM для небольшой компании, чтобы упростить их администрирование. Пока все отлично работает. Но я наткнулся на следующую проблему:

По какой-то неизвестной причине я не могу добавить новых пользователей в CRM. Поле имени пользователя установлено на обязательное, но затемнено, как показано на следующем рисунке:

Поле имени пользователя затенено

Я попробовал пару вещей, прежде чем спросить, что делать здесь:

  • Убедитесь, что есть установленные роли, профили и группы.
  • Обыскал базу данных CRM, смогу ли я найти то, что именно для поля отключено с помощью SELECT * FROM vtiger_field WHERE uitype = 4, но он вернул только те поля, которые должны быть отключены. Не логин один.
  • Искал в Google, если кто-то еще испытывал такую ​​же проблему. Нет результатов.
  • Проверено, могу ли я редактировать поля через студию. Однако поля для пользователей не могут быть изменены.

После проверки элемента я понял, что он установлен на 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">

Так что сейчас я немного растерялся, как решить эту проблему. У кого-нибудь есть опыт с этим или знает как это исправить?

1 ответ

Решение

Оказывается, что имя пользователя поля 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.

Другие вопросы по тегам