<?php
/**
* Created by PhpStorm.
* User: manueljb
* Date: 18/12/2018
* Time: 11:11
*/
namespace App\Controller;
use App\Entity\Usuario;
use App\Service\EtiquetaService;
use FOS\RestBundle\Controller\FOSRestController;
use App\Entity\Formula;
use App\Entity\Cuenta;
use App\Form\FormulaType;
use App\Repository\FormulaRepository;
use App\Repository\FrasePeligrosidadRepository;
use JMS\Serializer\SerializationContext;
use FOS\RestBundle\Controller\Annotations as Rest;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use JMS\Serializer\SerializerBuilder;
class EtiquetaController extends FOSRestController
{
private $serviceEtiqueta;
private $serviceColor;
private $fp;
public function __construct(
EtiquetaService $serviceEtiqueta,
FrasePeligrosidadRepository $fp
)
{
$this->serviceEtiqueta = $serviceEtiqueta;
$this->fp = $fp;
}
/**
* @Rest\Get("api/admin/etiquetasUserbyFormula", name="listaEtiquetasByUserss")
*/
public function listadoEtiquetasbyFormula(Request $request ){
$serializer = SerializerBuilder::create()->setPropertyNamingStrategy(
new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
)
)->build();
//$this ->serviceEtiqueta ->modificaLocale($usr -> getCuenta() ->getConfiguracion() ->getValor()['languages']['languageSelected']);
$data = $this -> serviceEtiqueta ->findAllEtiquetas();
//dd($data);
if(!$data){
$data = [];
}
$response = new Response($serializer->serialize($data, 'json',SerializationContext::create()->setGroups('etiqueta')),Response::HTTP_OK);
$response->headers->set('Content-Type', 'json'); //xml
$response->prepare($request);
return $response;
}
/**
* @Rest\Get("api/admin/etiquetabyConvertidor", name="listaEtiquetasbyConvert")
* @Rest\Get("api/etiquetabyConvertidor", name="listaEtiquetasbyConvertClien")
*/
public function listadoEtiquetasbyConvertidor(Request $request ){
$serializer = SerializerBuilder::create()->setPropertyNamingStrategy(
new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
)
)->build();
$data = null;
$response = new Response(Response::HTTP_BAD_REQUEST);
if ($request->query->get('idConvertidor') != null && $request->query->get('idConvertidor') != "") {
$peligrosidad = $request->query->get('peligrosidad');
if ($request->query->get('lang') != "") {
$data = $this->serviceEtiqueta->finbyConvert($request->query->get('idConvertidor'), $peligrosidad, $request->query->get('lang'));
} else {
// $data = $this->serviceEtiqueta->finbyConvert($request->query->get('idConvertidor'),$peligrosidad);
}
}
if(!$data){
$data = [];
}
$response = new Response($serializer->serialize($data, 'json',SerializationContext::create()->setGroups('etiqueta')),Response::HTTP_OK);
$response->headers->set('Content-Type', 'json'); //xml
$response->prepare($request);
return $response;
}
/*
* ETIQUETAS
*/
/**
* @Rest\Get("api/admin/etiquetas", name="listaEtiquetas")
*/
public function listadoEtiquetas(Request $request ){
$serializer = SerializerBuilder::create()->setPropertyNamingStrategy(
new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
)
)->build();
$data = $this -> serviceEtiqueta ->findAllEtiquetas();
if(!$data){
$data = [];
}
$response = new Response($serializer->serialize($data, 'json',SerializationContext::create()->setGroups('etiqueta')),Response::HTTP_OK);
$response->headers->set('Content-Type', 'json'); //xml
$response->prepare($request);
return $response;
}
/**
* @Rest\Post("api/admin/etiquetaUpdate", name="updateEtiquetas")
*/
public function updateEtiquetas(Request $request ){
$correcto = null;
$response = new Response(Response::HTTP_BAD_REQUEST);
if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
$object= json_decode($request->getContent(), true);
if($object['id']!= null && $object['id']!= ''){
//Tenemos Id por lo que es una actulizacion
$correcto = $this ->serviceEtiqueta ->modificaEtiqueta($object);
}else{
$correcto = $this ->serviceEtiqueta ->nuevaEtiqueta($object);
}
}
if($correcto != null){
$response = new Response(Response::HTTP_OK);
}else{
$response = new Response(Response::HTTP_BAD_REQUEST);
}
$response->prepare($request);
return $response;
}
/*
* PICTOGRAMAS
*/
/**
* @Rest\Get("api/admin/pictogramas", name="listadoPictogramas")
*/
public function listadoPictogramas(Request $request ){
$serializer = SerializerBuilder::create()->setPropertyNamingStrategy(
new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
)
)->build();
$data = $this -> serviceEtiqueta ->findAllPictogramas();
if(!$data){
$data = [];
}
$response = new Response($serializer->serialize($data, 'json'),Response::HTTP_OK);
$response->headers->set('Content-Type', 'json'); //xml
$response->prepare($request);
return $response;
}
/**
* @Rest\Post("api/admin/pictogramasUpdate", name="updatePictogramas")
*/
public function updatePictogramas(Request $request ){
$correcto = null;
$response = new Response(Response::HTTP_BAD_REQUEST);
if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
$object= json_decode($request->getContent(), true);
if($object['id']!= null && $object['id']!= ''){
//Tenemos Id por lo que es una actulizacion
$correcto = $this ->serviceEtiqueta ->modificaPictograma($object);
}else{
$correcto = $this ->serviceEtiqueta ->nuevaPictograma($object);
}
}
if($correcto != null){
$response = new Response(Response::HTTP_OK);
}else{
$response = new Response(Response::HTTP_BAD_REQUEST);
}
$response->prepare($request);
return $response;
}
/*
* FRASES DE PELIGROSIDAD
*/
/**
* @Rest\Get("api/admin/frasespeligrosidad", name="listadoFrases")
*/
public function listadoFrasesPeligrosidad(Request $request ){
$serializer = SerializerBuilder::create()->setPropertyNamingStrategy(
new \JMS\Serializer\Naming\SerializedNameAnnotationStrategy(
new \JMS\Serializer\Naming\IdenticalPropertyNamingStrategy()
)
)->build();
$data = $this->fp->findAll(); //$this -> serviceEtiqueta ->findAllFrases();
if(!$data)
{
$data = [];
}
$response = new Response($serializer->serialize($data, 'json'),Response::HTTP_OK);
//$response = new Response($serializer->serialize($data, 'json'),Response::HTTP_OK);
$response->headers->set('Content-Type', 'json'); //xml
$response->prepare($request);
return $response;
}
/**
* @Rest\Post("api/admin/frasespeligrosidadUpdate", name="updateFrasePeligros")
*/
public function updateFrasesPeligrosidad(Request $request ){
$correcto = null;
$response = new Response(Response::HTTP_BAD_REQUEST);
if (0 === strpos($request->headers->get('Content-Type'), 'application/json')) {
$object= json_decode($request->getContent(), true);
if($object['id']!= null && $object['id']!= ''){
//Tenemos Id por lo que es una actulizacion
$correcto = $this ->serviceEtiqueta ->modificaFrasePeligrosa($object);
}else{
$correcto = $this ->serviceEtiqueta ->nuevaFrasePeligrosa($object);
}
}
if($correcto != null){
$response = new Response(Response::HTTP_OK);
}else{
$response = new Response(Response::HTTP_BAD_REQUEST);
}
$response->prepare($request);
return $response;
}
/*
* FIN FRASES DE PELIGROSIDAD
*/
}