/*jsl:import ipa.js */ /* Authors: * Pavel Zuna * Endi Sukma Dewata * * 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 . */ /* REQUIRES: ipa.js */ IPA.add_dialog = function (spec) { spec = spec || {}; var that = IPA.dialog(spec); that.method = spec.method || 'add'; that.pre_execute_hook = spec.pre_execute_hook; that.on_error = spec.on_error ; that.retry = typeof spec.retry !== 'undefined' ? spec.retry : true; that.command = null; function show_edit_page(entity,result){ var pkey_name = entity.metadata.primary_key; var pkey = result[pkey_name]; if (pkey instanceof Array) { pkey = pkey[0]; } IPA.nav.show_entity_page(that.entity, 'default', pkey); } that.show_edit_page = spec.show_edit_page || show_edit_page; that.add = function(record, on_success, on_error) { var field, value, pkey_prefix; var pkey_name = that.entity.metadata.primary_key; var command = IPA.command({ entity: that.entity.name, method: that.method, retry: that.retry, on_success: on_success, on_error: on_error }); that.command = command; pkey_prefix = that.entity.get_primary_key_prefix(); for (var h=0; h