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);
+ }
+}