From c44a5220e33001c4981d6b84b490cf7d3928385c Mon Sep 17 00:00:00 2001 From: Alvaro Campos Date: Thu, 10 Mar 2011 20:47:08 +0000 Subject: [PATCH] fixed calendar --- .../classes/model/CalendarDefinition.php | 48 +++++++++++++++++++ .../engine/methods/setup/calendarEdit.php | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/model/CalendarDefinition.php b/workflow/engine/classes/model/CalendarDefinition.php index 88d832834..18efe229f 100755 --- a/workflow/engine/classes/model/CalendarDefinition.php +++ b/workflow/engine/classes/model/CalendarDefinition.php @@ -132,6 +132,52 @@ class CalendarDefinition extends BaseCalendarDefinition { $CalendarBusinessHours = $CalendarBusinessHoursObj->getCalendarBusinessHours ( $CalendarUid ); $fields ['BUSINESS_DAY'] = $CalendarBusinessHours; + $CalendarHolidaysObj = new CalendarHolidays ( ); + $CalendarHolidays = $CalendarHolidaysObj->getCalendarHolidays ( $CalendarUid ); + $fields ['HOLIDAY'] = $CalendarHolidays; + $fields=$this->validateCalendarInfo($fields, $defaultCalendar); //******************** + + return $fields; + + } + //for edit + function getCalendarInfoE($CalendarUid) { + //if exists the row in the database propel will update it, otherwise will insert. + $tr = CalendarDefinitionPeer::retrieveByPK ( $CalendarUid ); + + $defaultCalendar ['CALENDAR_UID'] = "00000000000000000000000000000001"; + $defaultCalendar ['CALENDAR_NAME'] = "Default"; + $defaultCalendar ['CALENDAR_CREATE_DATE'] = date ( "Y-m-d" ); + $defaultCalendar ['CALENDAR_UPDATE_DATE'] = date ( "Y-m-d" ); + $defaultCalendar ['CALENDAR_DESCRIPTION'] = "Default"; + $defaultCalendar ['CALENDAR_STATUS'] = "ACTIVE"; + $defaultCalendar ['CALENDAR_WORK_DAYS'] = "1|2|3|4|5"; + $defaultCalendar ['CALENDAR_WORK_DAYS'] = explode ( "|", "1|2|3|4|5" ); + $defaultCalendar ['BUSINESS_DAY'] [1] ['CALENDAR_BUSINESS_DAY'] = 7; + $defaultCalendar ['BUSINESS_DAY'] [1] ['CALENDAR_BUSINESS_START'] = "09:00"; + $defaultCalendar ['BUSINESS_DAY'] [1] ['CALENDAR_BUSINESS_END'] = "17:00"; + $defaultCalendar ['HOLIDAY'] = array (); + + if ((is_object ( $tr ) && get_class ( $tr ) == 'CalendarDefinition')) { + $fields ['CALENDAR_UID'] = $tr->getCalendarUid (); + $fields ['CALENDAR_NAME'] = $tr->getCalendarName (); + $fields ['CALENDAR_CREATE_DATE'] = $tr->getCalendarCreateDate (); + $fields ['CALENDAR_UPDATE_DATE'] = $tr->getCalendarUpdateDate (); + $fields ['CALENDAR_DESCRIPTION'] = $tr->getCalendarDescription (); + $fields ['CALENDAR_STATUS'] = $tr->getCalendarStatus (); + $fields ['CALENDAR_WORK_DAYS'] = $tr->getCalendarWorkDays (); + $fields ['CALENDAR_WORK_DAYS_A'] = explode ( "|", $tr->getCalendarWorkDays () ); + } else { + $fields=$defaultCalendar; + $this->saveCalendarInfo ( $fields ); + $fields ['CALENDAR_WORK_DAYS'] = "1|2|3|4|5"; + $fields ['CALENDAR_WORK_DAYS_A'] = explode ( "|", "1|2|3|4|5" ); + $tr = CalendarDefinitionPeer::retrieveByPK ( $CalendarUid ); + } + $CalendarBusinessHoursObj = new CalendarBusinessHours ( ); + $CalendarBusinessHours = $CalendarBusinessHoursObj->getCalendarBusinessHours ( $CalendarUid ); + $fields ['BUSINESS_DAY'] = $CalendarBusinessHours; + $CalendarHolidaysObj = new CalendarHolidays ( ); $CalendarHolidays = $CalendarHolidaysObj->getCalendarHolidays ( $CalendarUid ); $fields ['HOLIDAY'] = $CalendarHolidays; @@ -140,6 +186,8 @@ class CalendarDefinition extends BaseCalendarDefinition { return $fields; } + //end for edit + function validateCalendarInfo($fields,$defaultCalendar){ try { //Validate if Working days are Correct diff --git a/workflow/engine/methods/setup/calendarEdit.php b/workflow/engine/methods/setup/calendarEdit.php index f5efefe2e..a3274b6eb 100644 --- a/workflow/engine/methods/setup/calendarEdit.php +++ b/workflow/engine/methods/setup/calendarEdit.php @@ -38,7 +38,7 @@ $CalendarUid = str_replace ( '"', '', isset ( $_GET ['id'] ) ? $_GET ['id'] : G: G::LoadClass ( 'calendar' ); $calendarObj = new calendar ( ); if ((isset ( $_GET ['id'] )) && ($_GET ['id'] != "")) { - $fields = $calendarObj->getCalendarInfo ( $CalendarUid ); + $fields = $calendarObj->getCalendarInfoE ( $CalendarUid ); $fields ['OLD_NAME'] = $fields['CALENDAR_NAME']; }