function validateDeployInputs()

in web/js/requests.js [355:463]


function validateDeployInputs() {
	if(dijit.byId('deployimage') &&
	   ! checkValidatedObj('deployimage')) {
		dijit.byId('newResDlgBtn').set('disabled', true);
		return false;
	}
	if(dojo.byId('endat') && dojo.byId('endat').checked &&
	   (! dijit.byId('deployenddate').isValid() ||
	   ! dijit.byId('deployendtime').isValid())) {
		dijit.byId('newResDlgBtn').set('disabled', true);
	   if(! checkValidatedObj('deployenddate', 'deployerr') ||
	      ! checkValidatedObj('deployendtime', 'deployerr'))
			return false;
	}
	if(dojo.byId('serverrdo').checked &&
	   dojo.byId('startlater') && dojo.byId('startlater').checked &&
	   (! dijit.byId('deploystartdate').isValid() ||
	   ! dijit.byId('deploystarttime').isValid())) {
		dijit.byId('newResDlgBtn').set('disabled', true);
	   if(! checkValidatedObj('deploystartdate', 'deployerr') ||
	      ! checkValidatedObj('deploystarttime', 'deployerr'))
			return false;
	}
	if(dojo.byId('serverrdo').checked &&
	   dijit.byId('deployfixedIP') &&
	   ! checkValidatedObj('deployfixedIP', 'deployerr')) {
		return false;
	}
	var now = new Date();
	now.setMilliseconds(0);
	var nowts = parseInt(now.getTime() / 1000);
	if(dojo.byId('startlater').checked) {
		if(dojo.byId('serverrdo').checked) {
			var start = dijit.byId('deploystartdate').get('value');
			var time = dijit.byId('deploystarttime').get('value');
			start.setHours(time.getHours());
			start.setMinutes(time.getMinutes());
			var teststart = parseInt(start.getTime() / 1000);
			if(start < now) {
				dojo.byId('deployerr').innerHTML = _('The start day and time must be in the future.');
				dojo.removeClass('deployerr', 'hidden');
				dijit.byId('newResDlgBtn').set('disabled', true);
				return false;
			}
		}
		else {
			var tmp = dojo.byId('deploystartday').value;
			var teststart = new Date(tmp * 1000);
			var hour = parseInt(dojo.byId('deployhour').value);
			var m = dojo.byId('deploymeridian').value;
			if(m == 'pm' && hour < 12)
				hour += 12;
			else if(m == 'am' && hour == 12)
				hour = 0;
			teststart.setHours(hour);
			teststart.setMinutes(dojo.byId('deploymin').value);
			teststart.setSeconds(0);
			if(teststart < now) {
				dojo.byId('deployerr').innerHTML = _('The start day and time must be in the future.');
				dojo.removeClass('deployerr', 'hidden');
				dijit.byId('newResDlgBtn').set('disabled', true);
				return false;
			}
			teststart = parseInt(teststart.getTime() / 1000);
		}
	}
	if(dojo.byId('endat') && dojo.byId('endat').checked) {
		var end = dijit.byId('deployenddate').get('value');
		var time = dijit.byId('deployendtime').get('value');
		end.setHours(time.getHours());
		end.setMinutes(time.getMinutes());
		var endts = parseInt(end.getTime() / 1000);
		if(nowts + 1800 > endts) {
			dojo.byId('deployerr').innerHTML = _('The end time must be at least 30 minutes in the future.');
			dojo.removeClass('deployerr', 'hidden');
			dijit.byId('newResDlgBtn').set('disabled', true);
			return false;
		}
		if(dojo.byId('startnow').checked) {
			var teststart = new Date();
			teststart.setMilliseconds(0);
			teststart = parseInt(teststart.getTime() / 1000);
		}
		if(teststart > endts) {
			dojo.byId('deployerr').innerHTML = _('The end time must be after the start time.');
			dojo.removeClass('deployerr', 'hidden');
			dijit.byId('newResDlgBtn').set('disabled', true);
			return false;
		}
		if(teststart + 1800 > endts) {
			dojo.byId('deployerr').innerHTML = _('The end time is too close to the start time.');
			dojo.removeClass('deployerr', 'hidden');
			dijit.byId('newResDlgBtn').set('disabled', true);
			return false;
		}
	}
	if(! dojo.byId('serverrdo').checked)
		return true;

	if(! checkValidatedObj('deployname', 'deployerr') ||
	   ! checkValidatedObj('deployadmingroup', 'deployerr') ||
	   ! checkValidatedObj('deploylogingroup', 'deployerr') ||
	   //! checkValidatedObj('deployfixedMAC', 'deployerr') ||
	   ! checkValidatedObj('deploynetmask', 'deployerr') ||
	   ! checkValidatedObj('deployrouter', 'deployerr') ||
	   ! checkValidatedObj('deploydns', 'deployerr'))
		return false;
	return true;
}