diff options
author | Adam Young <ayoung@redhat.com> | 2011-03-18 16:43:54 -0400 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2011-03-31 17:29:33 -0400 |
commit | 4270e26adb56b6d1b7a9e80433581b82519d9eec (patch) | |
tree | dcb0982b741d92c0be37e262e70b7cd0969e06d0 /install/ui/sudocmd.js | |
parent | db91321fd2c94680361ae8196ba9227615f92c39 (diff) | |
download | freeipa.git-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.gz freeipa.git-4270e26adb56b6d1b7a9e80433581b82519d9eec.tar.xz freeipa.git-4270e26adb56b6d1b7a9e80433581b82519d9eec.zip |
define entities using builder and more declarative syntax
merged hbac and sudo in to single files
associaton facet and table supports linking
Diffstat (limited to 'install/ui/sudocmd.js')
-rw-r--r-- | install/ui/sudocmd.js | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/install/ui/sudocmd.js b/install/ui/sudocmd.js deleted file mode 100644 index 748ec4b8..00000000 --- a/install/ui/sudocmd.js +++ /dev/null @@ -1,271 +0,0 @@ -/*jsl:import ipa.js */ - -/* Authors: - * Endi Sukma Dewata <edewata@redhat.com> - * - * Copyright (C) 2010 Red Hat - * see file 'COPYING' for use and warranty information - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js, sudorule.js */ - -IPA.entity_factories.sudocmd = function () { - - var that = IPA.entity({ - 'name': 'sudocmd' - }); - - that.init = function() { - - var facet = IPA.sudocmd_search_facet({ - 'name': 'search', - 'label': IPA.messages.facets.search - }); - - var dialog = IPA.sudo.cmd_add_dialog({ - 'name': 'add', - 'title': IPA.messages.objects.sudocmd.add - }); - facet.dialog(dialog); - - that.add_facet(facet); - - facet = IPA.sudocmd_details_facet({ - 'name': 'details' - }); - that.add_facet(facet); - - that.entity_init(); - }; - - return that; -}; - - -IPA.sudo.cmd_add_dialog = function (spec) { - - spec = spec || {}; - - var that = IPA.add_dialog(spec); - - that.init = function() { - - that.add_field(IPA.text_widget({name:'sudocmd', undo: false})); - that.add_field(IPA.text_widget({name:'description', undo: false})); - - that.add_dialog_init(); - }; - - return that; -}; - - -IPA.sudocmd_search_facet = function (spec) { - - spec = spec || {}; - - var that = IPA.search_facet(spec); - - that.init = function() { - - that.create_column({name:'sudocmd', primary_key: true}); - that.create_column({name:'description'}); - - that.search_facet_init(); - }; - - return that; -}; - - -IPA.sudocmd_details_facet = function (spec) { - - spec = spec || {}; - - var that = IPA.details_facet(spec); - - that.init = function() { - - var section = IPA.details_list_section({ - 'name': 'general', - 'label': IPA.messages.details.general - }); - that.add_section(section); - - section.text({'name': 'sudocmd'}); - section.text({'name': 'description'}); - - section = IPA.details_section({ - 'name': 'groups', - 'label': IPA.messages.objects.sudocmd.groups - }); - that.add_section(section); - - var field = IPA.sudocmd_member_sudocmdgroup_table_widget({ - 'name': 'memberof_sudocmdgroup', - 'label': IPA.messages.objects.sudocmd.groups, - 'other_entity': 'sudocmdgroup', - 'save_values': false - }); - section.add_field(field); - - that.details_facet_init(); - }; - - return that; -}; - - -IPA.sudocmd_member_sudocmdgroup_table_widget = function (spec) { - - spec = spec || {}; - - var that = IPA.association_table_widget(spec); - - that.init = function() { - - var column = that.create_column({ - name: 'cn', - primary_key: true, - width: '150px' - }); - - column.setup = function(container, record) { - container.empty(); - - var value = record[column.name]; - value = value ? value.toString() : ''; - - $('<a/>', { - 'href': '#'+value, - 'click': function (value) { - return function() { - var state = IPA.tab_state(that.other_entity); - state[that.other_entity + '-facet'] = 'details'; - state[that.other_entity + '-pkey'] = value; - $.bbq.pushState(state); - return false; - }; - }(value), - 'html': value - }).appendTo(container); - }; - - that.create_column({ - name: 'description', - width: '150px' - }); - - that.create_adder_column({ - name: 'cn', - primary_key: true, - width: '100px' - }); - - that.create_adder_column({ - name: 'description', - width: '100px' - }); - - that.association_table_widget_init(); - }; - - that.get_records = function(on_success, on_error) { - - if (!that.values.length) return; - - var batch = IPA.batch_command({ - 'name': that.entity_name+'_'+that.name+'_show', - 'on_success': on_success, - 'on_error': on_error - }); - - for (var i=0; i<that.values.length; i++) { - var value = that.values[i]; - - var command = IPA.command({ - 'method': that.other_entity+'_show', - 'args': [value], - 'options': { - 'all': true, - 'rights': true - } - }); - - batch.add_command(command); - } - - batch.execute(); - }; - - that.add = function(values, on_success, on_error) { - - if (!values.length) return; - - var batch = IPA.batch_command({ - 'name': that.entity_name+'_'+that.name+'_add', - 'on_success': on_success, - 'on_error': on_error - }); - - var pkey = $.bbq.getState(that.entity_name + '-pkey', true) || ''; - - for (var i=0; i<values.length; i++) { - var value = values[i]; - - var command = IPA.command({ - 'method': that.other_entity+'_add_member', - 'args': [value] - }); - - command.set_option('sudocmd', pkey); - - batch.add_command(command); - } - - batch.execute(); - }; - - that.remove = function(values, on_success, on_error) { - - if (!values.length) return; - - var batch = IPA.batch_command({ - 'name': that.entity_name+'_'+that.name+'_remove', - 'on_success': on_success, - 'on_error': on_error - }); - - var pkey = $.bbq.getState(that.entity_name + '-pkey', true) || ''; - - for (var i=0; i<values.length; i++) { - var value = values[i]; - - var command = IPA.command({ - 'method': that.other_entity+'_remove_member', - 'args': [value] - }); - - command.set_option('sudocmd', pkey); - - batch.add_command(command); - } - - batch.execute(); - }; - - return that; -}; |