/*jsl:import ipa.js */ /*jsl:import search.js */ /* 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, 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, details.js, search.js, add.js, entity.js */ /* DNS */ IPA.entity_factories.dnszone = 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'}); that.add_section( IPA.stanza({name:'identity', label:'DNS Zone Settings'}). 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})); that.create_association_facets(); that.entity_init(); }; return that; }; IPA.records_facet = function (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($('