Example #1
0
 /**
  * Add and Update WorkWeek
  * @param Weekends $dayOff
  * @return boolean
  */
 public function saveWorkWeek(WorkWeek $workWeek)
 {
     try {
         $workWeek->save();
         return $workWeek;
     } catch (Exception $e) {
         throw new DaoException($e->getMessage());
     }
 }
 public function execute($request)
 {
     //Keep Menu in Leave/Config
     $request->setParameter('initialActionName', 'defineWorkWeek');
     $workWeek = $this->getWorkWeekService()->getWorkWeekOfOperationalCountry(null);
     if (empty($workWeek)) {
         $workWeek = new WorkWeek();
     }
     $this->workWeekForm = new WorkWeekForm(array('workWeekEntity' => $workWeek));
     if ($request->isMethod(sfRequest::POST)) {
         $this->workWeekForm->bind($request->getParameter($this->workWeekForm->getName()));
         if ($this->workWeekForm->isValid()) {
             try {
                 $workWeek->setMon($this->workWeekForm->getValue('day_length_Monday'));
                 $workWeek->setTue($this->workWeekForm->getValue('day_length_Tuesday'));
                 $workWeek->setWed($this->workWeekForm->getValue('day_length_Wednesday'));
                 $workWeek->setThu($this->workWeekForm->getValue('day_length_Thursday'));
                 $workWeek->setFri($this->workWeekForm->getValue('day_length_Friday'));
                 $workWeek->setSat($this->workWeekForm->getValue('day_length_Saturday'));
                 $workWeek->setSun($this->workWeekForm->getValue('day_length_Sunday'));
                 $this->getWorkWeekService()->saveWorkWeek($workWeek);
                 $this->getUser()->setFlash('success', __(TopLevelMessages::SAVE_SUCCESS), false);
             } catch (Exception $e) {
                 $this->getUser()->setFlash('failure', __(TopLevelMessages::SAVE_FAILURE), false);
             }
         } else {
             $this->getUser()->setFlash('failure', __(TopLevelMessages::SAVE_FAILURE), false);
         }
     }
 }
 public function execute($request)
 {
     $workWeek = $this->getWorkWeekService()->getWorkWeekOfOperationalCountry(null);
     if (empty($workWeek)) {
         $workWeek = new WorkWeek();
     }
     $this->workWeekForm = new WorkWeekForm(array('workWeekEntity' => $workWeek));
     if ($request->isMethod(sfRequest::POST)) {
         $workWeekService = $this->getWorkWeekService();
         $this->workWeekForm->bind($request->getParameter($this->workWeekForm->getName()));
         if ($this->workWeekForm->isValid()) {
             try {
                 $workWeek->setMon($this->workWeekForm->getValue('day_length_Monday'));
                 $workWeek->setTue($this->workWeekForm->getValue('day_length_Tuesday'));
                 $workWeek->setWed($this->workWeekForm->getValue('day_length_Wednesday'));
                 $workWeek->setThu($this->workWeekForm->getValue('day_length_Thursday'));
                 $workWeek->setFri($this->workWeekForm->getValue('day_length_Friday'));
                 $workWeek->setSat($this->workWeekForm->getValue('day_length_Saturday'));
                 $workWeek->setSun($this->workWeekForm->getValue('day_length_Sunday'));
                 $this->getWorkWeekService()->saveWorkWeek($workWeek);
                 $this->templateMessage = array('SUCCESS', __(TopLevelMessages::SAVE_SUCCESS));
             } catch (Exception $e) {
                 $this->templateMessage = array('FAILURE', __(TopLevelMessages::SAVE_FAILURE));
             }
         } else {
             $this->templateMessage = array('FAILURE', __(TopLevelMessages::SAVE_FAILURE));
         }
     }
 }
 /**
  * view Holiday list
  * @param sfWebRequest $request
  */
 public function execute($request)
 {
     //Keep Menu in Leave/Config
     $request->setParameter('initialActionName', 'viewHolidayList');
     $this->searchForm = $this->getSearchForm();
     $dateRange = $this->getLeavePeriodService()->getCalenderYearByDate(time());
     $startDate = $dateRange[0];
     $endDate = $dateRange[1];
     if ($request->isMethod('post')) {
         $this->searchForm->bind($request->getParameter($this->searchForm->getName()));
         if ($this->searchForm->isValid()) {
             $values = $this->searchForm->getValues();
             $startDate = $values['calFromDate'];
             $endDate = $values['calToDate'];
         }
     }
     $this->daysLenthList = WorkWeek::getDaysLengthList();
     $this->yesNoList = WorkWeek::getYesNoList();
     $this->holidayList = $this->getHolidayService()->searchHolidays($startDate, $endDate);
     $this->setListComponent($this->holidayList);
     $message = $this->getUser()->getFlash('templateMessage');
     $this->messageType = isset($message[0]) ? strtolower($message[0]) : "";
     $this->message = isset($message[1]) ? $message[1] : "";
     if ($this->getUser()->hasFlash('templateMessage')) {
         $this->templateMessage = $this->getUser()->getFlash('templateMessage');
         $this->getUser()->setFlash('templateMessage', array());
     }
 }
 /**
  * view Holiday list
  * @param sfWebRequest $request
  */
 public function execute($request)
 {
     $this->searchForm = $this->getSearchForm();
     $leavePeriodService = $this->getLeavePeriodService();
     //retrieve current leave period id
     $leavePeriodId = !$leavePeriodService->getCurrentLeavePeriod() instanceof LeavePeriod ? 0 : $leavePeriodService->getCurrentLeavePeriod()->getLeavePeriodId();
     $startDate = date("Y-m-d");
     $endDate = date("Y-m-d");
     if ($leavePeriodService->getCurrentLeavePeriod() instanceof LeavePeriod) {
         $startDate = $leavePeriodService->getCurrentLeavePeriod()->getStartDate();
         $endDate = $leavePeriodService->getCurrentLeavePeriod()->getEndDate();
     }
     if ($request->isMethod('post')) {
         $this->searchForm->bind($request->getParameter($this->searchForm->getName()));
         if ($this->searchForm->isValid()) {
             $leavePeriodId = $this->searchForm->getValue('leave_period');
             $leavePeriod = $leavePeriodService->readLeavePeriod($leavePeriodId);
             if ($leavePeriod instanceof LeavePeriod) {
                 $startDate = $leavePeriod->getStartDate();
                 $endDate = $leavePeriod->getEndDate();
             }
         }
     }
     $this->leavePeriodId = $leavePeriodId;
     $this->daysLenthList = WorkWeek::getDaysLengthList();
     $this->yesNoList = WorkWeek::getYesNoList();
     $this->holidayList = $this->getHolidayService()->searchHolidays($startDate, $endDate);
     $this->setListComponent($this->holidayList);
     $message = $this->getUser()->getFlash('templateMessage');
     $this->messageType = isset($message[0]) ? strtolower($message[0]) : "";
     $this->message = isset($message[1]) ? $message[1] : "";
     if ($this->getUser()->hasFlash('templateMessage')) {
         $this->templateMessage = $this->getUser()->getFlash('templateMessage');
         $this->getUser()->setFlash('templateMessage', array());
     }
 }
