BUG-11275 Error en la creacion de Case Scheduler SOLVED

- no validation.
- was add validation for name case scheduler.
This commit is contained in:
Marco Antonio Nina
2013-05-28 12:54:50 -04:00
parent ce301258c7
commit c34f00d961
6 changed files with 215 additions and 174 deletions

View File

@@ -22,6 +22,9 @@
<tr style="display: none;">
<td colspan="2">{$form.SCH_UID}</td>
</tr>
<tr style="display: none;">
<td colspan="2">{$form.SCH_LIST}</td>
</tr>
<tr style="display: none">
<td colspan="2">{$form.SCH_ADVANCED}</td>
</tr>

View File

@@ -13,6 +13,8 @@
<SCH_UID type="hidden" >
<en></en>
</SCH_UID>
<SCH_LIST type="hidden" >
</SCH_LIST>
<PREV_SCH_END_DATE type="hidden" >
<en></en>
</PREV_SCH_END_DATE>
@@ -247,7 +249,7 @@ WHERE A.PRO_UID='@#PRO_UID' AND A.TAS_START = 'TRUE' ]]>
</CASE_SH_PLUGIN_UID>
<UPDATE type="submit" onClick="if(validateSchedulerFields()) {return true;} else {return false;}">
<UPDATE type="button" onClick="validateSchedulerFields(this.form)">
<en>Update</en>
</UPDATE>
@@ -758,18 +760,36 @@ function collapseAdvancedOptions(){
* @return true/false boolean
*/
function validateSchedulerFields(){
function validateSchedulerFields(oForm) {
var validFields = true;
var requiredFields = '';
var badFormatFields = '';
var startDate = document.getElementById('form[SCH_START_DATE]').value;
var endDate = document.getElementById('form[SCH_END_DATE]').value;
var schedulerTitle = document.getElementById('form[SCH_NAME]').value;
schedulerTitle = schedulerTitle.replace(/^\s*|\s*$/g,"");
if (schedulerTitle == '') {
document.getElementById('form[SCH_NAME]').focus();
msgBox("@G::LoadTranslation(ID_REQUIRED_NAME_CASE_SCHEDULER)", 'alert');
return false;
}
var listNames = document.getElementById('form[SCH_LIST]').value;
listNames = listNames.split("|");
for (var i= 1; i<listNames.length; i++) {
if (schedulerTitle == listNames[i]) {
document.getElementById('form[SCH_NAME]').focus();
msgBox("@G::LoadTranslation(ID_DUPLICATE_CASE_SCHEDULER_NAME)", 'alert');
return false;
}
}
getField("SCH_NAME").value = schedulerTitle;
var validFields = true;
var requiredFields = '';
var badFormatFields = '';
var startDate = document.getElementById('form[SCH_START_DATE]').value;
var endDate = document.getElementById('form[SCH_END_DATE]').value;
startDate = startDate.split("-");
endDate = endDate.split("-");
startDate = new Date(startDate[0],startDate[1],startDate[2]);
endDate = new Date(endDate[0],endDate[1],endDate[2]);
startDate = startDate.split("-");
endDate = endDate.split("-");
startDate = new Date(startDate[0],startDate[1],startDate[2]);
endDate = new Date(endDate[0],endDate[1],endDate[2]);
if (document.getElementById('form[SCH_START_DATE]').value==''){
requiredFields = requiredFields + 'Start Date,';
@@ -782,7 +802,7 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
}
}
if (document.getElementById('form[SCH_START_TIME]').value==''){
if (document.getElementById('form[SCH_START_TIME]').value=='') {
requiredFields = requiredFields + 'Start Time,';
validFields = false;
}
@@ -790,38 +810,36 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
// for time format hh:mm
var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)";
var timeRegexp = new RegExp(regExpString);
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)){
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)) {
msgBox('The time format is invalid','alert');
return false;
}
if (document.getElementById('form[SCH_OPTION]').value == 5) {
if (document.getElementById('form[SCH_REPEAT_EVERY]').value==''){
requiredFields = requiredFields + 'Every,';
validFields = false;
}
if (document.getElementById('form[SCH_REPEAT_EVERY]').value=='') {
requiredFields = requiredFields + 'Every,';
validFields = false;
}
}
switch(document.getElementById('form[SCH_OPTION]').value){
// daily
switch(document.getElementById('form[SCH_OPTION]').value) {
case '1':
// if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){
if(document.getElementById('form[SCH_DAYS_PERFORM_TASK]').value!=''){
validFields = true;
} else {
requiredFields = requiredFields + 'Weekdays,';
validFields = false;
}
break;
// weekly
// daily
//if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){
if(document.getElementById('form[SCH_DAYS_PERFORM_TASK]').value!=''){
validFields = true;
} else {
requiredFields = requiredFields + 'Weekdays,';
validFields = false;
}
break;
case '2':
if (document.getElementById('form[SCH_EVERY_DAYS]').value==''){
// weekly
if (document.getElementById('form[SCH_EVERY_DAYS]').value=='') {
requiredFields = requiredFields + 'Number of Weeks,';
validFields = false;
} else {
for (week=1;week<=4;week++){
for (week=1;week<=4;week++) {
weekIdOne = 'form[SCH_WEEK_DAYS]['+week+']';
if (document.getElementById(weekIdOne).checked==true){
if (document.getElementById(weekIdOne).checked==true) {
validFields = true;
break;
} else {
@@ -829,9 +847,9 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
}
}
if (!validFields){
for (week=1;week<=3;week++){
for (week=1;week<=3;week++) {
weekIdTwo = 'form[SCH_WEEK_DAYS_2]['+(week+4)+']';
if (document.getElementById(weekIdTwo).checked==true){
if (document.getElementById(weekIdTwo).checked==true) {
validFields = true;
break;
} else {
@@ -839,28 +857,27 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
}
}
}
if (!validFields){
if (!validFields) {
requiredFields = requiredFields + 'Weeks,';
validFields = false;
}
}
break;
//monthly
break;
case '3':
if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true){
for (month=1;month<=4;month++){
//monthly
if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true) {
for (month=1;month<=4;month++) {
monthIdOne = 'form[SCH_MONTHS]['+month+']';
monthIdTwo = 'form[SCH_MONTHS_2]['+(month+4)+']';
monthIdThree = 'form[SCH_MONTHS_3]['+(month+8)+']';
if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true){
if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true) {
validFields = true;
break;
} else {
validFields = false;
}
}
if (!validFields){
if (!validFields) {
requiredFields = requiredFields + 'Months,';
validFields = false;
}
@@ -868,22 +885,18 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Start Day,';
validFields = false;
}
break;
//run once
break;
case '4':
validFields = true;
break;
//run once
//run once
validFields = true;
break;
case '5':
validFields = true;
break;
//run once
validFields = true;
break;
default:
validFields = false;
break;
break;
}
if (requiredFields!='') {
var message = "The fields "+requiredFields+" can\'t be empty";
@@ -895,7 +908,7 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
msgBox(message, 'alert');
return false;
} else {
return true;
oForm.submit();
}
}
}

View File

@@ -24,6 +24,9 @@
<tr style="display: none;">
<td colspan="2">{$form.SCH_UID}</td>
</tr>
<tr style="display: none;">
<td colspan="2">{$form.SCH_LIST}</td>
</tr>
<tr style="display: none;">
<td colspan="2">{$form.SCH_USER_UID}</td>
</tr>

View File

@@ -16,7 +16,8 @@
<![CDATA[ SELECT count( * )+1 AS UID FROM CASE_SCHEDULER ]]>
<en></en>
</SCH_UID>
<SCH_LIST type="hidden" >
</SCH_LIST>
<PHP_CURRENT_DATE type="hidden" >
</PHP_CURRENT_DATE>
@@ -230,7 +231,7 @@
<en>Start a case based on following registered Plugin.</en>
</SELECT_PLUGIN>
<SAVE type="submit" onClick="if(validateSchedulerFields()) {return true;} else {return false;}">
<SAVE type="button" onClick="validateSchedulerFields(this.form)">
<en>Save</en>
</SAVE>
@@ -243,7 +244,6 @@ hideAll();
hideProperties();
function $_GET(q,s) {
s = (s) ? s : self.location.search;
var re = new RegExp('&'+q+'=([^&]*)','i');
@@ -622,149 +622,160 @@ function case_userSchedulerValidate(username, password) {
* @return true/false boolean
*/
function validateSchedulerFields(){
function validateSchedulerFields(oForm) {
getField("SCH_NAME").value = getField("SCH_NAME").value.trim();
var schedulerTitle = document.getElementById('form[SCH_NAME]').value;
schedulerTitle = schedulerTitle.replace(/^\s*|\s*$/g,"");
if (schedulerTitle == '') {
document.getElementById('form[SCH_NAME]').focus();
msgBox("@G::LoadTranslation(ID_REQUIRED_NAME_CASE_SCHEDULER)", 'alert');
return false;
}
var listNames = document.getElementById('form[SCH_LIST]').value;
listNames = listNames.split("|");
for (var i= 1; i<listNames.length; i++) {
if (schedulerTitle == listNames[i]) {
document.getElementById('form[SCH_NAME]').focus();
msgBox("@G::LoadTranslation(ID_DUPLICATE_CASE_SCHEDULER_NAME)", 'alert');
return false;
}
}
getField("SCH_NAME").value = schedulerTitle;
var validFields = true;
var requiredFields = '';
var badFormatFields = '';
var startDate = document.getElementById('form[SCH_START_DATE]').value;
var endDate = document.getElementById('form[SCH_END_DATE]').value;
var validFields = true;
var requiredFields = '';
var badFormatFields = '';
var startDate = document.getElementById('form[SCH_START_DATE]').value;
var endDate = document.getElementById('form[SCH_END_DATE]').value;
startDate = startDate.split("-");
endDate = endDate.split("-");
startDate = new Date(startDate[0],startDate[1],startDate[2]);
endDate = new Date(endDate[0],endDate[1],endDate[2]);
startDate = startDate.split("-");
endDate = endDate.split("-");
startDate = new Date(startDate[0],startDate[1],startDate[2]);
endDate = new Date(endDate[0],endDate[1],endDate[2]);
if (document.getElementById('form[SCH_START_DATE]').value==''){
requiredFields = requiredFields + 'Start Date,';
validFields = false;
} else {
if (document.getElementById('form[SCH_END_DATE]').value!='')
if (startDate>endDate){
badFormatFields = badFormatFields + 'Start Date can\'t be greater than End Date';
if (document.getElementById('form[SCH_START_DATE]').value=='') {
requiredFields = requiredFields + 'Start Date,';
validFields = false;
} else {
if (document.getElementById('form[SCH_END_DATE]').value!='') {
if (startDate>endDate) {
badFormatFields = badFormatFields + 'Start Date can\'t be greater than End Date';
validFields = false;
}
}
}
// check if the field time is compliant with the regular expression
// for time format hh:mm
var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)";
var timeRegexp = new RegExp(regExpString);
if (document.getElementById('form[SCH_OPTION]').value != 5) {
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)) {
msgBox('The time format is invalid','alert');
return false;
}
if (document.getElementById('form[SCH_START_TIME]').value=='') {
requiredFields = requiredFields + 'Execution Time,';
validFields = false;
}
}
// check if the field time is compliant with the regular expression
// for time format hh:mm
var regExpString = "([0-1]\\d|2[0-3]):([0-5]\\d)";
var timeRegexp = new RegExp(regExpString);
if (document.getElementById('form[SCH_OPTION]').value != 5) {
if (!timeRegexp.test(document.getElementById('form[SCH_START_TIME]').value)){
msgBox('The time format is invalid','alert');
return false;
}
if (document.getElementById('form[SCH_START_TIME]').value==''){
requiredFields = requiredFields + 'Execution Time,';
validFields = false;
}
} else {
if (document.getElementById('form[SCH_REPEAT_EVERY]').value==''){
requiredFields = requiredFields + 'Every,';
validFields = false;
}
}
switch(document.getElementById('form[SCH_OPTION]').value){
// daily
case '1':
//if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){
} else {
if (document.getElementById('form[SCH_REPEAT_EVERY]').value=='') {
requiredFields = requiredFields + 'Every,';
validFields = false;
}
}
switch (document.getElementById('form[SCH_OPTION]').value) {
// daily
case '1':
//if(document.getElementById('form[SCH_DAYS_PERFORM_TASK][1]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][2]').checked==true||document.getElementById('form[SCH_DAYS_PERFORM_TASK][3]').checked==true){
if(document.getElementById('form[SCH_DAYS_PERFORM_TASK]').value!=''){
validFields = true;
} else {
requiredFields = requiredFields + 'Weekdays,';
validFields = false;
}
break;
// weekly
case '2':
if (document.getElementById('form[SCH_EVERY_DAYS]').value==''){
requiredFields = requiredFields + 'Number of Weeks,';
validFields = false;
} else {
for (week=1;week<=4;week++){
weekIdOne = 'form[SCH_WEEK_DAYS]['+week+']';
if (document.getElementById(weekIdOne).checked==true){
validFields = true;
break;
} else {
validFields = false;
}
}
if (!validFields){
for (week=1;week<=3;week++){
weekIdTwo = 'form[SCH_WEEK_DAYS_2]['+(week+4)+']';
if (document.getElementById(weekIdTwo).checked==true){
break;
// weekly
case '2':
if (document.getElementById('form[SCH_EVERY_DAYS]').value=='') {
requiredFields = requiredFields + 'Number of Weeks,';
validFields = false;
} else {
for (week=1;week<=4;week++) {
weekIdOne = 'form[SCH_WEEK_DAYS]['+week+']';
if (document.getElementById(weekIdOne).checked==true) {
validFields = true;
break;
} else {
validFields = false;
}
}
}
if (!validFields){
requiredFields = requiredFields + 'Weeks,';
validFields = false;
}
}
break;
//monthly
case '3':
if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true){
for (month=1;month<=4;month++){
monthIdOne = 'form[SCH_MONTHS]['+month+']';
monthIdTwo = 'form[SCH_MONTHS_2]['+(month+4)+']';
monthIdThree = 'form[SCH_MONTHS_3]['+(month+8)+']';
if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true){
validFields = true;
break;
} else {
if (!validFields){
for (week=1;week<=3;week++){
weekIdTwo = 'form[SCH_WEEK_DAYS_2]['+(week+4)+']';
if (document.getElementById(weekIdTwo).checked==true) {
validFields = true;
break;
} else {
validFields = false;
}
}
}
if (!validFields){
requiredFields = requiredFields + 'Weeks,';
validFields = false;
}
}
if (!validFields){
requiredFields = requiredFields + 'Months,';
break;
//monthly
case '3':
if (document.getElementById('form[SCH_START_DAY][1]').checked==true||document.getElementById('form[SCH_START_DAY][2]').checked==true){
for (month=1;month<=4;month++){
monthIdOne = 'form[SCH_MONTHS]['+month+']';
monthIdTwo = 'form[SCH_MONTHS_2]['+(month+4)+']';
monthIdThree = 'form[SCH_MONTHS_3]['+(month+8)+']';
if (document.getElementById(monthIdOne).checked==true||document.getElementById(monthIdTwo).checked==true||document.getElementById(monthIdThree).checked==true){
validFields = true;
break;
} else {
validFields = false;
}
}
if (!validFields){
requiredFields = requiredFields + 'Months,';
validFields = false;
}
} else {
requiredFields = requiredFields + 'Start Day,';
validFields = false;
}
} else {
requiredFields = requiredFields + 'Start Day,';
break;
//run once
case '4':
validFields = true;
break;
//run every
case '5':
validFields = true;
break;
default:
validFields = false;
}
break;
//run once
case '4':
validFields = true;
break;
//run every
case '5':
validFields = true;
break;
default:
validFields = false;
break;
}
if (requiredFields!='') {
var message = "The fields "+requiredFields+" can\'t be empty";
msgBox(message, 'alert');
return false;
} else {
if (badFormatFields!=''){
var message = badFormatFields;
break;
}
if (requiredFields!='') {
var message = "The fields "+requiredFields+" can\'t be empty";
msgBox(message, 'alert');
return false;
} else {
return true;
if (badFormatFields!='') {
var message = badFormatFields;
msgBox(message, 'alert');
return false;
} else {
oForm.submit();
}
}
}
}
function resetForm(){