diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2012-11-26 14:28:32 +0100 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2013-01-18 15:10:36 +0100 |
commit | b9ef6ab0c412913234f05f788b3fcd3c3277eb69 (patch) | |
tree | 2af9ef49ce74fd152c4c7b6f0aad543b4793ba59 /install/ui/entitle.js | |
parent | 8f8e790d9468245c031320d6a506a420f486638f (diff) | |
download | freeipa.git-b9ef6ab0c412913234f05f788b3fcd3c3277eb69.tar.gz freeipa.git-b9ef6ab0c412913234f05f788b3fcd3c3277eb69.tar.xz freeipa.git-b9ef6ab0c412913234f05f788b3fcd3c3277eb69.zip |
Move of core Web UI files to AMD directory
SSIA
https://fedorahosted.org/freeipa/ticket/112
Diffstat (limited to 'install/ui/entitle.js')
-rw-r--r-- | install/ui/entitle.js | 745 |
1 files changed, 0 insertions, 745 deletions
diff --git a/install/ui/entitle.js b/install/ui/entitle.js deleted file mode 100644 index ccf82173..00000000 --- a/install/ui/entitle.js +++ /dev/null @@ -1,745 +0,0 @@ -/*jsl:import ipa.js */ - -/* Authors: - * Endi S. 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, facet.js, entity.js */ - - -IPA.entitle = {}; - -IPA.entitle.unregistered = 'unregistered'; -IPA.entitle.online = 'online'; -IPA.entitle.offline = 'offline'; - -IPA.entitle.entity = function(spec) { - - spec = spec || {}; - - var that = IPA.entity(spec); - - that.status = IPA.entitle.unregistered; - - that.init = function() { - that.entity_init(); - - that.builder.facet_groups([ 'account', 'certificates' ]). - details_facet({ - factory: IPA.entitle.details_facet, - label: IPA.messages.objects.entitle.account, - facet_group: 'account', - sections: [ - { - name: 'general', - label: IPA.messages.details.general, - fields: [ - { - name: 'uuid', - label: IPA.get_command_option('entitle_register', 'ipaentitlementid').label, - read_only: true - }, - { - factory: IPA.entitle.download_widget, - name: 'certificate', - label: IPA.messages.objects.entitle.certificate - } - ] - }, - { - name: 'status', - label: IPA.messages.objects.entitle.status, - fields: [ - { - name: 'product', - label: IPA.messages.objects.entitle.product, - read_only: true - }, - { - name: 'quantity', - label: IPA.get_command_arg('entitle_consume', 'quantity').label, - read_only: true - }, - { - name: 'consumed', - label: IPA.messages.objects.entitle.consumed, - read_only: true - } - ] - } - ] - }). - facet({ - factory: IPA.entitle.certificates_facet, - name: 'certificates', - label: IPA.messages.objects.entitle.certificates, - facet_group: 'certificates', - columns: [ - { - name: 'product', - label: IPA.messages.objects.entitle.product - }, - { - name: 'quantity', - label: IPA.get_command_arg('entitle_consume', 'quantity').label - }, - { - name: 'start', - label: IPA.messages.objects.entitle.start - }, - { - name: 'end', - label: IPA.messages.objects.entitle.end - }, - { - factory: IPA.entitle.certificate_column, - name: 'certificate', - label: IPA.messages.objects.entitle.certificate - } - ] - }). - standard_association_facets(). - dialog({ - factory: IPA.entitle.register_online_dialog, - name: 'online_registration', - title: IPA.messages.objects.entitle.registration, - fields: [ - { - name: 'username', - label: IPA.get_command_arg('entitle_register', 'username').label - }, - { - name: 'password', - label: IPA.get_command_option('entitle_register', 'password').label, - type: 'password' - } -/* currently not supported - , { - name: 'ipaentitlementid', - label: IPA.get_command_option('entitle_register', 'ipaentitlementid').label - } -*/ - ] - }). - dialog({ - factory: IPA.entitle.register_offline_dialog, - name: 'offline_registration', - title: IPA.messages.objects.entitle.import_certificate, - message: IPA.messages.objects.entitle.import_message, - fields: [ - { - name: 'certificate', - label: IPA.messages.objects.entitle.certificate - } - ] - }). - dialog({ - factory: IPA.entitle.consume_dialog, - name: 'consume', - title: IPA.messages.objects.entitle.consume_entitlement, - fields: [ - { - name: 'quantity', - label: IPA.get_command_arg('entitle_consume', 'quantity').label, - metadata: IPA.get_command_arg('entitle_consume', 'quantity') - } - ] - }). - dialog({ - factory: IPA.entitle.import_dialog, - name: 'import', - title: IPA.messages.objects.entitle.import_certificate, - message: IPA.messages.objects.entitle.import_message, - fields: [ - { - name: 'certificate', - label: IPA.messages.objects.entitle.certificate - } - ] - }); - }; - - that.get_accounts = function(on_success, on_error) { - - var command = IPA.command({ - name: 'entitle_find_'+that.status, - entity: 'entitle', - method: 'find', - options: { all: true }, - on_success: on_success, - on_error: on_error - }); - - command.execute(); - }; - - that.get_status = function(on_success, on_error) { - - var command = IPA.command({ - name: 'entitle_status_'+that.status, - entity: 'entitle', - method: 'status', - on_success: function(data, text_status, xhr) { - if (data.result.result.uuid == 'IMPORTED') { - that.status = IPA.entitle.offline; - } else { - that.status = IPA.entitle.online; - } - - if (on_success) { - on_success.call(this, data, text_status, xhr); - } - }, - on_error: function(xhr, text_status, error_thrown) { - that.status = IPA.entitle.unregistered; - - if (on_error) { - on_error.call(this, xhr, text_status, error_thrown); - } - }, - retry: false - }); - - command.execute(); - }; - - that.get_certificates = function(on_success, on_error) { - - var command = IPA.command({ - entity: 'entitle', - method: 'get', - on_success: on_success, - on_error: on_error, - retry: false - }); - - command.execute(); - }; - - that.register_online = function(username, password, ipaentitlementid, on_success, on_error) { - - var command = IPA.command({ - entity: 'entitle', - method: 'register', - args: [ username ], - options: { - password: password - }, - on_success: function(data, text_status, xhr) { - that.status = IPA.entitle.online; - if (on_success) { - on_success.call(this, data, text_status, xhr); - } - }, - on_error: on_error - }); - - if (ipaentitlementid) { - command.set_option('ipaentitlementid', ipaentitlementid); - } - - command.execute(); - }; - - that.register_offline = function(certificate, on_success, on_error) { - - var command = IPA.command({ - entity: 'entitle', - method: 'import', - args: [ certificate ], - on_success: function(data, text_status, xhr) { - that.status = IPA.entitle.offline; - if (on_success) { - on_success.call(this, data, text_status, xhr); - } - }, - on_error: on_error - }); - - command.execute(); - }; - - that.consume = function(quantity, on_success, on_error) { - - var command = IPA.command({ - entity: 'entitle', - method: 'consume', - args: [ quantity ], - on_success: on_success, - on_error: on_error - }); - - command.execute(); - }; - - that.import_certificate = function(certificate, on_success, on_error) { - - var command = IPA.command({ - entity: 'entitle', - method: 'import', - args: [ certificate ], - on_success: function(data, text_status, xhr) { - that.status = IPA.entitle.offline; - if (on_success) { - on_success.call(this, data, text_status, xhr); - } - }, - on_error: on_error - }); - - command.execute(); - }; - - return that; -}; - -IPA.entitle.details_facet = function(spec) { - - spec = spec || {}; - spec.disable_breadcrumb = true; - - var that = IPA.details_facet(spec); - - that.create_controls = function() { - - that.register_buttons = $('<span/>', { - name: 'register_buttons' - }).appendTo(that.controls); - - that.register_online_button = IPA.action_button({ - name: 'register', - label: IPA.messages.objects.entitle.register, - icon: 'register-icon', - click: function() { - var dialog = that.entity.get_dialog('online_registration'); - dialog.open(that.container); - return false; - } - }).appendTo(that.register_buttons); - - that.register_online_button.css('display', 'none'); -/* - that.register_offline_button = IPA.action_button({ - name: 'import', - label: IPA.messages.objects.entitle.import, - icon: 'import-icon', - click: function() { - var dialog = that.entity.get_dialog('offline_registration'); - dialog.open(that.container); - return false; - } - }).appendTo(that.register_buttons); - - that.register_offline_button.css('display', 'none'); -*/ - }; - - that.refresh = function() { - - var summary = $('span[name=summary]', that.container).empty(); - summary.append(IPA.messages.objects.entitle.loading); - - function on_success(data, text_status, xhr) { - if (that.entity.status == IPA.entitle.unregistered) { - that.register_online_button.css('display', 'inline'); - // that.register_offline_button.css('display', 'inline'); - - } else { - that.register_online_button.css('display', 'none'); - // that.register_offline_button.css('display', 'none'); - } - - that.load(data); - - summary.empty(); - } - - function on_error(xhr, text_status, error_thrown) { - - that.register_online_button.css('display', 'inline'); - // that.register_offline_button.css('display', 'inline'); - - var data = {}; - data.result = {}; - data.result.result = { - uuid: '', - product: '', - quantity: 0, - consumed: 0 - }; - that.load(data); - - summary.empty(); - summary.append(error_thrown.name+': '+error_thrown.message); - } - - that.entity.get_status( - on_success, - on_error); - }; - - return that; -}; - -IPA.entitle.certificates_facet = function(spec) { - - spec = spec || {}; - spec.disable_facet_tabs = false; - spec.selectable = false; - - var that = IPA.table_facet(spec); - - var init = function() { - that.init_table(that.entity); - }; - - that.create_header = function(container) { - - that.facet_create_header(container); - - that.consume_buttons = $('<span/>', { - name: 'consume_buttons' - }).appendTo(that.controls); - - that.consume_button = IPA.action_button({ - name: 'consume', - label: IPA.messages.objects.entitle.consume, - icon: 'consume-icon', - click: function() { - var dialog = that.entity.get_dialog('consume'); - dialog.open(that.container); - return false; - } - }).appendTo(that.consume_buttons); - - that.consume_button.css('display', 'none'); - - that.import_button = IPA.action_button({ - name: 'import', - label: IPA.messages.objects.entitle.import_button, - icon: 'import-icon', - click: function() { - var dialog = that.entity.get_dialog('import'); - dialog.open(that.container); - return false; - } - }).appendTo(that.consume_buttons); - - that.import_button.css('display', 'none'); - }; - - that.refresh = function() { - - function on_success(data, text_status, xhr) { - - if (that.entity.status == IPA.entitle.online) { - that.consume_button.css('display', 'inline'); - that.import_button.css('display', 'none'); - - } else if (that.entity.status == IPA.entitle.offline) { - that.consume_button.css('display', 'none'); - that.import_button.css('display', 'inline'); - - } else { - that.consume_button.css('display', 'none'); - that.import_button.css('display', 'inline'); - } - - that.load(data); - } - - function on_error(xhr, text_status, error_thrown) { - - that.consume_button.css('display', 'none'); - that.import_button.css('display', 'inline'); - - that.table.summary.text(error_thrown.name+': '+error_thrown.message); - } - - that.entity.get_status( - function(data, text_status, xhr) { - that.entity.get_certificates( - on_success, - on_error); - }, - on_error); - }; - - init(); - - return that; -}; - -IPA.entitle.certificate_column = function(spec) { - - spec = spec || {}; - - var that = IPA.column(spec); - - that.setup = function(container, record) { - - container.empty(); - - var certificate = record[that.name]; - - $('<a/>', { - href: '#download', - html: IPA.messages.objects.entitle.download, - click: function() { - var dialog = IPA.cert.download_dialog({ - title: IPA.messages.objects.entitle.download_certificate, - certificate: certificate - }); - dialog.open(); - return false; - } - }).appendTo(container); - }; - - return that; -}; - -IPA.entitle.certificate_dialog = function(spec) { - - spec = spec || {}; - - var that = IPA.dialog(spec); - - that.width = spec.width || 500; - that.height = spec.height || 400; - that.message = spec.message; - that.label = spec.label; - - that.get_certificate = function() { - var certificate = that.textarea.val(); - return IPA.cert.BEGIN_CERTIFICATE+'\n'+ - $.trim(certificate)+'\n'+ - IPA.cert.END_CERTIFICATE+'\n'; - }; - - that.create = function() { - that.container.append(that.message); - that.container.append('<br/>'); - that.container.append('<br/>'); - - that.container.append(IPA.cert.BEGIN_CERTIFICATE); - that.container.append('<br/>'); - - that.textarea = $('<textarea/>', { - style: 'width: 100%; height: 225px;' - }).appendTo(that.container); - - that.container.append('<br/>'); - that.container.append(IPA.cert.END_CERTIFICATE); - }; - - return that; -}; - -IPA.entitle.register_online_dialog = function(spec) { - - spec = spec || {}; - - var that = IPA.dialog(spec); - - that.create_button({ - name: 'register', - label: IPA.messages.objects.entitle.register, - click: function() { - var record = {}; - that.save(record); - - that.entity.register_online( - record.username[0], - record.password[0], - record.ipaentitlementid[0], - function() { - var facet = that.entity.get_facet(); - facet.refresh(); - that.close(); - } - ); - } - }); - - that.create_button({ - name: 'cancel', - label: IPA.messages.buttons.cancel, - click: function() { - that.close(); - } - }); - - return that; -}; - -IPA.entitle.register_offline_dialog = function(spec) { - - spec = spec || {}; - - var that = IPA.entitle.certificate_dialog(spec); - - that.create_button({ - name: 'register', - label: that.label, - click: function() { - that.entity.register_offline( - that.get_certificate(), - function() { - var facet = that.entity.get_facet(); - facet.refresh(); - that.close(); - } - ); - } - }); - - that.create_button({ - name: 'cancel', - label: IPA.messages.buttons.cancel, - click: function() { - that.close(); - } - }); - - return that; -}; - -IPA.entitle.consume_dialog = function(spec) { - - spec = spec || {}; - - var that = IPA.dialog(spec); - - that.create_button({ - name: 'consume', - label: IPA.messages.objects.entitle.consume, - click: function() { - - if (!that.validate()) { - return; - } - - var record = {}; - that.save(record); - - that.entity.consume( - record.quantity[0], - function() { - var facet = that.entity.get_facet(); - facet.refresh(); - that.close(); - } - ); - } - }); - - that.create_button({ - name: 'cancel', - label: IPA.messages.buttons.cancel, - click: function() { - that.close(); - } - }); - - return that; -}; - -IPA.entitle.import_dialog = function(spec) { - - spec = spec || {}; - - var that = IPA.entitle.certificate_dialog(spec); - - that.create_button({ - name: 'import', - label: IPA.messages.objects.entitle.import_button, - click: function() { - that.entity.import_certificate( - that.get_certificate(), - function() { - var facet = that.entity.get_facet(); - facet.refresh(); - that.close(); - } - ); - } - }); - - that.create_button({ - name: 'cancel', - label: IPA.messages.buttons.cancel, - click: function() { - that.close(); - } - }); - - return that; -}; - -IPA.entitle.download_widget = function(spec) { - - spec = spec || {}; - - var that = IPA.input_widget(spec); - - that.create = function(container) { - that.link = $('<a/>', { - 'href': '#download', - 'html': IPA.messages.objects.entitle.download, - 'click': function() { - that.entity.get_accounts( - function(data, text_status, xhr) { - var userpkcs12 = data.result.result[0].userpkcs12; - if (!userpkcs12) { - alert(IPA.messages.objects.entitle.no_certificate); - return; - } - - /* - * WARNING - despite using cert.download_dialog() and passing - * a certificate, it's NOT a certificate, it's a binary - * PKCS12 file that's been base64 encoded! - * Hence the reason add_pem_delimiters is false. - */ - var dialog = IPA.cert.download_dialog({ - title: IPA.messages.objects.entitle.download_certificate, - certificate: userpkcs12[0].__base64__, - add_pem_delimiters: false - }); - dialog.open(); - } - ); - return false; - } - }).appendTo(container); - }; - - that.update = function() { - if (that.entity.status == IPA.entitle.online) { - that.link.css('display', 'inline'); - } else { - that.link.css('display', 'none'); - } - }; - - return that; -}; - -IPA.register('entitle', IPA.entitle.entity); |