Example #6
0
 /**
  * Get required days Length List ignore "Weekend"
  */
 public function getDaysLengthList()
 {
     $fullDaysLengthList = WorkWeek::getDaysLengthList();
     unset($fullDaysLengthList[8]);
     return $fullDaysLengthList;
 }
Example #7
0
 protected final function getDayLengthDefaults()
 {
     $formDefaults = array();
     $daysOfWeek = WorkWeek::getDaysList();
     foreach ($daysOfWeek as $isoValue => $day) {
         $formDefaults['day_length_' . $day] = $this->getWorkWeekEntity()->getLength($isoValue);
     }
     return $formDefaults;
 }
 public function testGetWorkWeekOfOperationalCountry()
 {
     $defaultWorkWeek = new WorkWeek();
     $defaultWorkWeek->setId(1);
     $workWeek = new WorkWeek();
     $workWeek->setId(2);
     $recordsMock = $this->getMock('Doctrine_Collection', array('getFirst'), array('WorkWeek'));
     $recordsMock->expects($this->exactly(3))->method('getFirst')->will($this->onConsecutiveCalls($defaultWorkWeek, $defaultWorkWeek, $workWeek));
     $workWeekDaoMock = $this->getMock('WorkWeekDao', array('searchWorkWeek'));
     $workWeekDaoMock->expects($this->any())->method('searchWorkWeek')->will($this->returnValue($recordsMock));
     $this->workWeekService->setWorkWeekDao($workWeekDaoMock);
     $result = $this->workWeekService->getWorkWeekOfOperationalCountry(null);
     $this->assertEquals($defaultWorkWeek, $result);
     $result = $this->workWeekService->getWorkWeekOfOperationalCountry(1);
     $this->assertEquals($defaultWorkWeek, $result);
     $result = $this->workWeekService->getWorkWeekOfOperationalCountry(2);
     $this->assertEquals($workWeek, $result);
 }