#2 Correcciones Bugs

   Mejoras Backend y Modelos
   Cambio en la API rest PHP		
parent 1606b41e
......@@ -90,6 +90,8 @@
<column name="cco_columna" phpName="CcoColumna" type="INTEGER" required="false"/>
<column name="cco_orden" phpName="CcoOrden" type="INTEGER" required="false"/>
<column name="cco_tipo" phpName="CcoTipo" type="INTEGER" required="false"/>
<column name="cco_clase_css" phpName="CcoClaseCss" type="VARCHAR" size="255" required="false"/>
<column name="cco_disposicion_nombre" phpName="CcoDisposicionNombre" type="VARCHAR" size="255" required="false"/>
<column name="cco_estado" phpName="CcoEstado" type="INTEGER" required="false"/>
<column name="cco_eliminado" phpName="CcoEliminado" type="INTEGER" required="false"/>
<column name="created_at" phpName="CreatedAt" type="TIMESTAMP" required="false"/>
......
......@@ -6,4 +6,8 @@ use AppBundle\Model\om\BaseDisposicionColumnasQuery;
class DisposicionColumnasQuery extends BaseDisposicionColumnasQuery
{
public static function getNombreDisposicion(CampaniaContenido $contenido){
$obj = self::create()->filterByDcoId($contenido->getDcoId())->findOne();
return $obj->getDcoNombre();
}
}
......@@ -3,7 +3,11 @@
namespace AppBundle\Model;
use AppBundle\Model\om\BaseTemplateCssRelacionQuery;
use AppBundle\Model\Campania;
class TemplateCssRelacionQuery extends BaseTemplateCssRelacionQuery
{
public static function getCss(CampaniaContenido $contenido, Campania $campania){
$obj = self::create()->filterByTemId($campania->getTemId())->filterByDcoId($contenido->getDcoId())->filterByTcrTipo($contenido->getCcoTipo())->filterByTcrEntorno($contenido->getDisId())->findOne();
return $obj->getTcrClaseCss();
}
}
......@@ -54,6 +54,8 @@ class CampaniaContenidoTableMap extends TableMap
$this->addColumn('cco_columna', 'CcoColumna', 'INTEGER', false, null, null);
$this->addColumn('cco_orden', 'CcoOrden', 'INTEGER', false, null, null);
$this->addColumn('cco_tipo', 'CcoTipo', 'INTEGER', false, null, null);
$this->addColumn('cco_clase_css', 'CcoClaseCss', 'VARCHAR', false, 255, null);
$this->addColumn('cco_disposicion_nombre', 'CcoDisposicionNombre', 'VARCHAR', false, 255, null);
$this->addColumn('cco_estado', 'CcoEstado', 'INTEGER', false, null, null);
$this->addColumn('cco_eliminado', 'CcoEliminado', 'INTEGER', false, null, null);
$this->addColumn('created_at', 'CreatedAt', 'TIMESTAMP', false, null, null);
......
......@@ -34,6 +34,8 @@ use AppBundle\Model\Seccion;
* @method CampaniaContenidoQuery orderByCcoColumna($order = Criteria::ASC) Order by the cco_columna column
* @method CampaniaContenidoQuery orderByCcoOrden($order = Criteria::ASC) Order by the cco_orden column
* @method CampaniaContenidoQuery orderByCcoTipo($order = Criteria::ASC) Order by the cco_tipo column
* @method CampaniaContenidoQuery orderByCcoClaseCss($order = Criteria::ASC) Order by the cco_clase_css column
* @method CampaniaContenidoQuery orderByCcoDisposicionNombre($order = Criteria::ASC) Order by the cco_disposicion_nombre column
* @method CampaniaContenidoQuery orderByCcoEstado($order = Criteria::ASC) Order by the cco_estado column
* @method CampaniaContenidoQuery orderByCcoEliminado($order = Criteria::ASC) Order by the cco_eliminado column
* @method CampaniaContenidoQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column
......@@ -51,6 +53,8 @@ use AppBundle\Model\Seccion;
* @method CampaniaContenidoQuery groupByCcoColumna() Group by the cco_columna column
* @method CampaniaContenidoQuery groupByCcoOrden() Group by the cco_orden column
* @method CampaniaContenidoQuery groupByCcoTipo() Group by the cco_tipo column
* @method CampaniaContenidoQuery groupByCcoClaseCss() Group by the cco_clase_css column
* @method CampaniaContenidoQuery groupByCcoDisposicionNombre() Group by the cco_disposicion_nombre column
* @method CampaniaContenidoQuery groupByCcoEstado() Group by the cco_estado column
* @method CampaniaContenidoQuery groupByCcoEliminado() Group by the cco_eliminado column
* @method CampaniaContenidoQuery groupByCreatedAt() Group by the created_at column
......@@ -94,6 +98,8 @@ use AppBundle\Model\Seccion;
* @method CampaniaContenido findOneByCcoColumna(int $cco_columna) Return the first CampaniaContenido filtered by the cco_columna column
* @method CampaniaContenido findOneByCcoOrden(int $cco_orden) Return the first CampaniaContenido filtered by the cco_orden column
* @method CampaniaContenido findOneByCcoTipo(int $cco_tipo) Return the first CampaniaContenido filtered by the cco_tipo column
* @method CampaniaContenido findOneByCcoClaseCss(string $cco_clase_css) Return the first CampaniaContenido filtered by the cco_clase_css column
* @method CampaniaContenido findOneByCcoDisposicionNombre(string $cco_disposicion_nombre) Return the first CampaniaContenido filtered by the cco_disposicion_nombre column
* @method CampaniaContenido findOneByCcoEstado(int $cco_estado) Return the first CampaniaContenido filtered by the cco_estado column
* @method CampaniaContenido findOneByCcoEliminado(int $cco_eliminado) Return the first CampaniaContenido filtered by the cco_eliminado column
* @method CampaniaContenido findOneByCreatedAt(string $created_at) Return the first CampaniaContenido filtered by the created_at column
......@@ -111,6 +117,8 @@ use AppBundle\Model\Seccion;
* @method array findByCcoColumna(int $cco_columna) Return CampaniaContenido objects filtered by the cco_columna column
* @method array findByCcoOrden(int $cco_orden) Return CampaniaContenido objects filtered by the cco_orden column
* @method array findByCcoTipo(int $cco_tipo) Return CampaniaContenido objects filtered by the cco_tipo column
* @method array findByCcoClaseCss(string $cco_clase_css) Return CampaniaContenido objects filtered by the cco_clase_css column
* @method array findByCcoDisposicionNombre(string $cco_disposicion_nombre) Return CampaniaContenido objects filtered by the cco_disposicion_nombre column
* @method array findByCcoEstado(int $cco_estado) Return CampaniaContenido objects filtered by the cco_estado column
* @method array findByCcoEliminado(int $cco_eliminado) Return CampaniaContenido objects filtered by the cco_eliminado column
* @method array findByCreatedAt(string $created_at) Return CampaniaContenido objects filtered by the created_at column
......@@ -220,7 +228,7 @@ abstract class BaseCampaniaContenidoQuery extends ModelCriteria
*/
protected function findPkSimple($key, $con)
{
$sql = 'SELECT `cco_id`, `cam_id`, `dis_id`, `dco_id`, `sec_id`, `fil_id`, `cco_entorno`, `cco_contenido`, `cco_fila`, `cco_columna`, `cco_orden`, `cco_tipo`, `cco_estado`, `cco_eliminado`, `created_at`, `updated_at` FROM `campania_contenido` WHERE `cco_id` = :p0';
$sql = 'SELECT `cco_id`, `cam_id`, `dis_id`, `dco_id`, `sec_id`, `fil_id`, `cco_entorno`, `cco_contenido`, `cco_fila`, `cco_columna`, `cco_orden`, `cco_tipo`, `cco_clase_css`, `cco_disposicion_nombre`, `cco_estado`, `cco_eliminado`, `created_at`, `updated_at` FROM `campania_contenido` WHERE `cco_id` = :p0';
try {
$stmt = $con->prepare($sql);
$stmt->bindValue(':p0', $key, PDO::PARAM_INT);
......@@ -810,6 +818,64 @@ abstract class BaseCampaniaContenidoQuery extends ModelCriteria
return $this->addUsingAlias(CampaniaContenidoPeer::CCO_TIPO, $ccoTipo, $comparison);
}
/**
* Filter the query on the cco_clase_css column
*
* Example usage:
* <code>
* $query->filterByCcoClaseCss('fooValue'); // WHERE cco_clase_css = 'fooValue'
* $query->filterByCcoClaseCss('%fooValue%'); // WHERE cco_clase_css LIKE '%fooValue%'
* </code>
*
* @param string $ccoClaseCss The value to use as filter.
* Accepts wildcards (* and % trigger a LIKE)
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
*
* @return CampaniaContenidoQuery The current query, for fluid interface
*/
public function filterByCcoClaseCss($ccoClaseCss = null, $comparison = null)
{
if (null === $comparison) {
if (is_array($ccoClaseCss)) {
$comparison = Criteria::IN;
} elseif (preg_match('/[\%\*]/', $ccoClaseCss)) {
$ccoClaseCss = str_replace('*', '%', $ccoClaseCss);
$comparison = Criteria::LIKE;
}
}
return $this->addUsingAlias(CampaniaContenidoPeer::CCO_CLASE_CSS, $ccoClaseCss, $comparison);
}
/**
* Filter the query on the cco_disposicion_nombre column
*
* Example usage:
* <code>
* $query->filterByCcoDisposicionNombre('fooValue'); // WHERE cco_disposicion_nombre = 'fooValue'
* $query->filterByCcoDisposicionNombre('%fooValue%'); // WHERE cco_disposicion_nombre LIKE '%fooValue%'
* </code>
*
* @param string $ccoDisposicionNombre The value to use as filter.
* Accepts wildcards (* and % trigger a LIKE)
* @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL
*
* @return CampaniaContenidoQuery The current query, for fluid interface
*/
public function filterByCcoDisposicionNombre($ccoDisposicionNombre = null, $comparison = null)
{
if (null === $comparison) {
if (is_array($ccoDisposicionNombre)) {
$comparison = Criteria::IN;
} elseif (preg_match('/[\%\*]/', $ccoDisposicionNombre)) {
$ccoDisposicionNombre = str_replace('*', '%', $ccoDisposicionNombre);
$comparison = Criteria::LIKE;
}
}
return $this->addUsingAlias(CampaniaContenidoPeer::CCO_DISPOSICION_NOMBRE, $ccoDisposicionNombre, $comparison);
}
/**
* Filter the query on the cco_estado column
*
......
......@@ -87,6 +87,8 @@
<column name="cco_columna" phpName="CcoColumna" type="INTEGER" required="false"/>
<column name="cco_orden" phpName="CcoOrden" type="INTEGER" required="false"/>
<column name="cco_tipo" phpName="CcoTipo" type="INTEGER" required="false"/>
<column name="cco_clase_css" phpName="CcoClaseCss" type="VARCHAR" size="255" required="false"/>
<column name="cco_disposicion_nombre" phpName="CcoDisposicionNombre" type="VARCHAR" size="255" required="false"/>
<column name="cco_estado" phpName="CcoEstado" type="INTEGER" required="false"/>
<column name="cco_eliminado" phpName="CcoEliminado" type="INTEGER" required="false"/>
<behavior name="timestampable" />
......
......@@ -23,6 +23,7 @@ use AppBundle\Model\CampaniaContenido;
use AppBundle\Model\CampaniaContenidoQuery;
use AppBundle\Model\Template;
use AppBundle\Model\TemplateQuery;
use AppBundle\Model\TemplateCssRelacionQuery;
class CampaniaController extends Controller {
......@@ -416,7 +417,7 @@ class CampaniaController extends Controller {
}
$campania = CampaniaQuery::create()->findPk($campaniaId);
$fila = FilaQuery::create()->findPk($filaId);
$log->debug("generando contenido nuevo asociado a la camapaña $campaniaId...");
$contenidoCampania = CampaniaContenidoQuery::create()->filterByCcoId($contenidoId)->filterByCamId($campaniaId)->findOne();
......@@ -431,6 +432,9 @@ class CampaniaController extends Controller {
$contenidoCampania->setCcoOrden(1);
$contenidoCampania->setCcoTipo($tipo);
$contenidoCampania->setCcoEntorno($entorno);
$contenidoCampania->setCcoClaseCss(TemplateCssRelacionQuery::getCss($contenidoCampania, $campania));
$contenidoCampania->setCcoDisposicionNombre(DisposicionColumnasQuery::getNombreDisposicion($contenidoCampania));
$contenidoCampania->save();
$this->correccionDisposicionColumnas($campaniaId, $filaId, $disposicionId);
......@@ -503,7 +507,7 @@ class CampaniaController extends Controller {
}
$campania = CampaniaQuery::create()->findPk($campaniaId);
$fila = FilaQuery::create()->findPk($filaId);
$log->debug("generando contenido nuevo asociado a la camapaña $campaniaId...");
$contenidoCampania = new CampaniaContenido();
......@@ -518,6 +522,8 @@ class CampaniaController extends Controller {
$contenidoCampania->setCcoOrden(1);
$contenidoCampania->setCcoTipo($tipo);
$contenidoCampania->setCcoEntorno($entorno);
$contenidoCampania->setCcoClaseCss(TemplateCssRelacionQuery::getCss($contenidoCampania, $campania));
$contenidoCampania->setCcoDisposicionNombre(DisposicionColumnasQuery::getNombreDisposicion($contenidoCampania));
$contenidoCampania->setCcoEstado(CampaniaContenido::ESTADO_ACTIVO);
$contenidoCampania->setCcoEliminado(CampaniaContenido::ELIMINADO_FALSE);
$contenidoCampania->save();
......@@ -559,7 +565,7 @@ class CampaniaController extends Controller {
$disposicionesColumnasFilas = DisposicionColumnasQuery::create()->filterByDcoEstado(DisposicionColumnas::ACTIVO_TRUE)->filterByDcoEliminado(DisposicionColumnas::ACTIVO_FALSE)->find();
$filas = FilaQuery::create()->filterByFilEstado(Fila::ACTIVO_TRUE)->filterByFilEliminado(Fila::ELIMINADO_FALSE)->filterBySecId($contenido->getSecId())->filterByCamId($camId)->find();
if ($contenido->getCcoTipo() == CampaniaContenido::TIPO_VIDEO) {
if ($contenido->getSecId() == CampaniaContenido::SECCION_HEAD) {
$tipos = TipoQuery::create()->filterByTipEstado(Tipo::ACTIVO_TRUE)->filterByTipEliminado(Tipo::ELIMINADO_FALSE)->filterByTipId(array(Tipo::TIPO_VIDEO), \Criteria::NOT_IN)->find();
} else {
$tipos = TipoQuery::create()->filterByTipEstado(Tipo::ACTIVO_TRUE)->filterByTipEliminado(Tipo::ELIMINADO_FALSE)->find();
......
campania_listado:
path: /listado/campanias
defaults: {_controller: CampaniaBundle:Campania:listadoCampanias}
campania_generando_nueva_campania:
path: /generando/nueva/campania
defaults: {_controller: CampaniaBundle:Campania:generandoNuevaCampania}
campania_crear:
path: /nueva/{camId}
defaults: { _controller: CampaniaBundle:Campania:nuevaCampania, camId : none}
requirements:
camId: '\d+'
campania_eliminar:
path: /eliminar/{camId}
defaults: {_controller : CampaniaBundle:Campania:eliminarCampania, camId: none}
requirements:
camId: '\d+'
campania_eliminar_contenido:
path: /eliminar/contenido
defaults: {_controller: CampaniaBundle:Campania:eliminarContenido}
campania_crear_fila_seccion:
path: /crear/fila/seccion
defaults: { _controller: CampaniaBundle:Campania:generarNuevaFila}
campania_crear_fila_seccion_editar:
path: /crear/fila/seccion/editar
defaults: { _controller: CampaniaBundle:Campania:generarNuevaFilaEditar}
campania_recargar_fila_selector:
path: /recargar/fila/selector
defaults: { _controller: CampaniaBundle:Campania:reloadFilaSelector}
campania_recargar_columna_selector:
path: /recargar/columna/selector
defaults: { _controller: CampaniaBundle:Campania:reloadColumnaSelector}
campania_save_contenido:
path: /guardar/contenido/campania
defaults: { _controller: CampaniaBundle:Campania:saveContenido}
campania_actualizar_con_contenido:
path: /actualizar/campania
defaults: { _controller: CampaniaBundle:Campania:actualizarCampania}
campania_cargar_datos_contenido:
path: /cargar/datos/contenido/campania
defaults: {_controller: CampaniaBundle:Campania:loadDataContenido}
campania_update_contenido:
path: /actualizar/contenido/campania
defaults: { _controller: CampaniaBundle:Campania:updateContenido}
\ No newline at end of file
......@@ -3,13 +3,9 @@
namespace WsBundle\Controller\v1;
use WsBundle\Controller\ApiController;
use JMS\Serializer\Exception\RuntimeException;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpKernel\Exception\HttpException;
use FOS\RestBundle\Controller\Annotations\View as RestView;
use FOS\RestBundle\View\View;
use WsBundle\Controller\v1\serializer\szerCampania;
use WsBundle\Controller\v1\serializer\szerHeadContenido;
......@@ -19,12 +15,9 @@ use WsBundle\Controller\v1\serializer\szerHtmlContenido;
use AppBundle\Lib\Utiles;
use AppBundle\Lib\Responses;
use AppBundle\Model\Disposicion;
use AppBundle\Model\DisposicionQuery;
use AppBundle\Model\Campania;
use AppBundle\Model\CampaniaQuery;
use AppBundle\Model\CampaniaContenido;
use AppBundle\Model\CampaniaContenidoQuery;
use AppBundle\Model\TemplateCssRelacion;
use AppBundle\Model\TemplateCssRelacionQuery;
class CampaniaApiController extends ApiController {
......@@ -56,12 +49,7 @@ class CampaniaApiController extends ApiController {
public function obtenerContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:obtenerContenidoAction', 'mcafee/ws/index');
$tiempo_inicio = microtime(true);
$arrayHeadContenido = array();
$arrayBodyContenido = array();
$arrayFooterContenido = array();
$esMovil = false;
$html = "";
$indice = 0;
$log->debug("analizando serializer de entrada szerCampania...");
$szerValidatorCampania = $this->deserialize('WsBundle\Controller\v1\serializer\szerCampania', $request);
if ($szerValidatorCampania instanceof szerCampania === false) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment