diff --git a/cms/static/js/views/baseview.js b/cms/static/js/views/baseview.js index a0b1975e04..a7813cc7dd 100644 --- a/cms/static/js/views/baseview.js +++ b/cms/static/js/views/baseview.js @@ -26,6 +26,14 @@ define(["jquery", "underscore", "backbone", "gettext", "js/utils/handle_iframe_b //override the constructor function constructor: function(options) { _.bindAll(this, 'beforeRender', 'render', 'afterRender'); + + // Merge passed options and view's options property and + // attach to the view's options property + if (this.options) { + options = _.extend({}, _.result(this, 'options'), options); + } + this.options = options; + var _this = this; this.render = _.wrap(this.render, function (render, options) { _this.beforeRender(); diff --git a/cms/static/js/views/manage_users_and_roles.js b/cms/static/js/views/manage_users_and_roles.js index f9d154696e..e2b065ffab 100644 --- a/cms/static/js/views/manage_users_and_roles.js +++ b/cms/static/js/views/manage_users_and_roles.js @@ -100,8 +100,8 @@ define(['jquery', 'underscore', 'gettext', "js/views/baseview", }; var roleEvents = {}; var self = this; - for (var i = 0; i < self.roles.length; i++) { - var role_name = self.roles[i].key; + for (var i = 0; i < self.options.roles.length; i++) { + var role_name = self.options.roles[i].key; var role_selector = 'click .user-actions .make-' + role_name; (function (role) {