/** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('driverId', 'integer', array('label' => 'drivingassertion.field.driverid', 'disabled' => true, 'required' => false)); $builder->add('driverName', 'text', array('label' => 'drivingassertion.field.drivername', 'disabled' => true, 'required' => false)); $builder->add('id', 'integer', array('label' => 'drivingassertion.field.id', 'disabled' => true, 'required' => false)); $builder->add('sortOrderString', 'text', array('label' => 'drivingassertion.field.sortorder', 'disabled' => true, 'required' => false)); $builder->add('day', 'text', array('label' => 'drivingassertion.field.day2', 'disabled' => true, 'required' => false)); $builder->add('shift', 'text', array('label' => 'drivingassertion.field.shift2', 'disabled' => true, 'required' => false)); $builder->add('assertionStatus', 'choice', array('label' => 'drivingassertion.field.status', 'choices' => DrivingAssertion::getStatusArray(), 'disabled' => true, 'required' => false)); $builder->add('frequency', 'text', array('label' => 'drivingassertion.field.frequency2', 'disabled' => true, 'required' => false)); $builder->add('parentSubject', 'text', array('label' => 'drivingassertion.field.subject', 'disabled' => true, 'required' => false)); $builder->add('parentMemo', 'textarea', array('label' => 'drivingassertion.field.memo', 'disabled' => true, 'required' => false)); }
public function drivingAssertionToDrivingAssertionEditDTO(DrivingAssertion $drivingAssertion) { $dto = new DrivingAssertionEditDTO(); $dto->id = $drivingAssertion->getId(); $dto->driverId = $drivingAssertion->getDriver()->getId(); $dto->driverName = $drivingAssertion->getDriver()->getFirstname() . " " . $drivingAssertion->getDriver()->getLastname(); $dto->sortOrderString = $drivingAssertion->getSortOrderAsString(); $dto->day = $drivingAssertion->getShift()->getWorkingDay()->getWeekDayAsString(); $dto->shift = $drivingAssertion->getShift()->getShiftType()->getName(); $dto->frequency = $drivingAssertion->getFrequency(); $dto->assertionStatus = $drivingAssertion->getStatus(); $parent = $drivingAssertion->getRepeatedDrivingAssertionPlan(); $dto->parentMemo = isset($parent) ? $parent->getMemo() : ''; $dto->parentSubject = isset($parent) ? $parent->getSubject() : ''; return $dto; }
/** ------------------------- * Create a driving assertion, assign driver and shift. * * @param Driver $driver * @param $swissDate * @param $shiftTypeName * @return bool */ private function registerUniqueDrivingAssertion(Driver $driver, $swissDate, $shiftTypeName) { /** @var DateTimeService $dateTimeService */ $dateTimeService = $this->container->get('tixi_api.datetimeservice'); $dt = $dateTimeService->convertDateTimeStringToUTCDateTime($swissDate . ' 00:00'); /** @var ShiftRepository $shiftRepository */ $shiftRepository = $this->container->get('shift_repository'); $shifts = $shiftRepository->findShiftsForDay($dt); /** @var Shift $shift */ foreach ($shifts as $shift) { if ($shift->getShiftType()->getName() == $shiftTypeName) { if (!$driver->hasDrivingAssertionForShift($shift)) { $drivingAssertion = DrivingAssertion::registerDrivingAssertion($driver, $shift); /** @var DrivingAssertionRepository $daRepository */ $daRepository = $this->container->get('drivingassertion_repository'); $daRepository->store($drivingAssertion); return true; /* success */ } } } return false; /* failure */ }
/** * @param Driver $driver * @param Shift $shift * @return DrivingAssertion */ public static function registerDrivingAssertion(Driver $driver, Shift $shift) { $drivingAssertion = new DrivingAssertion(); $drivingAssertion->assignShift($shift); $drivingAssertion->assignDriver($driver); $drivingAssertion->setStatus(self::STANDBY); return $drivingAssertion; }