Динамическое управление включением механизма прав доступа
Добрый день!
Возникла потребность на карточке объекта, для которого в разделе права доступа к объекту настроено администрирование по колонкам, в зависимости от пользователя, включать или выключать данное администрирование, проверку прав.
Нашел модуль SecurutyUtilities, метод checkColumnsEditRight, который как мне кажется выполняет данную проверку, одна при открытии карточки отладчик не попадает в этот метод.
Подскажите, в какую сторону копать, какой метод или сервис можно переопределить для решения данной задачи.
Нравится
Этот метод используется только в схеме OrderPageV2 пакета Order:
/** * Validates payment status and change if valid. * @protected * @param {Function} callback The callback function. * @param {Object} scope Environment object callback function. */ validatePaymentStatus: function(callback, scope) { if (this.validate()) { var parameters = { columnNames: ["PaymentStatus"], callback: this.handleColumnRightsAvailability.bind(this, callback, scope) }; this.checkColumnsEditRight.call(this, parameters); } else { callback.call(scope || this); } }, /** * Handles column rights availability. * @private * @param {Function} callback The callback function. * @param {Object} scope Environment object callback function. * @param {Object} columnRights Rights of column. */ handleColumnRightsAvailability: function(callback, scope, columnRights) { if (columnRights.PaymentStatus) { this.changePaymentStatus(callback, scope || this); } else { callback.call(scope || this); } },
Но права доступа определяются на стороне сервера и не уверен, что на стороне браузера получится их регулировать.
Вообще, непонятно, чем отличаются обычные права по колонкам от того, что Вы хотите. Если у пользователя есть права, он видит или может менять значение поля, нет — не может.