Ошибка доступа при редактировании профилей

Всем привет! У меня небольшая ошибка в админке при редактировании сабАдмином профиля пользователя «Доступ запрещен»:



Под катом результаты поисков ->
Я начал искать причину, открыл контроллер пользователя, права проверить, всё нормально вроде, нужные стоят.
Потом я понял, что ошибка возникает на вкладке «Настройки» в профиле:



Суперюзер там всё видит нормально, параметры видит.

У сабАдмина все права, связанные с редактированием/созданием/удалением пользователей, просмотром ролей и групп есть.

Я решил глянуть тогда контроллер этой странички настроек:
<?php
include_once MODX_CORE_PATH . 'model/modx/processors/system/settings/getlist.class.php';
/**
 * Gets a list of user settings
 *
 * @param integer $user The user to grab from
 * @param integer $start (optional) The record to start at. Defaults to 0.
 * @param integer $limit (optional) The number of records to limit to. Defaults
 * to 10.
 * @param string $sort (optional) The column to sort by. Defaults to key.
 * @param string $dir (optional) The direction of the sort. Defaults to ASC.
 *
 * @package modx
 * @subpackage processors.system.settings
 */

class modUserSettingGetListProcessor extends modSystemSettingsGetListProcessor {
    public $classKey = 'modUserSetting';

    public function initialize() {
        $this->setDefaultProperties(array(
            'user' => 0,
        ));
        return parent::initialize();
    }

    /**
     * Filter by user
     * @return array
     */
    public function prepareCriteria() {
        $criteria = array();
        $criteria[] = array('user' => (int)$this->getProperty('user'));
        return $criteria;
    }

}

return 'modUserSettingGetListProcessor';
Не увидел ничего связанного с правами.
Пошел ext смотреть (manager/assets/widgets/core/security/modx.panel.user.js). Нашел, то место, где эта панель с настройками добавляется:
...
 if (config.user != 0) {
            f.push({
                title: _('settings')
                ,autoHeight: true
                ,defaults: { autoHeight: true }
                ,hideMode: 'offsets'
                ,items: [{
                    html: '<h3>'+_('user_settings')+'</h3><p>'+_('user_settings_desc')+'</p>'
					,bodyCssClass: 'panel-desc'
                    ,border: false
                },{
                    xtype: 'modx-grid-user-settings'
					,cls: 'main-wrapper'
                    ,preventRender: true
                    ,user: config.user
                    ,width: '97%'
                    ,listeners: {
                        'afterAutoSave':{fn:this.markDirty,scope:this}
                    }
                }]
            });
        }
...
Если закомментить это, то ошибка пропадает, ну и вкладка настроек тоже. Вот у меня и вопрос, где же ошибка? Может не там искал?
Виталий Барышников
12 мая 2016, 23:57
modx.pro
1 070
0

Комментарии: 1

Кирилл Киселев
29 декабря 2016, 14:24
0
Контроль доступа -> Политики доступа
Выбираешь ту политику, которая у тебя на сабАдмине стоит. Я выбрал политику Content Editor.
Переходишь в редактирование, ищешь разрешения:
namespacesВидеть и редактировать «Пространства имён»
settingsСмотреть и редактировать системные настройки
Отмечаешь их и сохраняешь. Перезагружаешь права доступа.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1