/** * Printa un calendario según el año y mes que se le pasan del qual se puede realizar una reserva. * @Route("/show/{year}/{mes}", name="calendario_mes") */ public function mesAction($year, $mes) { //Objeto DateTime para ponerlo al primer dia del año y mes determinados $data = new \DateTime(); $data->setDate($year, $mes, 1); $cantidad_dias = $data->format('t'); // //array con los dias del mes en formato [1]Miércoles, [2]Jueves según mes y año $diasMes = []; for ($i = 1; $i <= $cantidad_dias; $i++) { $dia = $this->traduccionDia($data->format('l')); $diasMes[$i] = $dia; //añade el primer dia del mes según Martes, Lunes... $data->modify('tomorrow'); } // $em = $this->getDoctrine()->getManager(); //array de las fiestas de un año y mes determinados $fiestas = $em->getRepository('CineticExcepcionBundle:Fiesta')->findAllFromYearAndMonth($year, $mes); // //array de las excepciones en un año y mes determinados $excepciones = $em->getRepository('CineticExcepcionBundle:Excepcion')->findAllFromYearAndMonth($year, $mes); // //array de las reservas en un año y mes determinados $reservas = $em->getRepository('CineticReservaBundle:Reserva')->findAllFromYearAndMonth($year, $mes); // //array que relaciona numero del dia con las franjas o no del objeto $diasObjeto = []; for ($i = 1; $i <= $cantidad_dias; $i++) { //en primer lugar miro si existe una fiestaObjeto en este dia numero $i $fiestaObjeto = $this->buscarDia($fiestas, $i); if ($fiestaObjeto) { $diasObjeto[$i] = $fiestaObjeto; } else { //en segundo lugar miro si existe una ExcepcionObjeto en esta dia numero $i $excepcionObjeto = $this->buscarDia($excepciones, $i); if ($excepcionObjeto) { $diasObjeto[$i] = $excepcionObjeto; } else { $diasObjeto[$i] = $em->getRepository('CineticDiaBundle:Dia')->findOneByNombre($diasMes[$i]); } } } //array que mira si hay dias reservados en este mes $diasReservados = []; for ($i = 1; $i <= $cantidad_dias; $i++) { $reservaObjeto = $this->buscarDia($reservas, $i); if ($reservaObjeto) { $diasReservados[$i] = $reservaObjeto; } } // return $this->render('calendario/mes.html.twig', array('year' => $year, 'mes' => $mes, 'diasMes' => $diasMes, 'diasObjeto' => $diasObjeto, 'diasReservados' => $diasReservados)); }
/** * @covers: RI\FileManagerBundle\Manager\UploadDirectoryManager::getNewPath * @covers: RI\FileManagerBundle\Manager\UploadDirectoryManager::getAbsoluteUploadDirPath * @covers: RI\FileManagerBundle\Manager\UploadDirectoryManager::generateNewFileName * @covers: RI\FileManagerBundle\Manager\UploadDirectoryManager::createDestinationDir */ public function testGetNewPath_IfFileExist() { $date = new \DateTime(); $expectedPath = sprintf('/upload/%s/%s/%s/7/79/790f1bfea8585c9bc2e7b6267cb212e1.jpg', $date->format('y'), $date->format('m'), $date->format('d')); $expectedPathSecondFile = sprintf('/upload/%s/%s/%s/7/79/8b912a2bf1302f5a1170d3e57d8f8caf.jpg', $date->format('y'), $date->format('m'), $date->format('d')); $this->assertEquals($expectedPath, $this->uploadDirectoryManager->getNewPath('hello_world.jpg')); copy(__DIR__ . '/hello_world.jpg', sprintf('/tmp/web/upload/%s/%s/%s/7/79/790f1bfea8585c9bc2e7b6267cb212e1.jpg', $date->format('y'), $date->format('m'), $date->format('d'))); $this->assertEquals($expectedPathSecondFile, $this->uploadDirectoryManager->getNewPath('hello_world.jpg')); }
public function buildForm(\Symfony\Component\Form\FormBuilderInterface $builder, array $options) { for ($i = 0; $i < 5; $i++) { foreach ($options['weekDates'] as $index => $weekDate) { $dateTime = new \DateTime($weekDate); $builder->add('project_' . $i . '_' . $index, EntityType::class, ['class' => 'Admin\\FrontendBundle\\Entity\\Project', 'placeholder' => '', 'attr' => ['class' => 'select2'], 'required' => false]); $builder->add('time_from_' . $i . '_' . $index, TextType::class, ['required' => false, 'attr' => ['class' => 'timerFrom', 'data-date' => $dateTime->format('Y-m-d')]]); $builder->add('time_to_' . $i . '_' . $index, TextType::class, ['required' => false, 'attr' => ['class' => 'timerTo', 'data-date' => $dateTime->format('Y-m-d')]]); $builder->add('km_' . $i . '_' . $index, TextType::class, ['required' => false, 'attr' => ['class' => 'col-md-2']]); $builder->add('pay_type_' . $i . '_' . $index, EntityType::class, ['class' => 'Admin\\FrontendBundle\\Entity\\AttendancePayType', 'placeholder' => '', 'attr' => ['class' => 'select2'], 'required' => false]); } } $builder->add('submit', SubmitType::class, array('label' => 'Save', 'attr' => array('class' => 'btn btn-primary'))); parent::buildForm($builder, $options); }
/** * @Route("/rooms/{id}", name="showRoom") * @param string $id * @param Request $request * @throws \Exception * @return \Symfony\Component\HttpFoundation\Response */ public function roomsAction($id, Request $request) { if ($id == 'random') { $page = $this->getDoctrine()->getRepository('AppBundle:Pages')->getRandomPage(); if (!$page) { return $this->render('default/empty.html.twig'); } } else { $page = $this->getDoctrine()->getRepository('AppBundle:Pages')->find($id); if (!$page) { throw $this->createNotFoundException('No page found for request param ' . $id); } } $imagesCollector = new ImagesViewCollector(); $bookingEntity = new Booking(); $calculator = new Calculator(); $context = new CalculationContext(); $context->setPricePerNight($page->getRawValue('priceNight')); $now = new \DateTime(); $context->setCheckInDate($now->format('Y-m-d')); $context->setCheckOutDate($now->modify('+1 day')->format('Y-m-d')); $calcResult = $calculator->calculate($context); $bookingEntity->setGuestsCount($calcResult['guestsCount']); $bookingEntity->setPriceString($calcResult['pricePerNight']); $bookingEntity->setCheckinDate($calcResult['checkinDate']); $bookingEntity->setCheckoutDate($calcResult['checkoutDate']); $bookingEntity->setPage($page); $bookingEntity->setPageId($page->getId()); $form = $this->createForm(new BookingForm('/add-booking/' . $page->getId()), $bookingEntity); $form->handleRequest($request); return $this->render('default/index.html.twig', array('page' => $page, 'images' => $imagesCollector->collect($page), 'bookingCalc' => $calcResult, 'form' => $form->createView())); }
protected function execute(InputInterface $input, OutputInterface $output) { /** @var EntityManager em */ $em = $this->getContainer()->get('doctrine')->getManager(); $users = $em->getRepository('ESNUserBundle:User')->findBy(array("esner" => 1)); $concerned_users = new ArrayCollection(); /** @var User $user */ foreach ($users as $user) { /** @var EsnerFollow $follow */ $follow = $user->getFollow(); if ($follow) { $trial = $follow->getTrialstarted(); $end_trial = $trial; date_add($trial, date_interval_create_from_date_string('21 days')); $now = new \DateTime(); if ($end_trial->format('d/m/Y') == $now->format('d/m/Y')) { $concerned_users->add($user); } } } /** @var User $concerned_user */ foreach ($concerned_users as $concerned_user) { $message = \Swift_Message::newInstance()->setSubject('[ESN Lille][ERP] Periode d\'essaie terminé pour ' . $concerned_user->getFullname())->setFrom($this->getContainer()->getParameter('mailer_from'))->setTo($user->getEmail())->setBody($this->getContainer()->get('templating')->render('ESNHRBundle:Emails:trial_ended.html.twig', array('user' => $concerned_user)), 'text/html'); $this->getContainer()->get('mailer')->send($message); } }
/** * @return WorkingMonth[] */ public function findProspectiveWorkingMonths() { $startMonth = new \DateTime(); $startMonth->modify('first day of this month'); $qb = parent::createQueryBuilder('e'); $qb->where('e.date >= :startMonth')->andWhere('e.isDeleted = 0')->setParameter('startMonth', $startMonth->format('Y-m-d')); return $qb->getQuery()->getResult(); }
/** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { #Data atual. $dataHoje = new \DateTime("now"); #Formatação do número do protocolo em ano, mês, dia, minuto e segundo. $codId = $dataHoje->format("Ymdhis"); $builder->add('codIndentificadorDocumento', 'text', array('label' => 'Registro Documento *', 'required' => false, 'data' => $codId, 'constraints' => array(new NotNull(array('message' => 'Código identificador inválido.'))), 'attr' => array('readonly' => true, 'widget_col' => '4', "class" => "")))->add('numOficio', 'text', array('label' => 'Número do ofício *', 'attr' => array('widget_col' => '4')))->add('observacaoDocumento', 'textarea', array('label' => 'Observação: ', 'required' => false, 'attr' => array('placeholder' => 'Observação', 'widget_col' => '6', 'class' => 'mask_letras', 'onkeyup' => 'mascara( this, alphanum )')))->add('dataEntradaDocumento', 'datetime', array('label' => false, 'required' => false, 'data' => $dataHoje, 'constraints' => array(new DateTime(array('message' => 'Formato de Data não é válido'))), 'attr' => array('widget_col' => '2', 'hidden' => true)))->add('empresa', 'entity', array('label' => 'Empresa de Origem', 'required' => false, 'empty_value' => "Selecione a empresa", 'class' => 'Serbinario\\Bundles\\ProtocoloBundle\\Entity\\Empresas', 'attr' => array('widget_col' => '4', 'class' => '')))->add('tipoDocumentosTipoDocumento', 'entity', array('label' => 'Tipo do Documento * ', 'required' => false, 'empty_value' => "Selecione o tipo", 'class' => 'Serbinario\\Bundles\\ProtocoloBundle\\Entity\\TipoDocumentos', 'constraints' => array(new NotNull(array('message' => 'Você deve fornecer um tipo de documento'))), 'attr' => array('widget_col' => '4', 'class' => '')))->add('secretariasSecretaria', 'entity', array('label' => 'Secretaria de Origem', 'empty_value' => "Selecione a secretaria", 'required' => false, 'class' => 'Serbinario\\Bundles\\ProtocoloBundle\\Entity\\Secretarias', 'attr' => array('widget_col' => '4')))->add('actions', 'form_actions', ['buttons' => ['save' => ['type' => 'submit', 'options' => ['label' => 'Salvar']], 'cancel' => ['type' => 'button', 'options' => ['label' => 'Voltar']]]]); }
protected function import(InputInterface $input, OutputInterface $output, $agency_to_import) { // Getting php array of data from CSV $data = $this->get($input, $output, $agency_to_import); // Getting doctrine manager $em = $this->getContainer()->get('doctrine')->getManager(); // Turning off doctrine default logs queries for saving memory $em->getConnection()->getConfiguration()->setSQLLogger(null); // Define the size of record, the frequency for persisting the data and the current index of records $size = count($data); $batchSize = 20; $i = 1; // Starting progress $progress = new ProgressBar($output, $size); $progress->start(); // Processing on each row of data foreach ($data as $row) { //Create new collaborator, find his agency, format his birth date $collaborator = new Collaborator(); $birthDate = \DateTime::createFromFormat('d/m/Y', $row['Date_Naissance']); $agency = $em->getRepository('CharlestownAgencyBundle:Agency')->find($row['group_name']); //Update is infos $collaborator->setUsername($row['users_login']); $collaborator->setPlainPassword($row['password']); $collaborator->setEmail($row['users_email']); $collaborator->setLastName($row['users_surname']); $collaborator->setFirstName($row['users_name']); $collaborator->setEnabled($row['active']); $collaborator->setAgency($agency); $collaborator->setAddress($row['adresse']); $collaborator->setPc($row['code_postal']); $collaborator->setTown($row['ville']); $collaborator->setPortPhoneNumber($row['portable']); $collaborator->setPhoneNumber($row['telephone']); $collaborator->setBirthDate($birthDate); // Do stuff here ! // Persisting the current user $em->persist($collaborator); // Each 20 users persisted we flush everything if ($i % $batchSize === 0) { $em->flush(); // Detaches all objects from Doctrine for memory save $em->clear(); // Advancing for progress display on console $progress->advance($batchSize); $now = new \DateTime(); $output->writeln(' of users imported ... | ' . $now->format('d-m-Y G:i:s')); } $i++; } // Flushing and clear data on queue $em->flush(); $em->clear(); // Ending the progress bar process $progress->finish(); }
protected function import(InputInterface $input, OutputInterface $output) { // Getting php array of data from CSV $data = $this->get($input, $output); // Getting doctrine manager $em = $this->getContainer()->get('doctrine')->getManager(); // Turning off doctrine default logs queries for saving memory $em->getConnection()->getConfiguration()->setSQLLogger(null); // Define the size of record, the frequency for persisting the data and the current index of records $size = count($data); $batchSize = 10; $i = 1; // Starting progress $progress = new ProgressBar($output, $size); $progress->start(); // Processing on each row of data foreach ($data as $row) { //Create new collaborator, find his agency $collaborator = new Collaborator(); $agency = $em->getRepository('CharlestownAgencyBundle:Agency')->find($row['code_agence']); //Update is infos $collaborator->setUsername($row['id']); $collaborator->setPlainPassword($row['password']); $collaborator->setAgency($agency); $collaborator->setEmail($row['mail']); $collaborator->setLastName($row['nom']); $collaborator->setFirstName($row['prenom']); $collaborator->setPortPhoneNumber($row['portable']); $collaborator->setPhoneNumber($row['fixe']); $collaborator->addRole('ROLE_USER'); $collaborator->addRole('ROLE_ADMIN'); $collaborator->addRole('ROLE_AE'); $collaborator->addRole('ROLE_EVENT'); $collaborator->setEnabled(true); // Persisting the current user $em->persist($collaborator); // Each 20 users persisted we flush everything if ($i % $batchSize === 0) { $em->flush(); // Detaches all objects from Doctrine for memory save $em->clear(); // Advancing for progress display on console $progress->advance($batchSize); $now = new \DateTime(); $output->writeln(' of admins imported ... | ' . $now->format('d-m-Y G:i:s')); } $i++; } // Flushing and clear data on queue $em->flush(); $em->clear(); // Ending the progress bar process $progress->finish(); }
/** * @Route("/", name="homepage") */ public function indexAction(Request $request) { $em = $this->getDoctrine()->getManager(); $topics = $this->getDoctrine()->getRepository('AppBundle:Topics')->findByTopEighteen(); $authors = $this->getDoctrine()->getRepository('AppBundle:Authors')->findByTopEighteen(); $homepic = $this->getDoctrine()->getRepository('AppBundle:Quotes')->findByPicHome(2); $date = new \DateTime(); # todo: rank-aar ne shvvj xaryylax $query = $em->createQuery("SELECT p\n FROM AppBundle:Authors p\n WHERE p.born LIKE :date")->setParameter('date', '%' . $date->format('-m-d')); $birthdays = $query->setMaxResults(5)->getResult(); // replace this example code with whatever you need return $this->render('default/index.html.twig', array('topics' => $topics, 'authors' => $authors, 'birthdays' => $birthdays, 'homepic' => $homepic, 'menu' => '1')); }
protected function execute(InputInterface $input, OutputInterface $output) { // Showing when the script is launched $now = new \DateTime(); $output->writeln('<comment>Start : ' . $now->format('d-m-Y G:i:s') . ' ---</comment>'); $type = "collaborator"; $this->import($input, $output, $type); $type = "customer"; $this->import($input, $output, $type); // Showing when the script is over $now = new \DateTime(); $output->writeln('<comment>End : ' . $now->format('d-m-Y G:i:s') . ' ---</comment>'); }
/** * @Route("/addOrder/{user_id}/{product_id}/{count}") */ public function addOrderAction($user_id, $product_id, $count) { $date = new \DateTime("now"); $order = new Order($user_id, $product_id, $date->format('d-m-Y'), $count); print_r($order); $em = $this->getDoctrine()->getManager(); $em->persist($order); $em->flush(); $result = array("response" => "true"); $response = new Response(json_encode($result)); $response->headers->set('Content-Type', 'application/json'); return $response; }
/** * Displays a form to edit an existing Product entity. * * @Route("/{id}/edit", name="product_edit") * @Method({"GET", "POST"}) */ public function editAction(Request $request, Product $product) { $deleteForm = $this->createDeleteForm($product); $editForm = $this->createForm(ProductType::class, $product); $editForm->handleRequest($request); if ($editForm->isSubmitted() && $editForm->isValid()) { $em = $this->getDoctrine()->getManager(); $nowUtc = new \DateTime('now', new \DateTimeZone('Asia/Dhaka')); $product->setDateModified($nowUtc->format("d-M-Y h:i:s")); $em->persist($product); $em->flush(); return $this->redirectToRoute('product_edit', array('id' => $product->getId())); } return $this->render('product/edit.html.twig', array('product' => $product, 'edit_form' => $editForm->createView(), 'delete_form' => $deleteForm->createView())); }
/** * Transforms a value from the transformed representation to its original * representation. * * This method is called when {@link Form::bind()} is called to transform the requests tainted data * into an acceptable format for your data processing/model layer. * * This method must be able to deal with empty values. Usually this will * be an empty string, but depending on your implementation other empty * values are possible as well (such as empty strings). The reasoning behind * this is that value transformers must be chainable. If the * reverseTransform() method of the first value transformer outputs an * empty string, the second value transformer must be able to process that * value. * * By convention, reverseTransform() should return NULL if an empty string * is passed. * * @param mixed $value The value in the transformed representation * * @return mixed The value in the original representation * * @throws UnexpectedTypeException when the argument is not of the expected type * @throws TransformationFailedException when the transformation fails */ public function reverseTransform($value) { if (!$value instanceof \DateTime) { return $value; } if (null == $value) { return null; } if ($this->widgetType == 'date') { $value = new \DateTime($value->format('Y-m-d')); } if ($this->widgetType == 'time' or $this->widgetType == 'day') { $value = new \DateTime('1970-01-01 ' . $value->format('H:i:s')); } return $value; }
/** * @Route("/addMess/{from}/{to}/{mes}") */ public function addAction($from, $to, $mes) { $message = new Message(); $message->setFromId($from); $message->setToId($to); $message->setMessage($mes); $message->setStatus(0); $message->setDateTime(new \DateTime("now")); $date = new \DateTime("now"); $date->format('Y-m-d h-m-s'); print_r($date); $mrepo = $this->getDoctrine()->getManager(); $mrepo->persist($message); $mrepo->flush(); return new Response(); }
public function _header() { $date = new \DateTime(); $this->setFont('Arial', 'B', 16); $this->cell(0, 8, 'Référence', 0, 1); $this->setFont('Arial', '', 16); $this->multicell(0, 8, $this->entity->getWork()->getPlace(), 0); $this->cell(0, 8, 'Code : ' . $this->entity->getWork()->getDoor()->getCode(), 0); $this->cell(0, 8, 'Imprimé le ' . $date->format('d/m/Y'), 0, 1, 'R'); $quote = $this->entity->getWork()->getQuote(); if ($quote === null) { $this->cell(0, 8, 'Complet', 0, 1, 'R'); } else { $this->cell(0, 8, 'Devis n°' . $quote->getNumber(), 0, 1, 'R'); } if ($this->entity->getTime() > 0) { $this->cell(0, 8, 'Temps prévu (heure/technicien) : ' . $this->entity->getTime(), 0, 1, 'R'); } $this->ln(12); }
/** * Exibe os detalhes do produto e seuas estatisticas * * @Route("/{id}", name="produto_show") * @Method("GET") * @Template() */ public function showAction($id) { $em = $this->getDoctrine()->getManager(); $entity = $em->getRepository('ProdutoBundle:Produto')->find($id); $data = new \DateTime(); $data->modify('+1 month'); //starta o indicador como 0 $indicador = 0; //retorna o indicador baseado no mes seguinte $indicadorProxMes = $em->getRepository('ProdutoBundle:EstatisticaMes')->findOneBy(array('mes' => $data->format('m'))); if (is_object($indicadorProxMes)) { $indicador = $indicadorProxMes->getIndicador(); } //Busca o total de vendas dando um SUM pela qtdVenda dos produtos $totVendas = $em->getRepository('ProdutoBundle:Produto')->getTotVendas(); //calculo do mix (tot_venda_produto/tot_venda) $mix = $entity->getQtdVenda() / $totVendas * 100; //multiplica o mix pelo indicador $estatistica = $mix * $indicadorProxMes->getIndicador(); if (!$entity) { throw $this->createNotFoundException('Unable to find Produto entity.'); } $deleteForm = $this->createDeleteForm($id); return array('entity' => $entity, 'delete_form' => $deleteForm->createView(), 'indicador' => $indicador, 'tot_vendas' => $totVendas, 'part_produto' => $mix, 'estatistica' => $estatistica); }
public function findCurrentEditionBySchool($schoolId) { $now = new \DateTime(); $qb = $this->createQueryBuilder('e')->where('e.dateOfEvent <= :today')->setParameter('today', $now->format("Y-m-d"))->andWhere('e.dateOfEvent >= :fourDaysAgo')->setParameter('fourDaysAgo', $now->modify('-4 day')->format("Y-m-d"))->join('e.schools', 's')->andWhere('s.id = :schoolId')->setParameter('schoolId', $schoolId)->orderBy('e.dateOfEvent', 'DESC'); return $qb->getQuery()->getSingleResult(); }
public function consultarAction(Request $request) { $form = $this->createFormBuilder()->add('fechas', 'text', array('label' => 'Rango de Fechas', 'attr' => array('placeholder' => 'Seleccione las fechas', 'describedby' => 'basic-addon1')))->add('categoria', 'entity', array('label' => 'Categoría de la Habitación', 'class' => 'LIHotelBundle:CategoriaHabitacion', 'choice_label' => 'nombre'))->add('tipo', 'entity', array('label' => 'Tipo de la Habitación', 'class' => 'LIHotelBundle:TipoHabitacion', 'choice_label' => 'nombre'))->add('cant_personas', 'integer', array('label' => 'Cantidad de Personas', 'data' => 1, 'precision' => 0))->setMethod('POST')->setAction($this->generateUrl('LIHotelBundle_consultar'))->add('submit', 'submit', array('label' => 'Realizar Consulta', 'attr' => array('class' => 'btn btn-success btn-block')))->getForm(); $habitaciones_disponibles = []; $costo_disponibles = []; $estadiaenDias = 0; $form->handleRequest($request); if ($form->isValid()) { $data = $form->getData(); /* Obteniendo los datos del formulario */ $fechas = $data['fechas']; $categoria = $data['categoria']; $tipo = $data['tipo']; $personas = $data['cant_personas']; $fecha_a = substr($fechas, 0, 10); $fecha_b = substr($fechas, 14, 24); $fecha_inicio = new \DateTime($fecha_a); $fecha_final = new \DateTime($fecha_b); $estadiaenDias = $this->cantidad_dias($fecha_inicio, $fecha_final); $em = $this->getDoctrine()->getManager(); $habitaciones_tipo = $em->getRepository('LIHotelBundle:Tipo')->habitaciones_tipo($tipo->getId(), $categoria->getId()); foreach ($habitaciones_tipo as $tipos) { $habitacion = $em->getRepository('LIHotelBundle:Habitacion')->habitacion_por_tipo($tipos->getId()); foreach ($habitacion as $room) { // Estas son las habitaciones del tipo y categoria especificadas por el usuario //Ahora tengo que buscar todas sus reservas $reservas = $em->getRepository('LIHotelBundle:Reserva')->reservas_habitacion($room->getId()); if (sizeof($reservas) == 0) { $cantidad = $em->getRepository('LIHotelBundle:OcupacionHabitacion')->obtener_ocupacion($tipo, $categoria->getId()); foreach ($cantidad as $key) { if ($key->getCantidadPersonasHabitacion() >= $personas) { $tipo_aux = $room->getTipo()->getTipoHabitacion()->getPrecio(); $categoria_aux = $room->getTipo()->getCategoriaHabitacion()->getPrecio(); $habitaciones_disponibles[] = [$room->getNombre(), $this->cantidad_dias($fecha_inicio, $fecha_final) * $tipo_aux * $categoria_aux]; } else { $this->get('session')->getFlashBag()->add('consulta_info', 'No se ha encontrado habitación debido a la cantidad de personas que indicó. Intente con una cantidad menor.'); } } } else { $cantidad = $em->getRepository('LIHotelBundle:OcupacionHabitacion')->obtener_ocupacion($tipo, $categoria->getId()); foreach ($cantidad as $key) { if ($key->getCantidadPersonasHabitacion() >= $personas) { foreach ($reservas as $reserva) { // si la reserva no está cancelada, solo queda ver si ya culmino, está en eso o por concretar if ($reserva->getEstadoReserva() != 'Cancelada') { //Escogiendo las cantidades permitidas de personas en las habitaciones $cantidad = $em->getRepository('LIHotelBundle:OcupacionHabitacion')->obtener_ocupacion($tipo->getId(), $categoria->getId()); foreach ($cantidad as $key) { // Segun la cantidad if ($key->getCantidadPersonasHabitacion() >= $personas) { $dias_reserva = $reserva->getDiasReserva() - 1; $fecha_reserva = $reserva->getFechaDesde(); $fecha_inicio_ = new \DateTime($fecha_reserva->format('Y-m-d')); $fecha_final_ = new \DateTime($fecha_inicio_->format('Y-m-d')); $fecha_final_->add(new \DateInterval('P' . $dias_reserva . 'D')); $puede = true; if ($fecha_inicio > $fecha_inicio_ && $fecha_inicio < $fecha_final_) { $puede = false; $this->get('session')->getFlashBag()->add('consulta_info', 'No hay habitación diponible en la fecha indicada.'); } if ($fecha_final > $fecha_inicio_ && $fecha_final < $fecha_final_) { $puede = false; $this->get('session')->getFlashBag()->add('consulta_info', 'No hay habitación diponible en la fecha indicada.'); } if ($fecha_inicio_ > $fecha_inicio && $fecha_inicio_ < $fecha_final) { $puede = false; $this->get('session')->getFlashBag()->add('consulta_info', 'No hay habitación diponible en la fecha indicada.'); } if ($fecha_inicio == $fecha_inicio_) { $puede = false; } if ($fecha_inicio == $fecha_final_) { $puede = false; } if ($fecha_final == $fecha_inicio_) { $puede = false; } if ($fecha_final == $fecha_final_) { $puede = false; } if ($puede) { $insertar = true; $tipo_aux = $room->getTipo()->getTipoHabitacion()->getPrecio(); $categoria_aux = $room->getTipo()->getCategoriaHabitacion()->getPrecio(); for ($i = 0; $i < sizeof($habitaciones_disponibles); $i++) { if ($habitaciones_disponibles[$i][0] == $room->getNombre()) { $insertar = false; } } if ($insertar) { $habitaciones_disponibles[] = [$room->getNombre(), $this->cantidad_dias($fecha_inicio, $fecha_final) * $tipo_aux * $categoria_aux]; } } } } } } } } } } } } return $this->render('LIHotelBundle:Inicio:consultar.html.twig', array('form' => $form->createView(), 'habitaciones_disponibles' => $habitaciones_disponibles, 'estadia' => $estadiaenDias)); }
public function StatistiquesAction() { $em = $this->getDoctrine()->getManager(); $statistiques = $em->getRepository('UserBundle:Statistiques'); $organismes = $em->getRepository('AppBundle:Organisme')->findAll(); $date = new \DateTime(); $years = $date->format('Y-m-d'); $years = substr($years, 0, 4); $statistiques_par_mois_global = $statistiques->getStatistiquesParMois($years); $statistiques_par_mois_accueil = $statistiques->getStatistiquesParMoisAccueil($years); $statistiques_par_mois_ged = $statistiques->getStatistiquesParMoisGed($years); $statistiques_par_mois_formation = $statistiques->getStatistiquesParMoisFormation($years); $statistiques_par_mois_emploi = $statistiques->getStatistiquesParMoisEmploi($years); $statistiques_par_mois_annuaire = $statistiques->getStatistiquesParMoisAnnuaire($years); $statistiques_par_mois_dialogue = $statistiques->getStatistiquesParMoisDialogue($years); $statistiques_par_mois_agenda = $statistiques->getStatistiquesParMoisAgenda($years); $data_global = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_global as $statistique_par_mois_global) { $month = substr($statistique_par_mois_global['month'], 5, 6); if ($month == 1) { $data_global['janvier'] = $statistique_par_mois_global['visites']; } if ($month == 2) { $data_global['fevrier'] = $statistique_par_mois_global['visites']; } if ($month == 3) { $data_global['mars'] = $statistique_par_mois_global['visites']; } if ($month == 4) { $data_global['avril'] = $statistique_par_mois_global['visites']; } if ($month == 5) { $data_global['mai'] = $statistique_par_mois_global['visites']; } if ($month == 6) { $data_global['juin'] = $statistique_par_mois_global['visites']; } if ($month == 7) { $data_global['juillet'] = $statistique_par_mois_global['visites']; } if ($month == 8) { $data_global['aout'] = $statistique_par_mois_global['visites']; } if ($month == 9) { $data_global['septembre'] = $statistique_par_mois_global['visites']; } if ($month == 10) { $data_global['octobre'] = $statistique_par_mois_global['visites']; } if ($month == 11) { $data_global['novembre'] = $statistique_par_mois_global['visites']; } if ($month == 12) { $data_global['decembre'] = $statistique_par_mois_global['visites']; } } $data_accueil = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_accueil as $statistique_par_mois_accueil) { $month = substr($statistique_par_mois_accueil['month'], 5, 6); if ($month == 1) { $data_accueil['janvier'] = $statistique_par_mois_accueil['visites']; } if ($month == 2) { $data_accueil['fevrier'] = $statistique_par_mois_accueil['visites']; } if ($month == 3) { $data_accueil['mars'] = $statistique_par_mois_accueil['visites']; } if ($month == 4) { $data_accueil['avril'] = $statistique_par_mois_accueil['visites']; } if ($month == 5) { $data_accueil['mai'] = $statistique_par_mois_accueil['visites']; } if ($month == 6) { $data_accueil['juin'] = $statistique_par_mois_accueil['visites']; } if ($month == 7) { $data_accueil['juillet'] = $statistique_par_mois_accueil['visites']; } if ($month == 8) { $data_accueil['aout'] = $statistique_par_mois_accueil['visites']; } if ($month == 9) { $data_accueil['septembre'] = $statistique_par_mois_accueil['visites']; } if ($month == 10) { $data_accueil['octobre'] = $statistique_par_mois_accueil['visites']; } if ($month == 11) { $data_accueil['novembre'] = $statistique_par_mois_accueil['visites']; } if ($month == 12) { $data_accueil['decembre'] = $statistique_par_mois_accueil['visites']; } } $data_ged = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_ged as $statistique_par_mois_ged) { $month = substr($statistique_par_mois_ged['month'], 5, 6); if ($month == 1) { $data_ged['janvier'] = $statistique_par_mois_ged['visites']; } if ($month == 2) { $data_ged['fevrier'] = $statistique_par_mois_ged['visites']; } if ($month == 3) { $data_ged['mars'] = $statistique_par_mois_ged['visites']; } if ($month == 4) { $data_ged['avril'] = $statistique_par_mois_ged['visites']; } if ($month == 5) { $data_ged['mai'] = $statistique_par_mois_ged['visites']; } if ($month == 6) { $data_ged['juin'] = $statistique_par_mois_ged['visites']; } if ($month == 7) { $data_ged['juillet'] = $statistique_par_mois_ged['visites']; } if ($month == 8) { $data_ged['aout'] = $statistique_par_mois_ged['visites']; } if ($month == 9) { $data_ged['septembre'] = $statistique_par_mois_ged['visites']; } if ($month == 10) { $data_ged['octobre'] = $statistique_par_mois_ged['visites']; } if ($month == 11) { $data_ged['novembre'] = $statistique_par_mois_ged['visites']; } if ($month == 12) { $data_ged['decembre'] = $statistique_par_mois_ged['visites']; } } $data_formation = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_formation as $statistique_par_mois_formation) { $month = substr($statistique_par_mois_formation['month'], 5, 6); if ($month == 1) { $data_formation['janvier'] = $statistique_par_mois_formation['visites']; } if ($month == 2) { $data_formation['fevrier'] = $statistique_par_mois_formation['visites']; } if ($month == 3) { $data_formation['mars'] = $statistique_par_mois_formation['visites']; } if ($month == 4) { $data_formation['avril'] = $statistique_par_mois_formation['visites']; } if ($month == 5) { $data_formation['mai'] = $statistique_par_mois_formation['visites']; } if ($month == 6) { $data_formation['juin'] = $statistique_par_mois_formation['visites']; } if ($month == 7) { $data_formation['juillet'] = $statistique_par_mois_formation['visites']; } if ($month == 8) { $data_formation['aout'] = $statistique_par_mois_formation['visites']; } if ($month == 9) { $data_formation['septembre'] = $statistique_par_mois_formation['visites']; } if ($month == 10) { $data_formation['octobre'] = $statistique_par_mois_formation['visites']; } if ($month == 11) { $data_formation['novembre'] = $statistique_par_mois_formation['visites']; } if ($month == 12) { $data_formation['decembre'] = $statistique_par_mois_formation['visites']; } } $data_emploi = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_emploi as $statistique_par_mois_emploi) { $month = substr($statistique_par_mois_emploi['month'], 5, 6); if ($month == 1) { $data_emploi['janvier'] = $statistique_par_mois_emploi['visites']; } if ($month == 2) { $data_emploi['fevrier'] = $statistique_par_mois_emploi['visites']; } if ($month == 3) { $data_emploi['mars'] = $statistique_par_mois_emploi['visites']; } if ($month == 4) { $data_emploi['avril'] = $statistique_par_mois_emploi['visites']; } if ($month == 5) { $data_emploi['mai'] = $statistique_par_mois_emploi['visites']; } if ($month == 6) { $data_emploi['juin'] = $statistique_par_mois_emploi['visites']; } if ($month == 7) { $data_emploi['juillet'] = $statistique_par_mois_emploi['visites']; } if ($month == 8) { $data_emploi['aout'] = $statistique_par_mois_emploi['visites']; } if ($month == 9) { $data_emploi['septembre'] = $statistique_par_mois_emploi['visites']; } if ($month == 10) { $data_emploi['octobre'] = $statistique_par_mois_emploi['visites']; } if ($month == 11) { $data_emploi['novembre'] = $statistique_par_mois_emploi['visites']; } if ($month == 12) { $data_emploi['decembre'] = $statistique_par_mois_emploi['visites']; } } $data_annuaire = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_annuaire as $statistique_par_mois_annuaire) { $month = substr($statistique_par_mois_annuaire['month'], 5, 6); if ($month == 1) { $data_annuaire['janvier'] = $statistique_par_mois_annuaire['visites']; } if ($month == 2) { $data_annuaire['fevrier'] = $statistique_par_mois_annuaire['visites']; } if ($month == 3) { $data_annuaire['mars'] = $statistique_par_mois_annuaire['visites']; } if ($month == 4) { $data_annuaire['avril'] = $statistique_par_mois_annuaire['visites']; } if ($month == 5) { $data_annuaire['mai'] = $statistique_par_mois_annuaire['visites']; } if ($month == 6) { $data_annuaire['juin'] = $statistique_par_mois_annuaire['visites']; } if ($month == 7) { $data_annuaire['juillet'] = $statistique_par_mois_annuaire['visites']; } if ($month == 8) { $data_annuaire['aout'] = $statistique_par_mois_annuaire['visites']; } if ($month == 9) { $data_annuaire['septembre'] = $statistique_par_mois_annuaire['visites']; } if ($month == 10) { $data_annuaire['octobre'] = $statistique_par_mois_annuaire['visites']; } if ($month == 11) { $data_annuaire['novembre'] = $statistique_par_mois_annuaire['visites']; } if ($month == 12) { $data_annuaire['decembre'] = $statistique_par_mois_annuaire['visites']; } } $data_dialogue = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_dialogue as $statistique_par_mois_dialogue) { $month = substr($statistique_par_mois_dialogue['month'], 5, 6); if ($month == 1) { $data_dialogue['janvier'] = $statistique_par_mois_dialogue['visites']; } if ($month == 2) { $data_dialogue['fevrier'] = $statistique_par_mois_dialogue['visites']; } if ($month == 3) { $data_dialogue['mars'] = $statistique_par_mois_dialogue['visites']; } if ($month == 4) { $data_dialogue['avril'] = $statistique_par_mois_dialogue['visites']; } if ($month == 5) { $data_dialogue['mai'] = $statistique_par_mois_dialogue['visites']; } if ($month == 6) { $data_dialogue['juin'] = $statistique_par_mois_dialogue['visites']; } if ($month == 7) { $data_dialogue['juillet'] = $statistique_par_mois_dialogue['visites']; } if ($month == 8) { $data_dialogue['aout'] = $statistique_par_mois_dialogue['visites']; } if ($month == 9) { $data_dialogue['septembre'] = $statistique_par_mois_dialogue['visites']; } if ($month == 10) { $data_dialogue['octobre'] = $statistique_par_mois_dialogue['visites']; } if ($month == 11) { $data_dialogue['novembre'] = $statistique_par_mois_dialogue['visites']; } if ($month == 12) { $data_dialogue['decembre'] = $statistique_par_mois_dialogue['visites']; } } $data_agenda = array('janvier' => 0, 'fevrier' => 0, 'mars' => 0, 'avril' => 0, 'mai' => 0, 'juin' => 0, 'juillet' => 0, 'aout' => 0, 'septembre' => 0, 'octobre' => 0, 'novembre' => 0, 'decembre' => 0); foreach ($statistiques_par_mois_agenda as $statistique_par_mois_agenda) { $month = substr($statistique_par_mois_agenda['month'], 5, 6); if ($month == 1) { $data_agenda['janvier'] = $statistique_par_mois_agenda['visites']; } if ($month == 2) { $data_agenda['fevrier'] = $statistique_par_mois_agenda['visites']; } if ($month == 3) { $data_agenda['mars'] = $statistique_par_mois_agenda['visites']; } if ($month == 4) { $data_agenda['avril'] = $statistique_par_mois_agenda['visites']; } if ($month == 5) { $data_agenda['mai'] = $statistique_par_mois_agenda['visites']; } if ($month == 6) { $data_agenda['juin'] = $statistique_par_mois_agenda['visites']; } if ($month == 7) { $data_agenda['juillet'] = $statistique_par_mois_agenda['visites']; } if ($month == 8) { $data_agenda['aout'] = $statistique_par_mois_agenda['visites']; } if ($month == 9) { $data_agenda['septembre'] = $statistique_par_mois_agenda['visites']; } if ($month == 10) { $data_agenda['octobre'] = $statistique_par_mois_agenda['visites']; } if ($month == 11) { $data_agenda['novembre'] = $statistique_par_mois_agenda['visites']; } if ($month == 12) { $data_agenda['decembre'] = $statistique_par_mois_agenda['visites']; } } // foreach ($organismes as $organisme) // { // foreach ($statistiques_par_mois_accueil as $statistique_par_mois_accueil) // { // if (in_array($organisme->getNom(), $statistique_par_mois_accueil)) // { // $plop = array_combine($organisme->getNom(), $statistique_par_mois_accueil); // } // } // } // $organismes = []; // foreach ($statistiques_organisme as $statistique_organisme){ // $organismes[] = $statistique_organisme->getUser()->getIdOrganisme()->getNom(); // } // // $statistiques_organisme_par_mois = array_count_values($organismes); // // $statistiques_par_mois = $statistiques->findBy(array(), array('date' => 'ASC')); $janvier = []; $fevrier = []; $mars = []; $avril = []; $mai = []; $juin = []; $juillet = []; $aout = []; $septembre = []; $octobre = []; $novembre = []; // $decembre = []; // foreach ($statistiques_par_mois as $statistique_par_moi) // { // if ( // $statistique_par_moi->getDate()->getTimestamp() > new \DateTime('2016-01-01') && // $statistique_par_moi->getDate()->getTimestamp() < new \DateTime('2016-01-31')) // { // $janvier = $statistique_par_moi; // } // // } // array( // // array('stat1', '01/01/50', 'flkrepof') // array('stat1', '03/01/50', 'flkrepof') // array('stat1', '01/06/50', 'flkrepof') // array('stat1', '01/01/50', 'flkrepof') // array('stat1', '01/01/50', 'flkrepof') // // ) // // $organismes = []; // foreach ($statistiques_organisme as $statistique_organisme){ // $organismes[] = $statistique_organisme->getUser()->getIdOrganisme()->getNom(); // } // // $statistiques_organisme_par_mois = array_count_values($organismes); return $this->render('AppBundle:statistiques:index.html.twig', array('statistiques_par_mois_global' => $statistiques_par_mois_global, 'data_global' => json_encode($data_global), 'data_accueil' => json_encode($data_accueil), 'data_ged' => json_encode($data_ged), 'data_formation' => json_encode($data_formation), 'data_emploi' => json_encode($data_emploi), 'data_annuaire' => json_encode($data_annuaire), 'data_dialogue' => json_encode($data_dialogue), 'data_agenda' => json_encode($data_agenda))); }
protected function configure() { $date = new \DateTime(); $date->sub(new \DateInterval('P1M')); $this->setName('castle:prune')->setDescription('Prune atom entities by date')->addArgument('date', InputArgument::OPTIONAL, 'Prune date', $date->format('Y-m-d')); }
/** * @Route("/create", name="admin.frontend.attendance.create") * @Template() */ public function createAction(Request $request) { $breadcrumbs = $this->get("white_october_breadcrumbs"); $breadcrumbs->addItem('Dashboard', $this->get("router")->generate("admin.frontend.dashboard")); $breadcrumbs->addItem('Attendance', $this->get("router")->generate("admin.frontend.attendance.index")); $breadcrumbs->addItem('Week of attendance'); $session = $this->get('session'); $staffId = $session->get('staffId'); $week = $session->get('week'); /** @var $em EntityManager */ $em = $this->getDoctrine()->getManager(); /** @var $staff Staff */ $staff = null; if ($staffId) { $staff = $em->getRepository('AdminFrontendBundle:Staff')->find($staffId); } $selectDate = new \DateTime($week); $filterForm = $this->createForm(AttendanceCreateFilterType::class, ['staff' => $staff, 'week' => $week]); $filterForm->handleRequest($request); if ($filterForm->isSubmitted() && $filterForm->isValid()) { $staff = $filterForm->get('staff')->getData(); $week = $filterForm->get('week')->getData(); $session->set('staffId', $staff->getId()); $session->set('week', $week); return $this->redirect($this->generateUrl('admin.frontend.attendance.create')); } $form = null; $weekDates = []; if ($staff && $week) { $data = []; $week = $selectDate->format("W"); $week_number = $week; $year = $selectDate->format('Y'); for ($day = 0; $day < 7; $day++) { $date = date('Y-m-d', strtotime($year . "W" . $week_number . ($day + 1))); $dateFormat = date('d.m.Y', strtotime($year . "W" . $week_number . ($day + 1))); $weekDates[] = $dateFormat; $qb = $em->createQueryBuilder(); $query = $qb->select('a')->from('AdminFrontendBundle:Attendance', 'a')->where('a.staff = :staff')->andWhere('DATE(a.startTime) = :startTime')->setParameter('startTime', $date)->setParameter('staff', $staff); $results = $query->getQuery()->getResult(); for ($i = 0; $i < 5; $i++) { /** @var $attendance Attendance */ $attendance = isset($results[$i]) ? $results[$i] : null; $project = $attendance ? $attendance->getProject() : null; $timeFrom = $attendance ? $attendance->getStartTime()->format('H:i') : null; $timeTo = $attendance ? $attendance->getEndTime()->format('H:i') : null; $km = $attendance ? $attendance->getAmountOfKm() : null; $payType = $attendance ? $attendance->getPayType() : null; $data['project_' . $i . '_' . $day] = $project; $data['time_from_' . $i . '_' . $day] = $timeFrom; $data['time_to_' . $i . '_' . $day] = $timeTo; $data['km_' . $i . '_' . $day] = $km; $data['pay_type_' . $i . '_' . $day] = $payType; } } $form = $this->createForm(AttendaceType::class, $data, ['weekDates' => $weekDates]); $form->handleRequest($request); if ($form->isSubmitted()) { if ($form->isValid()) { for ($day = 0; $day < 7; $day++) { $date = date('Y-m-d', strtotime($year . "W" . $week_number . ($day + 1))); $qb = $em->createQueryBuilder(); $query = $qb->select('a')->from('AdminFrontendBundle:Attendance', 'a')->where('a.staff = :staff')->andWhere('DATE(a.startTime) = :startTime')->setParameter('startTime', $date)->setParameter('staff', $staff); $results = $query->getQuery()->getResult(); /** @var $attendance Attendance */ foreach ($results as $attendance) { $attendanceLog = new AttendanceLog(); if ($attendance->getAmountOfKm()) { $attendanceLog->setAmountOfKm($attendance->getAmountOfKm()); } $attendanceLog->setCreatedAt(new \DateTime()); $attendanceLog->setEndTime($attendance->getEndTime()); $attendanceLog->setStartTime($attendance->getStartTime()); $attendanceLog->setnoInvoiced($attendance->getnoInvoiced()); $attendanceLog->setProject($attendance->getProject()); $attendanceLog->setStaff($attendance->getStaff()); $attendanceLog->setUser($this->getUser()); $attendanceLog->setDeleted(true); $em->persist($attendanceLog); $em->remove($attendance); $em->flush(); } for ($index = 0; $index < 5; $index++) { $projecField = 'project_' . $index . '_' . $day; $timeFromField = 'time_from_' . $index . '_' . $day; $timeToField = 'time_to_' . $index . '_' . $day; $kmField = 'km_' . $index . '_' . $day; $payTypeField = 'pay_type_' . $index . '_' . $day; /** @var $project Project */ $project = $form->has($projecField) ? $form->get($projecField)->getData() : null; $timeFrom = $form->has($timeFromField) ? $form->get($timeFromField)->getData() : null; $timeTo = $form->has($timeToField) ? $form->get($timeToField)->getData() : null; $km = $form->has($kmField) ? $form->get($kmField)->getData() : null; $payType = $form->has($payTypeField) ? $form->get($payTypeField)->getData() : null; if ($project && $timeFrom && $timeTo) { $timeFromDate = new \DateTime($date . ' ' . $timeFrom . ':00'); $timeToDate = new \DateTime($date . ' ' . $timeTo . ':00'); if ($timeToDate < $timeFromDate) { $timeToDate->modify('+1 day'); } $attendance = new Attendance(); $attendance->setProject($project); $attendance->setStaff($staff); $attendance->setStartTime($timeFromDate); $attendance->setEndTime($timeToDate); $attendance->setUser($this->getUser()); $attendance->setCreatedAt(new \DateTime()); $attendance->setPayType($payType); if ($km) { $attendance->setAmountOfKm($km); } $em->persist($attendance); $attendanceLog = new AttendanceLog(); if ($km) { $attendanceLog->setAmountOfKm($km); } $attendanceLog->setCreatedAt(new \DateTime()); $attendanceLog->setEndTime($attendance->getEndTime()); $attendanceLog->setStartTime($attendance->getStartTime()); $attendanceLog->setnoInvoiced($attendance->getnoInvoiced()); $attendanceLog->setProject($attendance->getProject()); $attendanceLog->setStaff($attendance->getStaff()); $attendanceLog->setUser($this->getUser()); $attendanceLog->setDeleted(false); $em->persist($attendanceLog); $em->flush(); } } } $this->addFlash('success', $this->get('translator')->trans('Attendance was save')); return $this->redirect($this->generateUrl('admin.frontend.attendance.create')); } } } return ['form' => $form ? $form->createView() : $form, 'filterForm' => $filterForm->createView(), 'selectedDate' => $selectDate->format('Y-m-d'), 'weekDates' => $weekDates, 'staff' => $staff]; }
/** Part 3.1, display previous day (redirect to part 2) ------------------------- * @Route("/previous/{swissDate}", name="tixiapi_dispo_dailyplan_edit_previous") * @Method({"GET","POST"}) * @param Request $request * @param mixed $swissDate * @return \Symfony\Component\HttpFoundation\Response */ public function getDailyPlanEditPreviousAction(Request $request, $swissDate) { $today = new \DateTime(); $date = $this->swissDateToDate($swissDate); $date->sub(new \DateInterval('P1D')); /** @var WorkingDayRepository $workingDayRepository */ $workingDayRepository = $this->get('workingday_repository'); $workingDay = $workingDayRepository->findWorkingDayByDate($date); if (null !== $workingDay && $today->format('Ym') <= $date->format('Ym')) { return $this->redirect($this->generateUrl('tixiapi_dispo_dailyplan_edit_swissdate', array('swissDate' => $date->format('d.m.Y')))); } // do nothing, redirect to same date return $this->redirect($this->generateUrl('tixiapi_dispo_dailyplan_edit_swissdate', array('swissDate' => $swissDate))); }
/** * @Route("/issue/add/{id}", name="_addIssues") * @Template("TrackersBundle:Issues:add.html.twig") */ public function addAction($id) { $issue = new Project_issues(); $times = new \DateTime(); $date = $times->format('Y-m-d'); $time = $times->format('h:i:s'); if ($this->getRequest()->getMethod() == 'POST') { $requestData = $this->getRequest()->request; $attachments = $requestData->get('attachments'); $form = $requestData->get('form'); $date = $requestData->get('date'); $time = '0:0:0'; //$requestData->get('time'); $arr_date = explode('-', $date); $arr_time = explode(':', $time); $date_time = new \DateTime("now"); $date_time->setDate($arr_date[0], $arr_date[1], $arr_date[2]); $date_time->setTime($arr_time[0], $arr_time[1], $arr_time[2]); $issue->setTitle($form['title']); $issue->setDescription($form['description']); $issue->setAssignedTo(0); $issue->setStatus($form['status']); $issue->setEndTime($date_time); $issue->setCreated(new \DateTime("now")); $issue->setModified(new \DateTime("now")); $issue->setProjectId($id); $issue->setCreatedBy($this->getUser()->getId()); $em = $this->getDoctrine()->getManager(); $em->persist($issue); $em->flush(); if (!empty($attachments)) { foreach ($attachments as $file) { $repository = $this->getDoctrine()->getRepository('TrackersBundle:Projects_issues_attachments'); $files = $repository->find($file); $files->setIssueId($issue->getId()); $em->persist($files); $em->flush(); } } $users_activity = new Users_activity(); $users_activity->setUserId($this->getUser()->getId()); $users_activity->setParentId($id); $users_activity->setItemId($issue->getId()); $users_activity->setTypeId(1); $users_activity->setCreatedAt(new \DateTime("now")); $em->persist($users_activity); $em->flush(); if (!empty($form['assigned_to'])) { foreach ($form['assigned_to'] as $assigned) { $project_issue_assignments = new Project_issue_assignments(); $project_issue_assignments->setUserId($assigned); $project_issue_assignments->setIssueId($issue->getId()); $em->persist($project_issue_assignments); $em->flush(); $repository = $this->getDoctrine()->getRepository('TrackersBundle:UserDetail'); $users = $repository->findBy(array('user_id' => $this->getUser()->getId())); $user = $users[0]; $notifications = new Notifications(); $notifications->setUserId($assigned); $notifications->setIssueId($issue->getId()); $notifications->setProjectId($id); $notifications->setCreated(new \DateTime("now")); $notifications->setIsRead(false); $notifications->setText('You have assign issue with title ' . $form['title'] . ' from ' . $user->getFirstname() . ' ' . $user->getLastname()); $em->persist($notifications); $em->flush(); } } $this->get('session')->getFlashBag()->add('notice', 'Issue is successfully added!'); return $this->redirectToRoute('_addIssues', array('id' => $id)); } $em = $this->getDoctrine()->getEntityManager(); $query = $em->createQuery("SELECT n.firstname , n.lastname , n.user_id FROM TrackersBundle:UserDetail n, TrackersBundle:User_projects u WHERE u.userId = n.user_id AND u.projectId = :project_id")->setParameter('project_id', $id); $entities = $query->getResult(); $arr = array(); foreach ($entities as $post) { $arr[$post['user_id']] = $post['firstname'] . " " . $post['lastname']; } $form = $this->createFormBuilder($issue)->add('title', 'text', array('label' => 'Tile', 'required' => true))->add('description', 'textarea', array('required' => false, 'label' => 'Description', 'attr' => array('class' => 'editor', 'id' => 'editor')))->add('assigned_to', 'choice', array('choices' => $arr, 'multiple' => true, 'required' => false, 'label' => 'Assigned To', 'attr' => array('multiple' => 'multiple', 'class' => 'chzn-select'), 'empty_data' => null))->add('status', 'choice', array('choices' => array('OPEN' => 'OPEN', 'HOLD' => 'HOLD', 'INPROGRESS' => 'INPROGRESS', 'CLOSED' => 'CLOSED', 'FINISHED' => 'FINISHED'), 'label' => 'Status'))->getForm(); return array('form' => $form->createView(), 'project_id' => $id, 'date' => $date, 'time' => $time); }
/** * @param \DateTime $date * @return bool */ public function isOpen(\DateTime $date = null) { if ($date === null) { $date = new \DateTime(); } $week = $this->toArray(); $day = strtolower($date->format('w')); /** @var OpeningHours $today */ $today = $week[$day]; if (!$today->getClosed()) { $opening = clone $date; $closing = clone $date; $opening->modify('today ' . $today->getOpens()); $closing->modify('today ' . $today->getCloses()); if ($closing < $opening) { $closing->modify('+1 day'); } if ($date >= $opening && $date < $closing) { return true; } } if ($day - 1 < 0) { /** @var OpeningHours $yesterday */ $today = $week[6]; } else { $today = $week[$day - 1]; } if (!$today->getClosed()) { $opening = clone $date; $closing = clone $date; $opening->modify('yesterday ' . $today->getOpens()); $closing->modify('yesterday ' . $today->getCloses()); if ($closing < $opening) { $closing->modify('+1 day'); } if ($date >= $opening && $date < $closing) { return true; } } return false; }
/** * @Template() * Note la meteo: pluie + soleil * http://localhost/Wind/web/app_dev.php/admin/BO/ajax/spot/meteo/note/save/1 */ public function spotSaveMeteoNoteAction($id) { $em = $this->container->get('doctrine.orm.entity_manager'); $spot = $em->find('LaPoizWindBundle:Spot', $id); if (!$spot) { return $this->container->get('templating')->renderResponse('LaPoizWindBundle:Default:errorBlock.html.twig', array('errMessage' => "Spot not find !")); } $tabNotes = array(); $tabListePrevisionDate = array(); // tableau des liste des PrevisionDate, cahque cellule correspondant à une dateprev // Pour les 7 prochains jours $day = new \DateTime("now"); for ($nbPrevision = 0; $nbPrevision < 7; $nbPrevision++) { $tabNotes[$day->format('Y-m-d')] = -1; $tabListePrevisionDate[$day->format('Y-m-d')] = array(); $day->modify('+1 day'); } //********** Meteo ********** // On efface les vielle données ManageNote::deleteOldData($spot, $em); //list des PrevisionDate pour les prochain jour, pour le spot pour tous les websites $listALlPrevisionDate = $this->getDoctrine()->getRepository('LaPoizWindBundle:PrevisionDate')->getPrevDateAllWebSiteNextDays($spot); foreach ($listALlPrevisionDate as $previsionDate) { // ajouter au tableau de la cellule du jour de $tabListePrevisionDate $tabListePrevisionDate[$previsionDate->getDatePrev()->format('Y-m-d')][] = $previsionDate; } foreach ($tabNotes as $keyDate => $note) { if ($tabListePrevisionDate[$keyDate] != null && count($tabListePrevisionDate[$keyDate]) > 0) { $noteDate = ManageNote::getNotesDate($spot, \DateTime::createFromFormat('Y-m-d', $keyDate), $em); $noteDate->setNoteMeteo(NoteMeteo::calculNoteMeteo($tabListePrevisionDate[$keyDate])); $noteDate->setNoteWind(NoteWind::calculNoteWind($tabListePrevisionDate[$keyDate])); $noteDate->setNoteTemp(NoteTemp::calculNoteTemp($tabListePrevisionDate[$keyDate])); $em->persist($noteDate); } } $em->flush(); return $this->container->get('templating')->renderResponse('LaPoizWindBundle:BackOffice/Spot/Ajax:displayNote.html.twig', array('spot' => $spot, 'message' => "", 'saveSuccess' => true)); }
/** * @Route("/quotes/{year}", name="state_quotes") * @Template() * @Secure(roles="ROLE_USER") */ public function quotesAction($year = null) { $date = new \DateTime(); $maxyear = $date->format('Y'); $year = $year === null ? $maxyear : $year; $em = $this->getDoctrine()->getManager(); $sends = $em->getRepository('JLMCommerceBundle:Quote')->getSends($year); $givens = $em->getRepository('JLMCommerceBundle:Quote')->getGivens($year); $givensCompare = array(); if ($year > 2013) { $givensCompare = $em->getRepository('JLMCommerceBundle:Quote')->getGivens($year - 1); } // var_dump($sends); exit; return array('sends' => $sends, 'givens' => $givens, 'givensy1' => $givensCompare, 'year' => $year, 'maxyear' => $maxyear); }
public function comprobarLicitacionesFecha() { $fecha = new \DateTime('now'); $contarLicitacion = $this->em->createQuery('SELECT COUNT(x.nombre) FROM AppMediBundle:Licitacion x WHERE x.fechaTermino < :fecha AND x.estado IN (1,2)')->setParameter('fecha', $fecha->format('Y-m-d H:i:s')); $contarLicitacion = $contarLicitacion->getSingleScalarResult(); return $contarLicitacion; }
/** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $date = new \DateTime(); $serial = new Serial(); $builder->add('title')->add('description')->add('image', 'comur_image', ['required' => true, 'uploadConfig' => array('uploadRoute' => 'comur_api_upload', 'uploadUrl' => $serial->getUploadRootDir(), 'webDir' => $serial->getUploadDir(), 'fileExt' => '*.jpg;*.gif;*.png;*.jpeg', 'libraryDir' => null, 'libraryRoute' => 'comur_api_image_library', 'showLibrary' => true, 'saveOriginal' => 'originalImage'), 'cropConfig' => array('minWidth' => 400, 'minHeight' => 500, 'aspectRatio' => true, 'cropRoute' => 'comur_api_crop', 'forceResize' => false, 'thumbs' => array(array('maxWidth' => 100, 'maxHeight' => 100, 'useAsFieldImage' => true)))])->add('country')->add('producer')->add('cast')->add('dateStart', null, ['data' => $date->format("Y"), 'attr' => ['min' => 1900]])->add('dateEnd', null, ['required' => false, 'attr' => ['min' => 1900]])->add('seasons', 'collection', ['allow_add' => true, 'allow_delete' => true, 'type' => new SeasonType(), 'by_reference' => false, 'prototype' => true, 'prototype_name' => '__name__', 'attr' => ['help-block' => 'Add new season']]); }