Динамическое управление включением механизма прав доступа
Добрый день!
Возникла потребность на карточке объекта, для которого в разделе права доступа к объекту настроено администрирование по колонкам, в зависимости от пользователя, включать или выключать данное администрирование, проверку прав.
Нашел модуль 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);
}
},Но права доступа определяются на стороне сервера и не уверен, что на стороне браузера получится их регулировать.
Вообще, непонятно, чем отличаются обычные права по колонкам от того, что Вы хотите. Если у пользователя есть права, он видит или может менять значение поля, нет — не может.