<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

namespace CmBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use CmBundle\Entity\Avisos;

date_default_timezone_set('America/Mexico_City');

/**
 * Description of AvisosController
 *
 * @author mac1
 */
class AvisosController extends Controller {

    //put your code here
    public function agregarAvisoAction(Request $request) {
        $session = $request->getSession();
        if ($session->has("idEmpleado")) {
            if ($request->getMethod() == 'POST') {

                $datos = $request->get('cvesAlumnos');
                
                $em = $this->getDoctrine()->getEntityManager();

                foreach ($datos as $key => $value) {
                    $alumno = $em->getRepository('CmBundle:Alumnos')->findOneBy(array('ideAlu' => $value));

                    /**
                     * TIPO AVISO:
                     * 1: PASAR A CONTROL ESCOLAR
                     * 2: ---
                     * 3: ---
                     * 4: ---
                     */
                    /**
                     * ESTATUS:
                     * 1: Activo => La notificación saldrá cada vez que el alumno cheque asistencia.
                     * 2: Oculto => La notificación no saldrá en pantalla, ya que el alumno si fue a control escoalr.
                     * 3: Finalizado => Control Escolar ha finalizado la notificación.
                     */
                    $aviso = new Avisos();
                    $aviso->setCveAlu($alumno);
                    $aviso->setEstatus(1);
                    $aviso->setFecMov(new \DateTime(date('Y-m-d')));
                    $aviso->setTipoAviso(1);
                    $aviso->setMotivo("-");
                    $aviso->setRespuesta("-");
                    $aviso->setCveUsu($session->get('identificador'));
                    $aviso->setCvePla($alumno->getCvePla());

                    $em->persist($aviso);
                    $em->flush();
                }
                
                return $this->redirect($this->generateUrl('vista_agregar_aviso'));
            } else {// NO FUE POST
                $em = $this->getDoctrine()->getEntityManager();

                $alumnos = $em->getRepository('CmBundle:Alumnos')
                        ->findBy(array('estatus' => 1), array('apePat' => 'ASC', 'apeMat' => 'ASC', 'nomAlu' => 'ASC'));

                $avisos = $em->getRepository('CmBundle:Avisos')
                        ->findBy(array('cveUsu' => $session->get('identificador'), 'estatus' => array(1, 2)));

                return $this->render('CmBundle:Avisos:vistaAvisos.html.twig', array(
                            'alumnos' => $alumnos,
                            'avisos' => $avisos
                ));
            }
        } else {
            return $this->redirect($this->generateUrl('logout'));
        }
    }

}
