You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by jf...@apache.org on 2014/09/11 19:54:00 UTC

svn commit: r1624350 - /vcl/trunk/web/js/newresservercommon.js

Author: jfthomps
Date: Thu Sep 11 17:53:59 2014
New Revision: 1624350

URL: http://svn.apache.org/r1624350
Log:
VCL-776 - rework resource code to have a base class for all resources and inheriting classes for each resource type

forgot to add this file with the previous commit

Added:
    vcl/trunk/web/js/newresservercommon.js

Added: vcl/trunk/web/js/newresservercommon.js
URL: http://svn.apache.org/viewvc/vcl/trunk/web/js/newresservercommon.js?rev=1624350&view=auto
==============================================================================
--- vcl/trunk/web/js/newresservercommon.js (added)
+++ vcl/trunk/web/js/newresservercommon.js Thu Sep 11 17:53:59 2014
@@ -0,0 +1,155 @@
+function checkFixedSet(page) {
+	var obj = dijit.byId(page + 'fixedIP');
+	if(obj.get('value') != '' && obj.isValid()) {
+		dijit.byId(page + 'netmask').set('disabled', false);
+		dijit.byId(page + 'router').set('disabled', false);
+		dijit.byId(page + 'dns').set('disabled', false);
+		fetchRouterDNS(page);
+		if(page == 'deploy')
+			delayedUpdateWaitTime();
+	}
+	else {
+		dijit.byId(page + 'netmask').set('disabled', true);
+		dijit.byId(page + 'router').set('disabled', true);
+		dijit.byId(page + 'dns').set('disabled', true);
+	}
+}
+
+function fetchRouterDNS(page) {
+	if(! dijit.byId(page + 'fixedIP').isValid() ||
+	   ! dijit.byId(page + 'netmask').isValid() ||
+	   dijit.byId(page + 'fixedIP').get('value') == '' ||
+	   dijit.byId(page + 'netmask').get('value') == '' ||
+	   (dijit.byId(page + 'router').get('value') != '' &&
+	    dijit.byId(page + 'dns').get('value') != ''))
+		return;
+	data = {continuation: dojo.byId('fetchrouterdns').value,
+	        ipaddr: dijit.byId(page + 'fixedIP').get('value'),
+	        netmask: dijit.byId(page + 'netmask').get('value'),
+	        page: page};
+	RPCwrapper(data, fetchRouterDNSCB, 1);
+}
+
+function fetchRouterDNSCB(data, ioArgs) {
+	if(data.items.status == 'success') {
+		if(dijit.byId(data.items.page + 'router').get('value') == '')
+			dijit.byId(data.items.page + 'router').set('value', data.items.router);
+		if(dijit.byId(data.items.page + 'dns').get('value') == '')
+			dijit.byId(data.items.page + 'dns').set('value', data.items.dns);
+	}
+}
+
+function validateNetmask(val) {
+	var regex = new RegExp("^[1]+0[^1]+$");
+	var d = val.split('.');
+	var bnetmask = 256 * ((256 * (256 * +d[0] + +d[1])) + +d[2]) + +d[3];
+	//var nmstring = dojox.string.sprintf('%032b', bnetmask);
+	var nmstring = int2bstr(bnetmask);
+	if(regex.test(nmstring))
+		return true;
+	return false;
+}
+
+function int2bstr(a) {
+	var b = '';
+	var c = a;
+	while(c > 0) {
+		if(c % 2 == 0)
+			b = '0' + b;
+		else
+			b = '1' + b;
+		c = parseInt(c / 2);
+	}
+	var len = b.length;
+	while(len < 32) {
+		b = '0' + b;
+		len++;
+	}
+	return b;
+}
+
+function populateProfileStore(cont) {
+	RPCwrapper({continuation: cont}, populateProfileStoreCB, 1);
+}
+
+function populateProfileStoreCB(data, ioArgs) {
+	if(typeof(profilesstore) == "undefined")
+		return;
+	var store = profilesstore;
+	for(var i = 0; i < data.items.length; i++) {
+		store.newItem({id: data.items[i].id, name: data.items[i].name, desc: data.items[i].desc, access: data.items[i].access});
+	}
+	if(dijit.byId('deployprofileid'))
+		dijit.byId('deployprofileid').setStore(profilesstore, '', {query: {id:new RegExp("^(?:(?!70000).)*$")}});
+	if(dijit.byId('profileid'))
+		dijit.byId('profileid').setStore(profilesstore, '', {query: {id:new RegExp("^(?:(?!70000).)*$"),access:'admin'}});
+	if(dijit.byId('profiles'))
+		dijit.byId('profiles').setStore(profilesstore, '', {query: {id:new RegExp("^(?:(?!70000).)*$"),access:'admin'}});
+	if(dojo.byId('ingroups'))
+		getGroups();
+}
+
+function deployProfileChanged() {
+	profilesstore.fetch({
+		query: {id: dijit.byId('deployprofileid').get('value')},
+		onItem: function(item, request) {
+			var desc = profilesstore.getValue(item, 'desc');
+			if(desc == '') {
+				desc = '(No description)';
+			}
+			dojo.byId('deploydesc').innerHTML = desc;
+		}
+	});
+}
+
+function getServerProfileData(cont, id, cb) {
+	if(id == 'profileid') {
+		dijit.byId('fetchProfilesBtn').set('label', 'Working...');
+		dijit.byId('fetchProfilesBtn').set('disabled', true);
+	}
+	var data = {continuation: cont,
+	            id: dijit.byId(id).get('value')};
+	RPCwrapper(data, cb, 1);
+	document.body.style.cursor = 'wait';
+}
+
+function getServerProfileDataDeployCB(data, ioArgs) {
+	document.body.style.cursor = 'default';
+	if(data.items.error) {
+		alert('You do not have access to apply this server profile.');
+		return;
+	}
+	dojo.byId('appliedprofileid').value = data.items.id;
+	dijit.byId('deployimage').set('value', data.items.imageid);
+	setTimeout(function() {dijit.byId('deployname').set('value', data.items.name);}, 1); // want this to occur after selectEnvironment is called due to deployimage being set
+	dijit.byId('deploynetmask').set('value', data.items.netmask);
+	dijit.byId('deployrouter').set('value', data.items.router);
+	dijit.byId('deploydns').set('value', data.items.dns);
+	//dijit.byId('deployfixedMAC').set('value', data.items.fixedMAC);
+	if(dijit.byId('deployadmingroup'))
+		dijit.byId('deployadmingroup').set('value', data.items.admingroupid);
+	else
+		dojo.byId('deployadmingroup').value = data.items.admingroupid;
+	if(dijit.byId('deploylogingroup'))
+		dijit.byId('deploylogingroup').set('value', data.items.logingroupid);
+	else
+		dojo.byId('deploylogingroup').value = data.items.logingroupid;
+	//dijit.byId('deploymonitored').set('value', parseInt(data.items.monitored));
+	dijit.byId('deployfixedIP').set('value', data.items.fixedIP);
+	if(dijit.byId('deployfixedIP').isValid() && dijit.byId('deployfixedIP').get('value') != '') {
+		dijit.byId('deploynetmask').set('value', data.items.netmask);
+		dijit.byId('deployrouter').set('value', data.items.router);
+		dijit.byId('deploydns').set('value', data.items.dns);
+		dijit.byId('deploynetmask').set('disabled', false);
+		dijit.byId('deployrouter').set('disabled', false);
+		dijit.byId('deploydns').set('disabled', false);
+	}
+	else {
+		dijit.byId('deploynetmask').set('value', '');
+		dijit.byId('deployrouter').set('value', '');
+		dijit.byId('deploydns').set('value', '');
+		dijit.byId('deploynetmask').set('disabled', true);
+		dijit.byId('deployrouter').set('disabled', true);
+		dijit.byId('deploydns').set('disabled', true);
+	}
+}