diff --git a/workflow/engine/methods/setup/calendarEdit.php b/workflow/engine/methods/setup/calendarEdit.php index c4c2030b1..f5efefe2e 100644 --- a/workflow/engine/methods/setup/calendarEdit.php +++ b/workflow/engine/methods/setup/calendarEdit.php @@ -39,10 +39,12 @@ G::LoadClass ( 'calendar' ); $calendarObj = new calendar ( ); if ((isset ( $_GET ['id'] )) && ($_GET ['id'] != "")) { $fields = $calendarObj->getCalendarInfo ( $CalendarUid ); + $fields ['OLD_NAME'] = $fields['CALENDAR_NAME']; } if (! (isset ( $fields ['CALENDAR_UID'] ))) { //For a new Calendar $fields ['CALENDAR_UID'] = $CalendarUid; + $fields ['OLD_NAME'] = ''; //Default Business Hour $fields ['BUSINESS_DAY'] [1] ['CALENDAR_BUSINESS_DAY'] = 7; $fields ['BUSINESS_DAY'] [1] ['CALENDAR_BUSINESS_START'] = "09:00"; diff --git a/workflow/engine/methods/setup/calendarValidate.php b/workflow/engine/methods/setup/calendarValidate.php index b795c787e..e1bd4e410 100644 --- a/workflow/engine/methods/setup/calendarValidate.php +++ b/workflow/engine/methods/setup/calendarValidate.php @@ -39,6 +39,8 @@ switch ($RBAC->userCanAccess('PM_SETUP_ADVANCE')) } // validating the fields $message = array(); +$oldName = isset($_POST['oldName'])?$_POST['oldName']:''; + switch ($_POST['action']){ case 'calendarName': require_once ('classes/model/CalendarDefinition.php'); @@ -50,13 +52,20 @@ switch ($_POST['action']){ $aCalendarDefinitions = end($aCalendars); // var_dump($aCalendarDefinitions); foreach($aCalendarDefinitions as $aDefinitions) { - if ($aDefinitions['CALENDAR_NAME']!=$_POST['name']){ - $validated = true; - } else { + if (trim($_POST['name'])==''){ $validated = false; $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME'); break; } + if ($aDefinitions['CALENDAR_NAME']!=$_POST['name']){ + $validated = true; + } else { + if ($aDefinitions['CALENDAR_NAME']!=$oldName) { + $validated = false; + $message = G::loadTranslation('ID_CALENDAR_INVALID_NAME'); + break; + } + } } break; case 'calendarDates': diff --git a/workflow/engine/xmlform/setup/calendarEdit.html b/workflow/engine/xmlform/setup/calendarEdit.html index 39cec6ca8..d9d5eec42 100644 --- a/workflow/engine/xmlform/setup/calendarEdit.html +++ b/workflow/engine/xmlform/setup/calendarEdit.html @@ -10,6 +10,9 @@ + + + diff --git a/workflow/engine/xmlform/setup/calendarEdit.xml b/workflow/engine/xmlform/setup/calendarEdit.xml index 1781cd437..bf81f67e9 100644 --- a/workflow/engine/xmlform/setup/calendarEdit.xml +++ b/workflow/engine/xmlform/setup/calendarEdit.xml @@ -4,6 +4,9 @@ Ndar Uid + + + @@ -16,6 +19,7 @@ + @@ -68,8 +72,13 @@ function submit1 () { return validateForm(this.form); } -function submit2 (){ - invalidCalendarName = validateCalendarName(); +function submit2 () { + if (getField('OLD_NAME').value==''){ + invalidCalendarName = validateCalendarName(''); + } else { + invalidCalendarName = validateCalendarName(getField('OLD_NAME').value); + } + var startHourMessage= ''; var endHourMessage=''; var invalidNameMessage = ''; @@ -409,12 +418,18 @@ function cancel(){ window.location = 'calendarList'; } -function validateCalendarName(){ +function validateCalendarName(name){ var validateMessage = ''; + var oldName = ''; + if (name!='') { + oldName = '&oldName='+name; + } + var arguments = 'action=calendarName&name='+getField("CALENDAR_NAME").value+oldName; + var oRPC = new leimnud.module.rpc.xmlhttp({ url : 'calendarValidate', async : false, - args : 'action=calendarName&name='+getField("CALENDAR_NAME").value + args : arguments }); oRPC.make(); validateMessage=oRPC.xmlhttp.responseText;
{$form.CALENDAR_UID}
{$form.OLD_NAME}
{$form.DEFINITION_TITLE}