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

@@ -125,6 +125,12 @@ try {
$aFields['PHP_START_DATE'] = date( 'Y-m-d' );
$aFields['PHP_END_DATE'] = date( 'Y-m-d', mktime( 0, 0, 0, date( 'm' ), date( 'd' ), date( 'Y' ) + 5 ) );
$aFields['SCH_LIST'] = '';
foreach ($_SESSION['_DBArray']['cases_scheduler'] as $key => $item) {
$aFields['SCH_LIST'] .= ($item['SCH_UID'] != $_GET['SCH_UID']) ? $item['SCH_NAME'] . '|' : '' ;
}
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_Edit.xml', '', $aFields, 'cases_Scheduler_Update' );
G::RenderPage( 'publishBlank', 'blank' );

View File

@@ -86,6 +86,11 @@ try {
$aFields['UID_SCHEDULER'] = "scheduler";
$aFields['SCH_LIST'] = '';
foreach ($_SESSION['_DBArray']['cases_scheduler'] as $key => $item) {
$aFields['SCH_LIST'] .= $item['SCH_NAME'] . '|';
}
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'cases/cases_Scheduler_New.xml', '', $aFields, 'cases_Scheduler_Save' );
G::RenderPage( 'publishBlank', 'blank' );

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,8 +760,26 @@ function collapseAdvancedOptions(){
* @return true/false boolean
*/
function validateSchedulerFields(){
function validateSchedulerFields(oForm) {
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 = '';
@@ -801,9 +821,8 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
}
}
switch(document.getElementById('form[SCH_OPTION]').value) {
// daily
case '1':
// 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;
@@ -811,10 +830,9 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Weekdays,';
validFields = false;
}
break;
// weekly
case '2':
// weekly
if (document.getElementById('form[SCH_EVERY_DAYS]').value=='') {
requiredFields = requiredFields + 'Number of Weeks,';
validFields = false;
@@ -845,14 +863,13 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
}
}
break;
//monthly
case '3':
//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) {
validFields = true;
break;
@@ -868,17 +885,13 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Start Day,';
validFields = false;
}
break;
//run once
case '4':
validFields = true;
break;
//run once
validFields = true;
break;
case '5':
//run once
validFields = true;
break;
default:
@@ -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,9 +622,26 @@ 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 = '';
@@ -641,12 +658,13 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Start Date,';
validFields = false;
} else {
if (document.getElementById('form[SCH_END_DATE]').value!='')
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)";
@@ -676,7 +694,6 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Weekdays,';
validFields = false;
}
break;
// weekly
case '2':
@@ -733,20 +750,14 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
requiredFields = requiredFields + 'Start Day,';
validFields = false;
}
break;
//run once
case '4':
validFields = true;
break;
//run every
case '5':
validFields = true;
break;
default:
validFields = false;
@@ -762,7 +773,7 @@ endDate = new Date(endDate[0],endDate[1],endDate[2]);
msgBox(message, 'alert');
return false;
} else {
return true;
oForm.submit();
}
}
}