/* Authors: * Adam Young * * 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; version 2 only * * 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* REQUIRES: ipa.js, details.js, search.js, add.js, entity.js */ /* DNS */ IPA.add_entity(function (){ var that = ipa_entity({ name: 'dnszone' }); that.init = function() { var search_facet = ipa_search_facet({ name: 'search', label: 'Search', entity_name: that.name }); search_facet.create_column({name:'idnsname'}); that.add_facet(search_facet); that.add_facet(function() { var that = ipa_details_facet({name:'details',label:'Details'}); that.add_section( ipa_stanza({name:'identity', label:'DNS Zone Details'}). input({name:'idnsname'}). input({name:'idnszoneactive'}). input({name:'idnssoamname'}). input({name:'idnssoarname'}). input({name:'idnssoaserial'}). input({name:'idnssoarefresh'}). input({name:'idnssoaretry'}). input({name:'idnssoaexpire'}). input({name:'idnssoaminimum'}). input({name:'dnsttl'}). input({name:'dnsclass'}). input({name:'idnsallowdynupdate'}). input({name:'idnsupdatepolicy'})); return that; }()); that.add_facet( ipa_records_facet({ 'name': 'records', 'label': IPA.metadata.dnsrecord.label })); var dialog = ipa_add_dialog({ name: 'add', title: 'Add DNS Zone' }); that.add_dialog(dialog); dialog.add_field(ipa_text_widget({ name: 'idnsname', undo: false})); dialog.add_field(ipa_text_widget({ name: 'idnssoamname', undo: false})); dialog.add_field(ipa_text_widget({ name: 'idnssoarname', undo: false})); dialog.init(); that.create_association_facets(); that.entity_init(); }; return that; }()); function ipa_records_facet(spec){ spec = spec || {}; var that = ipa_facet(spec); that.record = null; var record_types =[ 'a', 'aaaa', 'dname', 'cname', 'mx', 'ns', 'ptr', 'srv', 'txt', 'a6', 'afsdb', 'cert', 'ds', 'hinfo', 'key', 'kx', 'loc', 'md', 'minfo', 'naptr', 'nsec', 'nxt', 'rrsig', 'sshfp']; function create_type_select(id,add_none) { var type_select = $(''))); dl.append('
Type
'); dl.append( $('
').append(create_type_select('dns-record-type'))); dl.append('
Data
'); dl.append($('
').append($('