summaryrefslogtreecommitdiffstats
path: root/install/static/service.js
diff options
context:
space:
mode:
Diffstat (limited to 'install/static/service.js')
-rw-r--r--install/static/service.js96
1 files changed, 96 insertions, 0 deletions
diff --git a/install/static/service.js b/install/static/service.js
new file mode 100644
index 00000000..467e56a8
--- /dev/null
+++ b/install/static/service.js
@@ -0,0 +1,96 @@
+function setupService(facet) {
+ serviceForms.setup(facet);
+}
+
+var serviceForms = new ServiceForms();
+
+function ServiceForms() {
+
+ this.obj = "service";
+
+ this.facets = ['details', 'hosts', 'assignhosts'];
+
+ this.setup = function(facet) {
+ if (this[facet]) {
+ this[facet].setup();
+ } else {
+ this.unspecified.setup();
+ }
+ };
+
+ this.hostListColumns = [ {title:"host",column:"managedby_host"} ];
+
+ this.hosts = new AssociationList(
+ this.obj,
+ "hosts",
+ "assignhosts",
+ this.hostListColumns,
+ this.facets
+ );
+
+ this.assignhosts = new AssociationForm(
+ this.obj,
+ "host",
+ "assignhosts",
+ this.facets,
+ "fqdn",
+ function() {
+ return 'Add Hosts to service : ' + qs['pkey'];
+ },
+ BulkAssociator,
+ "add_host"
+ );
+
+ this.detailsList = [
+ ['identity', 'Service Details', [
+ ['krbprincipalname', 'Kerberos Principal']
+ ]]
+ ];
+
+ this.details = new DetailsForm(
+ "service",
+ this.detailsList,
+ "krbprincipalname",
+ this.facets
+ );
+
+ this.addProperties = [
+ {title: 'Principal', id: 'pkey', type: 'text'}
+ ];
+
+ this.addOptionsFunction = function() {
+ var options = {
+ name: $('#pkey').val()
+ };
+ return options;
+ };
+
+ this.add = new EntityBuilder(
+ "service",
+ this.addProperties,
+ this.addOptionsFunction
+ );
+
+ this.searchColumns = [
+ {
+ title: "Service",
+ column: "krbprincipalname",
+ render: function (current, cell) {
+ renderPkeyColumn2('service', 'krbprincipalname', current, cell);
+ }
+ },
+ {
+ title: "Has Keytab",
+ column: "has_keytab",
+ render: renderSimpleColumn
+ }
+ ];
+
+ this.search = new SearchForm(
+ "service",
+ "find",
+ this.searchColumns
+ );
+
+ this.unspecified = this.search;
+}