function deleteCalendar($CalendarUid) { //if exists the row in the database propel will update it, otherwise will insert. $tr = CalendarDefinitionPeer::retrieveByPK($CalendarUid); if (!(is_object($tr) && get_class($tr) == 'CalendarDefinition')) { // return false; } $defaultCalendars[] = '00000000000000000000000000000001'; if (in_array($tr->getCalendarUid(), $defaultCalendars)) { return false; } $tr->setCalendarStatus('DELETED'); $tr->setCalendarUpdateDate('now'); if ($tr->validate()) { // we save it, since we get no validation errors, or do whatever else you like. $res = $tr->save(); } else { // Something went wrong. We can now get the validationFailures and handle them. $msg = ''; $validationFailuresArray = $tr->getValidationFailures(); foreach ($validationFailuresArray as $objValidationFailure) { $msg .= $objValidationFailure->getMessage() . "<br/>"; } G::SendMessage("ERROR", $msg); //return array ( 'codError' => -100, 'rowsAffected' => 0, 'message' => $msg ); } //return array ( 'codError' => 0, 'rowsAffected' => $res, 'message' => ''); //to do: uniform coderror structures for all classes //if ( $res['codError'] < 0 ) { // G::SendMessageText ( $res['message'] , 'error' ); //} }
public function calendarName($calendarUid) { $tr = CalendarDefinitionPeer::retrieveByPK($calendarUid); if (is_object($tr) && get_class($tr) == 'CalendarDefinition') { return $tr->getCalendarName(); } return false; }
/** * Validate the data if they are invalid (INSERT and UPDATE) * * @param string $userUid Unique id of User * @param array $arrayData Data * * return void Throw exception if data has an invalid value */ public function throwExceptionIfDataIsInvalid($userUid, array $arrayData) { try { //Set variables $arrayUserData = ($userUid == "")? array() : $this->getUser($userUid, true); $flagInsert = ($userUid == "")? true : false; $arrayFinalData = array_merge($arrayUserData, $arrayData); //Verify data - Field definition. $process = new \ProcessMaker\BusinessModel\Process(); $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, $flagInsert); //Verify data if (isset($arrayData["USR_USERNAME"])) { $this->throwExceptionIfExistsName($arrayData["USR_USERNAME"], $this->arrayFieldNameForException["usrUsername"], $userUid); } if (isset($arrayData["USR_EMAIL"])) { if (!filter_var($arrayData["USR_EMAIL"], FILTER_VALIDATE_EMAIL)) { throw new \Exception($this->arrayFieldNameForException["usrEmail"] . ": " . \G::LoadTranslation("ID_INCORRECT_EMAIL")); } } if (isset($arrayData["USR_NEW_PASS"])) { $this->throwExceptionIfPasswordIsInvalid($arrayData["USR_NEW_PASS"], $this->arrayFieldNameForException["usrNewPass"]); } if (isset($arrayData["USR_REPLACED_BY"]) && $arrayData["USR_REPLACED_BY"] != "") { $obj = \UsersPeer::retrieveByPK($arrayData["USR_REPLACED_BY"]); if (is_null($obj)) { throw new \Exception(\G::LoadTranslation("ID_USER_DOES_NOT_EXIST", array($this->arrayFieldNameForException["usrReplacedBy"], $arrayData["USR_REPLACED_BY"]))); } } if (isset($arrayData["USR_DUE_DATE"])) { $arrayUserDueDate = explode("-", $arrayData["USR_DUE_DATE"]); if (ctype_digit($arrayUserDueDate[0])) { if (!checkdate($arrayUserDueDate[1], $arrayUserDueDate[2], $arrayUserDueDate[0])) { throw new \Exception($this->arrayFieldNameForException["usrDueDate"] . ": " . \G::LoadTranslation("ID_MSG_ERROR_DUE_DATE")); } } else { throw new \Exception($this->arrayFieldNameForException["usrDueDate"] . ": " . \G::LoadTranslation("ID_MSG_ERROR_DUE_DATE")); } } if (isset($arrayData["USR_ROLE"])) { require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php"); $criteria = new \Criteria("rbac"); $criteria->add(\RolesPeer::ROL_CODE, $arrayData["USR_ROLE"]); $rsCriteria = \RolesPeer::doSelectRS($criteria); if (!$rsCriteria->next()) { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrRole"]))); } } if (isset($arrayData["USR_COUNTRY"]) && $arrayData["USR_COUNTRY"] != "") { $obj = \IsoCountryPeer::retrieveByPK($arrayData["USR_COUNTRY"]); if (is_null($obj)) { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrCountry"]))); } } if (isset($arrayData["USR_CITY"]) && $arrayData["USR_CITY"] != "") { if (!isset($arrayFinalData["USR_COUNTRY"]) || $arrayFinalData["USR_COUNTRY"] == "") { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrCountry"]))); } $obj = \IsoSubdivisionPeer::retrieveByPK($arrayFinalData["USR_COUNTRY"], $arrayData["USR_CITY"]); if (is_null($obj)) { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrCity"]))); } } if (isset($arrayData["USR_LOCATION"]) && $arrayData["USR_LOCATION"] != "") { if (!isset($arrayFinalData["USR_COUNTRY"]) || $arrayFinalData["USR_COUNTRY"] == "") { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrCountry"]))); } $obj = \IsoLocationPeer::retrieveByPK($arrayFinalData["USR_COUNTRY"], $arrayData["USR_LOCATION"]); if (is_null($obj)) { throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_FOR", array($this->arrayFieldNameForException["usrLocation"]))); } } if (isset($arrayData["USR_CALENDAR"]) && $arrayData["USR_CALENDAR"] != "") { $obj = \CalendarDefinitionPeer::retrieveByPK($arrayData["USR_CALENDAR"]); if (is_null($obj)) { throw new \Exception(\G::LoadTranslation("ID_CALENDAR_DOES_NOT_EXIST", array($this->arrayFieldNameForException["usrCalendar"], $arrayData["USR_CALENDAR"]))); } } if (isset($arrayData["DEP_UID"]) && $arrayData["DEP_UID"] != "") { $department = new \Department(); if (!$department->existsDepartment($arrayData["DEP_UID"])) { throw new \Exception(\G::LoadTranslation("ID_DEPARTMENT_NOT_EXIST", array($this->arrayFieldNameForException["depUid"], $arrayData["DEP_UID"]))); } } } catch (\Exception $e) { throw $e; } }
public function getCalendarData ($calendarUid = null) { require_once ( 'classes/model/CalendarDefinition.php' ); $calendarUid = (is_null($calendarUid)) ? $this->pmCalendarUid : $calendarUid; $this->pmCalendarUid = $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 ['BUSINESS_DAY'] [1] ['DIFF_HOURS'] = '8'; $defaultCalendar ['HOURS_FOR_DAY'] = '8'; $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 = $this->getCalendarBusinessHours ( $calendarUid ); $numDay = 8; $daysHours = array(); $hoursCant = array(); $modaHours = 0; $keyModa = 0; foreach ($CalendarBusinessHours as $value) { if ($value['CALENDAR_BUSINESS_DAY'] != $numDay) { $numDay = $value['CALENDAR_BUSINESS_DAY']; $daysHours[$numDay] = 0; } $daysHours[$numDay] += $value['DIFF_HOURS']; } foreach ($daysHours as $value) { if (isset($hoursCant[$value])) { $hoursCant[$value]++; } else { $hoursCant[$value] = 1; } } foreach ($hoursCant as $key => $value) { if ($value > $modaHours ) { $modaHours = $value; $keyModa = $key; } } $fields ['HOURS_FOR_DAY'] = $keyModa; $fields ['BUSINESS_DAY'] = $CalendarBusinessHours; $CalendarHolidaysObj = new CalendarHolidays ( ); $CalendarHolidays = $this->getCalendarHolidays ( $calendarUid ); $fields ['HOLIDAY'] = $CalendarHolidays; $fields=$this->validateCalendarInfo($fields, $defaultCalendar); $this->pmCalendarData = $fields; return $this->pmCalendarData; }
/** * Verify if doesn't exists the Calendar in table CALENDAR_DEFINITION * * @param string $calendarUid Unique id of Calendar * @param string $fieldNameForException Field name for the exception * * return void Throw exception if doesn't exists the Calendar in table CALENDAR_DEFINITION */ public function throwExceptionIfNotExistsCalendar($calendarUid, $fieldNameForException) { try { $obj = \CalendarDefinitionPeer::retrieveByPK($calendarUid); if (!(is_object($obj) && get_class($obj) == "CalendarDefinition")) { throw new \Exception(\G::LoadTranslation("ID_CALENDAR_DOES_NOT_EXIST", array($fieldNameForException, $calendarUid))); } } catch (\Exception $e) { throw $e; } }
/** * Implementation for 'DELETE' method for Rest API * * @param mixed $calendarUid Primary key * * @return array $result Returns array within multiple records or a single record depending if * a single selection was requested passing id(s) as param */ protected function delete($calendarUid) { $conn = Propel::getConnection(CalendarDefinitionPeer::DATABASE_NAME); try { $conn->begin(); $obj = CalendarDefinitionPeer::retrieveByPK($calendarUid); if (!is_object($obj)) { throw new RestException(412, 'Record does not exist.'); } $obj->delete(); $conn->commit(); } catch (Exception $e) { $conn->rollback(); throw new RestException(412, $e->getMessage()); } }