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.