Fix to the bug 18, the start hours and end hours are validated in the calendar form

This commit is contained in:
Gustavo Adolfo Cruz Laura
2010-12-21 15:23:21 +00:00
parent 16246ffbc5
commit f4a564d8ba

View File

@@ -72,6 +72,8 @@ function submit1 () {
}
function submit2 (){
var startHourMessage = '';
var endHourMessage = '';
getField('CALENDAR_WORK_DAYS][0').disabled=false;
getField('CALENDAR_WORK_DAYS][1').disabled=false;
getField('CALENDAR_WORK_DAYS][2').disabled=false;
@@ -80,14 +82,48 @@ function submit2 (){
getField('CALENDAR_WORK_DAYS][5').disabled=false;
getField('CALENDAR_WORK_DAYS][6').disabled=false;
getField('CALENDAR_NAME').value=getField('CALENDAR_NAME').value.trim();
if(getField('CALENDAR_NAME').value!=''&& invalidCalendarName == ''){
var invalidFields = validateHours();
var invalidStartHours = invalidFields['CALENDAR_BUSINESS_START'];
var invalidEndHours = invalidFields['CALENDAR_BUSINESS_END'];
for (var i in invalidStartHours){
if (i>0) {
if (invalidStartHours[i]!=undefined && invalidStartHours[i]!=''){
if (startHourMessage==''){
separator = '';
} else {
separator = ',';
}
startHourMessage = startHourMessage + separator + i.toString();
}
}
}
for (var i in invalidEndHours){
if (i>0) {
if (invalidEndHours[i]!=undefined && invalidEndHours[i]!=''){
if (endHourMessage==''){
separator = '';
} else {
separator = ',';
}
endHourMessage = endHourMessage + separator + i.toString();
}
}
}
if(getField('CALENDAR_NAME').value!=''&& invalidCalendarName == '' && startHourMessage=='' && endHourMessage==''){
getField('CALENDAR_STATUS').disabled=false;
getField('CALENDAR_NAME').disabled=false;
document.CalendarDefinition.submit();
} else {
msgBox('Invalid Name','alert');
if (startHourMessage!=''){
startHourMessage = '@G::LoadTranslation(ID_INVALID_START_HOURS)' + startHourMessage;
}
if (endHourMessage!=''){
endHourMessage = '@G::LoadTranslation(ID_INVALID_END_HOURS)' + endHourMessage
}
msgBox('@G::LoadTranslation(ID_INVALID_NAME)'+'<br>'+startHourMessage+'<br>'+endHourMessage,'alert');
}
}
function number_row(){
@@ -384,6 +420,37 @@ leimnud.event.add(getField("CALENDAR_NAME"), 'change', function() {
oRPC.make();
});
function validateHours(){
var fields = new Array();
var invalidStartHours = new Array();
var invalidEndHours = new Array();
var gridForm = getObject('BUSINESS_DAY');
var rows = Number_Rows_Grid('BUSINESS_DAY', 'CALENDAR_BUSINESS_DAY');
var re = /(00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23)[:](0|1|2|3|4|5)\d{1}/;
//alert (rows);
for ( var i = 1; i <= rows ; i++ ){
var field_start = getGridField( 'BUSINESS_DAY', i, 'CALENDAR_BUSINESS_START' );
if (!re.test(field_start.value)){
invalidStartHours[i] = field_start.value;
} else {
invalidStartHours[i] = '';
}
var field_end = getGridField( 'BUSINESS_DAY', i, 'CALENDAR_BUSINESS_END' );
if (!re.test(field_end.value)){
invalidEndHours[i] = field_end.value;
} else {
invalidEndHours[i] = '';
}
}
fields['CALENDAR_BUSINESS_START'] = invalidStartHours;
fields['CALENDAR_BUSINESS_END'] = invalidEndHours;
return (fields);
//getGridField(string grid_name,int row_number,string field_name)
/*for (var i in gridForm){
alert(gridForm[i].CALENDAR_BUSINESS_DAY);
}*/
}
]]>
</DEFAULT_CALENDAR_JS>
</dynaForm>