Mejora controlador de campaña backend #1

parent fec63252
......@@ -33,11 +33,18 @@ class CampaniaController extends Controller {
const DEFAULT_COLUMN_NUMBER = 0;
const DEFAULT_TEMPLATE = 1;
/**
* @version 1.0.0
* Controlador que genera una campaña por defecto
* @param Request $request
* @return Render Template
*/
public function generandoNuevaCampaniaAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:generandoNuevaCampaniaAction', 'mcafee/campania/index');
$user = $this->get('security.token_storage')->getToken()->getUser();
$json = json_encode(array("head" => array(), "body" => array(), "footer" => array()));
$log->debug("generando campañia a trabajar...");
$campania = new Campania();
$campania->setCamEstado(Campania::ESTADO_INACTIVO);
$campania->setCamEliminado(Campania::ELIMINADO_FALSE);
......@@ -50,6 +57,13 @@ class CampaniaController extends Controller {
);
}
/**
* @version 1.0.0
* Controlador que retorna una respuesta en formato Json y actualiza una campaña del sistema.
* @param Request $request
* @return JsonResponse
*/
public function actualizarCampaniaAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:actualizarCampaniaAction', 'mcafee/campania/index');
$campaniaId = $request->get("campaniaId", null);
......@@ -137,10 +151,15 @@ class CampaniaController extends Controller {
return $jResponse;
}
/**
* @version 1.0.0
* Controlador que retorna una respuesta en formato json, cuando se elimina una campaña del sistema
* @param Request $request
* @return JsonResponse
*/
public function eliminarCampaniaAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:eliminarCampaniaAction', 'mcafee/campania/index');
$camId = $request->get("camId", null);
$log->debug("eliminando campaña $camId...");
$jResponse = new JsonResponse();
if ($camId == "" || $camId == null) {
......@@ -150,6 +169,8 @@ class CampaniaController extends Controller {
return $jResponse;
}
$log->debug("eliminando campaña $camId...");
$campania = CampaniaQuery::create()->findPk($camId);
$campania->setCamEstado(Campania::ESTADO_INACTIVO);
$campania->setCamEliminado(Campania::ELIMINADO_TRUE);
......@@ -161,19 +182,17 @@ class CampaniaController extends Controller {
}
/**
*
* @version 1.0.0
* Controlador que maneja la creacion de una camapaña nueva en el sistema
* @param Request $request
* @return type
* @return Render Template
*/
public function nuevaCampaniaAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:nuevaCampaniaAction', 'mcafee/campania/index');
$camId = $request->get("camId", null);
$user = $this->get('security.token_storage')->getToken()->getUser();
$log->debug("usuario : " . $user->getBusEmail());
$log->debug("obteniendo data inicial formulario...");
$columnas = array();
$log->debug("campania entrante : $camId...");
$contenido = null;
$numeroColumnas = 1;
if (!$camId || $camId == "none") {
$log->debug("generando campania a trabajar...");
......@@ -189,6 +208,9 @@ class CampaniaController extends Controller {
$contenidos = CampaniaContenidoQuery::create()->filterByCamId($camId)->filterByCcoEstado(CampaniaContenido::ESTADO_ACTIVO)->filterByCcoEliminado(CampaniaContenido::ELIMINADO_FALSE)->find();
}
$log->debug("obteniendo data inicial formulario...");
$log->debug("campania entrante : $camId...");
$secciones = SeccionQuery::create()->filterBySecEstado(Seccion::ACTIVO_TRUE)->filterBySecEliminado(Seccion::ELIMINADO_FALSE)->find();
$disposicionesEntornos = DisposicionQuery::create()->filterByDisEstado(Disposicion::ACTIVO_TRUE)->filterByDisEliminado(Disposicion::ELIMINADO_FALSE)->find();
$disposicionesColumnasFilas = DisposicionColumnasQuery::create()->filterByDcoEstado(DisposicionColumnas::ACTIVO_TRUE)->filterByDcoEliminado(DisposicionColumnas::ACTIVO_FALSE)->find();
......@@ -196,17 +218,12 @@ class CampaniaController extends Controller {
$tipos = TipoQuery::create()->filterByTipEstado(Tipo::ACTIVO_TRUE)->filterByTipEliminado(Tipo::ELIMINADO_FALSE)->filterByTipId(array(Tipo::TIPO_VIDEO), \Criteria::NOT_IN)->find();
$plantillas = TemplateQuery::create()->filterByTemEstado(Template::ACTIVO_TRUE)->filterByTemEliminado(Template::ELIMINADO_FALSE)->find();
$numeroColumnas = 1;
$log->debug("cargando columna básica, para disposicion básica...");
for ($i = 0; $i < $numeroColumnas; $i++):
$columnas[] = array("nombre" => $i + 1, "valor" => $i + 1);
endfor;
$countFilas = count($filas);
$log->debug("retornando...");
return $this->render('backend_content/pages/campanias/nuevaCampania.html.twig', array(
"secciones" => $secciones,
"campania" => $campania,
......@@ -214,7 +231,7 @@ class CampaniaController extends Controller {
"disposicionesColumnasFilas" => $disposicionesColumnasFilas,
"filas" => $filas,
"tipos" => $tipos,
"countFilas" => $countFilas,
"countFilas" => count($filas),
"columnas" => $columnas,
"maxColumns" => self::MAX_COLUMNS,
"campaniaId" => $campania->getCamId(),
......@@ -226,15 +243,19 @@ class CampaniaController extends Controller {
)
);
}
/**
*
* @version 1.0.0
* Controlador que permite generar una nueva fila en una seccion de la campaña
* @param Request $request
* @return JsonResponse
*/
public function generarNuevaFilaAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:nuevaCampaniaAction', 'mcafee/campania/index');
$secId = $request->get("secId", null);
$campaniaId = $request->get("camId", null);
$jResponse = new JsonResponse();
//Obtener la cantidad de filas actuales para la seccion donde se va a agregar.
$contadorFilasActuales = FilaQuery::create()->filterBySecId($secId)->filterByCamId($campaniaId)->filterByFilEliminado(Fila::ELIMINADO_FALSE)->filterByFilEstado(Fila::ACTIVO_TRUE)->count();
$seccion = SeccionQuery::create()->findPk($secId);
if (($secId == Seccion::SECCION_HEAD && $contadorFilasActuales >= self::MAX_HEAD_ROWS) || ($secId == Seccion::SECCION_FOOTER && $contadorFilasActuales >= self::MAX_FOOTER_ROWS )) {
......@@ -267,7 +288,8 @@ class CampaniaController extends Controller {
}
/**
*
* @version 1.0.0
* Controlador que permite generar una nueva fila en una seccion al momento de editar
* @param Request $request
* @return JsonResponse
*/
......@@ -276,7 +298,6 @@ class CampaniaController extends Controller {
$secId = $request->get("secId", null);
$campaniaId = $request->get("camId", null);
$jResponse = new JsonResponse();
//Obtener la cantidad de filas actuales para la seccion donde se va a agregar.
$contadorFilasActuales = FilaQuery::create()->filterBySecId($secId)->filterByCamId($campaniaId)->filterByFilEliminado(Fila::ELIMINADO_FALSE)->filterByFilEstado(Fila::ACTIVO_TRUE)->count();
$seccion = SeccionQuery::create()->findPk($secId);
......@@ -309,7 +330,12 @@ class CampaniaController extends Controller {
$jResponse->setData(array("msg" => "Se ha creado una nueva fila para la seccion '" . $seccion->getSecNombre() . "'", "filId" => $row->getFilId()));
return $jResponse;
}
/**
* @version 1.0.0
* Controlador que permite eliminar contenido de una campaña
* @param Request $request
* @return JsonResponse
*/
public function eliminarContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:eliminarContenidoAction', 'mcafee/campania/index');
$conId = $request->get("conId", null);
......@@ -326,6 +352,12 @@ class CampaniaController extends Controller {
return $jResponse;
}
/**
* @version 1.0.0
* Controlador que permite actualizar un contenido
* @param Request $request
* @return JsonResponse
*/
public function updateContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:updateContenidoAction', 'mcafee/campania/index');
$campaniaId = $request->get("campaniaId", null);
......@@ -408,15 +440,12 @@ class CampaniaController extends Controller {
return $jResponse;
}
public function showModalEditarContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:showModalEditarContenido', 'mcafee/campania/index');
$conId = $request->get("conId", null);
$camId = $request->get("camId", null);
//TODO BUSCAR CONTENIDO EN BASE DE DATIS
//TODO RENDERIZAR PAGINA Y CARGARLA EN EL MODAL
}
/**
* @version 1.0.0
* Controlador que permite guardar el contenido de una campaña
* @param Request $request
* @return JsonResponse
*/
public function saveContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:saveContenidoAction', 'mcafee/campania/index');
$campaniaId = $request->get("campaniaId", null);
......@@ -500,17 +529,26 @@ class CampaniaController extends Controller {
return $jResponse;
}
/**
* @version 1.0.0
* Controlador que permite obtener el listado de campañas
* @param Request $request
* @return type
*/
public function listadoCampaniasAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:listadoCampaniasAction', 'mcafee/campania/index');
$log->debug("mostrando campanias...");
$campanias = CampaniaQuery::create()->filterByCamEstado(Campania::ESTADO_ACTIVO)->filterByCamEliminado(Campania::ELIMINADO_FALSE)->find();
return $this->render("backend_content/pages/campanias/listadoCampanias.html.twig", array("campanias" => $campanias));
}
/**
* @version 1.0.0
* Controlador que permite traer la información al editar un contenido
* @param Request $request
* @return type
*/
public function loadDataContenidoAction(Request $request) {
$log = Utiles::setLog('CampaniaBundle\Controller\CampaniaController:loadDataContenidoAction', 'mcafee/campania/index');
$user = $this->get('security.token_storage')->getToken()->getUser();
$json = json_encode(array("head" => array(), "body" => array(), "footer" => array()));
$conId = $request->get("conId", NULL);
$camId = $request->get("camId", NULL);
$log->debug("cargando data del contenido a editar...");
......@@ -575,11 +613,6 @@ class CampaniaController extends Controller {
break;
}
$countFilas = count($filas);
$log->debug("retornando...");
return $this->render('backend_content/includes/bodyEditarElementoContenido.html.twig', array(
"contenido" => $contenido,
......@@ -590,12 +623,13 @@ class CampaniaController extends Controller {
"filas" => $filas,
"tipos" => $tipos,
"columnas" => $columnas,
"countFilas" => $countFilas
"countFilas" => count($filas)
));
}
/**
*
* @version 1.0.0
* Controlador que permite recargar las filas
* @param Request $request
* @return type
*/
......@@ -609,7 +643,8 @@ class CampaniaController extends Controller {
}
/**
*
* @version 1.0.0
* Controlador que permite recargar las columnas
* @param Request $request
* @return type
*/
......@@ -669,8 +704,14 @@ class CampaniaController extends Controller {
return $this->render('backend_content/includes/columnaSelector.html.twig', array('columnas' => $columnas));
}
/**
* @version 1.0.0
* Función que permite actulizar la disposicion de las columnas de una campaña
* @param type $campaniaId
* @param type $filaId
* @param type $disposicionId
*/
public function correccionDisposicionColumnas($campaniaId, $filaId, $disposicionId) {
//Buscando otros contenidos que posean la misma fila y actualizar la disposicion de columnas de estas.
$contenidosCampania = CampaniaContenidoQuery::create()
->filterByCamId($campaniaId)
->filterByCcoEstado(Campania::ESTADO_ACTIVO)
......
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