Commit bd43a8c7 authored by Ana's avatar Ana

cambios

parent 2b8309c4
###FRONTEND###
solicitar_numero:
front_index:
path: /
controller: App\FrontendBundle\Controller\IndexController::solicitarNumero
controller: App\FrontendBundle\Controller\IndexController::index
methods: [GET,POST]
salir:
path: /logout
controller: App\FrontendBundle\Controller\CuentaController::logout
methods: [GET]
mostrar_reproductor:
path: /reproductor
controller: App\FrontendBundle\Controller\ListadoController::mostrarReproductor
methods: [GET]
front_index:
path: /inicio
controller: App\FrontendBundle\Controller\IndexController::presentacion
methods: [GET,POST]
controller: App\FrontendBundle\Controller\ReproductorController::mostrarReproductor
methods: [GET]
front_validar_msisdn:
path: app/musica/validar/msisdn
controller: App\FrontendBundle\Controller\IndexController::validarMsisdn
......@@ -32,22 +35,22 @@ front_canciones_lista_no_contratadas:
front_canciones_contratar:
path: app/lista/canciones/contratar
controller: App\FrontendBundle\Controller\ListadoController:contratar
controller: App\FrontendBundle\Controller\SuscripcionController:contratar
methods: [POST]
front_mostrar_contratar:
path: app/lista/mostrarContratar
controller: App\FrontendBundle\Controller\ListadoController:mostrarContratar
controller: App\FrontendBundle\Controller\SuscripcionController:mostrarContratar
methods: [GET]
front_confirmar_contratar:
path: app/lista/confirmarContratar
controller: App\FrontendBundle\Controller\ListadoController:confirmarContratar
controller: App\FrontendBundle\Controller\SuscripcionController:confirmarContratar
methods: [POST]
front_canciones_descontratar:
path: app/lista/canciones/descontratar
controller: App\FrontendBundle\Controller\ListadoController::desuscribir
controller: App\FrontendBundle\Controller\SuscripcionController::desuscribir
methods: [POST]
front_listas_contratadas:
......@@ -60,15 +63,9 @@ front_listas_no_contratadas:
methods: [POST]
front_mi_cuenta:
path: mi/cuenta
controller: App\FrontendBundle\Controller\IndexController::miCuenta
controller: App\FrontendBundle\Controller\CuentaController::miCuenta
methods: GET
front_datos_usuario:
path: mi/cuenta/datos/actualizar
controller: App\FrontendBundle\Controller\IndexController::actualizarDatos
controller: App\FrontendBundle\Controller\CuentaController::actualizarDatos
methods: POST
front_prueba:
path: app/musica/fake
controller: App\FrontendBundle\Controller\IndexController::fake
front_test:
path : app/musica/test
controller: App\FrontendBundle\Controller\IndexController::test
\ No newline at end of file
......@@ -126,7 +126,18 @@ class PluListaRepository extends EntityRepository {
$result[] = $object->getLisId()->getLisId();
}
$idListas = implode(", ", $result);
return $idListas;
return $idListas;
}
public function getCantListaSuscrita($msisdn, $listid){
$sql = "SELECT count(*) as cantidad
FROM plu_suscripcion AS plusus
WHERE plusus.lis_id = " . $listid ." and plusus.sus_msisdn= " . $msisdn;
$stmt = $this->getEntityManager()->getConnection()->prepare($sql);
$stmt->execute();
$cantidad = $stmt->fetch(\PDO::FETCH_ASSOC);
return $cantidad["cantidad"];
}
......
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
use App\Entity\PluUsuarioMovil;
class CuentaController extends AbstractController
{
public function miCuenta(Request $request): response {
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::miCuenta', 'app/frontend/micuenta');
$em = $this->getDoctrine()->getManager('default');
$ua = $request->headers->get('User-Agent');
$host = $request->getSchemeAndHttpHost();
$ip = $request->getClientIp();
$session = $this->get("session");
$msisdnSesion = $session->get('msisdn');
$msisdnEntrante = $request->get("msisdn");
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdnEntrante| MSISDN SESION : $msisdnSesion");
if ($msisdnEntrante != $msisdnSesion || !Utiles::isMsisdn($msisdnEntrante)) {
$log->debug("el msisdn entrante no cumple con el formato o es distinto al obtenido de la sesion...");
//$url = $this->generateUrl('front_index', array('msisdn' => $msisdnSesion));
$url = $this->container->get('router')->generate('front_index', array('msisdn' => $msisdnSesion));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
$log->debug("obteniendo el historial de suscripciones para el usuario $msisdnEntrante");
$suscripciones = $em->getRepository(PluSuscripcion::class)->findBy(array("susMsisdn" => $msisdnEntrante, "susVigente" => 1));
$log->debug("obteniendo el usuario asociado al msisdn $msisdnEntrante");
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdnEntrante));
//$session->clear();//prueba
return $this->render('frontend/paginas/mi_cuenta.html.twig', [
"suscripciones" => $suscripciones,
"usuario" => $usuario
]);
}
public function actualizarDatos(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::actualizarDatos', 'app/frontend/datosUsuario');
$msisdn = $request->get("msisdn");
$email = $request->get("email");
$ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp();
$em = $this->getDoctrine()->getManager('default');
$json = new JsonResponse();
$log->debug("$ua | $msisdn | $ip...");
//CHEQUEAR EMAIL
if (Utiles::validarCorreo($email) == 0) {
$log->debug("Mail Invalido $email...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'Correo ingresado inválido.');
$json->setData(array('errors' => 'El correo ingresado no es válido.'));
return $json;
}
if ($em->getRepository(PluUsuarioMovil::class)->countBy(array("umoMail" => $email)) > 0) {
$log->debug("Mail $email ya registrado...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'El email ingresado ya se encuenrra registrado en nuestros sistemas.');
$json->setData(array('errors' => 'El correo ingresado ya se encuentra registrado.'));
return $json;
}
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdn));
$log->debug("actualizando datos de usuario...");
$usuario->setUmoMail($email);
$em->persist($usuario);
$em->flush();
$log->debug("datos actualizados correctamente para usuario ".$usuario->getUmoId());
$log->debug("retornando...");
$json->setStatusCode(JsonResponse::HTTP_OK, 'OK');
$json->setData(array("mail" => $usuario->getUmoMail()));
return $json;
}
public function logout(Request $request): Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::CuentaController::presentacion', 'app/frontend/logout');
$session = $this->get("session");
$session->clear();
$url = $this->container->get('router')->generate('front_index');
return new RedirectResponse($url, 302);
}
}
......@@ -19,61 +19,21 @@ use App\Entity\PluAccesosUsuarioMovil;
class IndexController extends AbstractController {
public function solicitarNumero (Request $request){
return $this->render('frontend/paginas/ingresar_numero.html.twig');
}
public function index(Request $request): Response {
public function fake (Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::IndexController::fake', 'app/frontend/fake');
$msisdn = $request->get("msisdn");
$session = $this->get("session");
//$session->clear();//prueba
$session->clear();
$msisdn = "974867425";
$session->set('msisdn', $msisdn);
// $session->set("msisdn", $msisdn);
if($session){
$log->debug("obteniendo msisdn de la sesion...");
$session->set("msisdn", $msisdn);
}else{
$log->debug("iniciando nueva sesion...");
$session = new Session();
$session->start();
$session->set("msisdn", $msisdn);
}
$log->debug("sesion iniciada con msisdn seteado en ".$session->get("msisdn"));
return $this->redirect($this->generateUrl('front_index'), 302);
}
public function test(){
$em = $this->getDoctrine()->getManager('default');
$r = $em->getRepository(PluRelacionesListas::class)->getListasPadresDisponibles();
print_r(json_encode($r));
return new Response();
}
public function presentacion(Request $request): Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::IndexController::presentacion', 'app/frontend/presentacion');
$em = $this->getDoctrine()->getManager('default');
$ua = $request->headers->get('User-Agent');
$host = $request->getSchemeAndHttpHost();
$ip = $request->getClientIp();
$session = $this->get("session");
//$session->clear();//prueba
$msisdnSesion = $session->get('msisdn');
/* Entradas requeridas */
$msisdn = $request->get("msisdn", "");
$modal = $request->get("m", 0);
/* Entradas requeridas */
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdn| MSISDN SESION : $msisdnSesion | MODAL : $modal ");
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdn| MSISDN SESION : $msisdnSesion");
//prueba
//$session->clear();
##CHEQUEO DE CASOS SESION##
if ($session->get('msisdn')) {
$log->debug("1-MSISDN sesion encontrado....");
$msisdn = $session->get('msisdn');
......@@ -88,7 +48,7 @@ class IndexController extends AbstractController {
$log->debug("generando registro de sesion en BD para el msisdn $msisdn....");
$this->generarRegistroSession($em, $msisdn);
}
} else if (!$session->get('msisdn') && $msisdn == "" && $modal == 0) {
} /*else if (!$session->get('msisdn') && $msisdn == "") {
$log->debug("3-No se pudo obtener el msisdn....");
$code = Utiles::generarCodiogUnico($ip);
//redirect a php que esta en otro servidor
......@@ -96,18 +56,12 @@ class IndexController extends AbstractController {
'url_retorno' => "$host/app/musica" //el msisdn se le agrega al final de la url como get, en el otro servidor(ej: ?msisdn=999999)
));
$statusCode = 302;
//$url="localhost";
return new RedirectResponse($url, $statusCode);
}
}*/
if ($session->get('msisdn') != "") {
if (!Utiles::formatMsisdnSpecial($session->get('msisdn')) || !Utiles::formatMsisdnSpecial($msisdn)) {
$log->debug("formato MSISDN Invalido. Solicitando Modal....");
$msisdn = "";
$session->clear();
$modal = 1;
}
if ($session->get('msisdn')=="") {
return $this->render('frontend/paginas/ingresar_numero.html.twig');
}
##LOGICA DE LA VISTA##
......@@ -140,8 +94,6 @@ class IndexController extends AbstractController {
$cantidadListasContratadas = count($listasFiltradasContratadas);
$log->debug("Cantdad listas vigentes usuario $msisdn : $cantidadListas | Cantidad listas Contratadas usuario $msisdn : $cantidadListasContratadas");
/* Nueva Logica Registro Usuario */
//creando registro de msisdn en BD
$criteria = array("umoMsisdn" => $msisdn, "umoEliminado" => 0);
$nbUsers = $em->getRepository(PluUsuarioMovil::class)->countBy($criteria);
......@@ -169,11 +121,9 @@ class IndexController extends AbstractController {
$usuarioAcceso->setUpdatedAt(new \DateTime());
$em->persist($usuarioAcceso);
$em->flush();
/* Fin Nueva Logica Registro Usuario */
$em->flush();
$log->debug("OPCIONES FRONT | MSISDN SALIENTE : $msisdn | modal? : $modal | isChrome : ".Utiles::isWindowsChrome($ua));
$log->debug("OPCIONES FRONT | MSISDN SALIENTE : $msisdn | isChrome : ".Utiles::isWindowsChrome($ua));
return $this->render('frontend/index.html.twig', [
"listas" => $listasFiltradas,
......@@ -184,80 +134,12 @@ class IndexController extends AbstractController {
"IdentificadorListaCanciones" => 0,
"cancionesLista" => array(),
"msisdn" => $msisdn,
"modal" => $modal,
"isChrome" => Utiles::isWindowsChrome($ua)
]);
}
public function miCuenta(Request $request): response {
$log = Utiles::setLog('App\FrontendBundle\Controller::IndexController::miCuenta', 'app/frontend/micuenta');
$em = $this->getDoctrine()->getManager('default');
$ua = $request->headers->get('User-Agent');
$host = $request->getSchemeAndHttpHost();
$ip = $request->getClientIp();
$session = $this->get("session");
$msisdnSesion = $session->get('msisdn');
$msisdnEntrante = $request->get("msisdn");
$log->debug("entrando...HOST : $host |IP : $ip |MSISDN ENTRANTE: $msisdnEntrante| MSISDN SESION : $msisdnSesion");
if ($msisdnEntrante != $msisdnSesion || !Utiles::isMsisdn($msisdnEntrante)) {
$log->debug("el msisdn entrante no cumple con el formato o es distinto al obtenido de la sesion...");
$url = $this->generateUrl('front_index', array('msisdn' => $msisdnSesion, 'm' => 0));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
$log->debug("obteniendo el historial de suscripciones para el usuario $msisdnEntrante");
$suscripciones = $em->getRepository(PluSuscripcion::class)->findBy(array("susMsisdn" => $msisdnEntrante, "susVigente" => 1));
$log->debug("obteniendo el usuario asociado al msisdn $msisdnEntrante");
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdnEntrante));
return $this->render('frontend/paginas/mi_cuenta.html.twig', [
"suscripciones" => $suscripciones,
"usuario" => $usuario
]);
}
public function actualizarDatos(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::IndexController::actualizarDatos', 'app/frontend/datosUsuario');
$msisdn = $request->get("msisdn");
$email = $request->get("email");
$ua = $request->headers->get('User-Agent');
$ip = $request->getClientIp();
$em = $this->getDoctrine()->getManager('default');
$json = new JsonResponse();
$log->debug("$ua | $msisdn | $ip...");
//CHEQUEAR EMAIL
if (Utiles::validarCorreo($email) == 0) {
$log->debug("Mail Invalido $email...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'Correo ingresado inválido.');
$json->setData(array('errors' => 'El correo ingresado no es válido.'));
return $json;
}
if ($em->getRepository(PluUsuarioMovil::class)->countBy(array("umoMail" => $email)) > 0) {
$log->debug("Mail $email ya registrado...");
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST, 'El email ingresado ya se encuenrra registrado en nuestros sistemas.');
$json->setData(array('errors' => 'El correo ingresado ya se encuentra registrado.'));
return $json;
}
$usuario = $em->getRepository(PluUsuarioMovil::class)->findOneBy(array("umoMsisdn" => $msisdn));
$log->debug("actualizando datos de usuario...");
$usuario->setUmoMail($email);
$em->persist($usuario);
$em->flush();
$log->debug("datos actualizados correctamente para usuario ".$usuario->getUmoId());
$log->debug("retornando...");
$json->setStatusCode(JsonResponse::HTTP_OK, 'OK');
$json->setData(array("mail" => $usuario->getUmoMail()));
return $json;
}
public function validarMsisdn(Request $request): Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::IndexController::validarMsisdn', 'app/frontend/presentacion');
......
......@@ -7,8 +7,8 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluLista;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
......@@ -28,17 +28,6 @@ class ListadoController extends AbstractController
return $this->render('frontend/paginas/listado.html.twig', array("cancionesLista"=>$cancionesLista, "IdentificadorListaCanciones"=>$id, "lista" => $lista, "isChrome" => Utiles::isWindowsChrome($ua)));
}
public function mostrarReproductor(Request $request): Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::canciones', 'app/frontend/reproductor');
$id = $request->get("lisId");
$ua = $request->headers->get('User-Agent');
$log->debug("Mostrando reproductor de la lista $id...");
//$cancionesLista = $this->getDoctrine()->getRepository(PluCancion::class)->getCancionesLista($id);
$em = $this->getDoctrine()->getManager('default');
$lista = $em->getRepository(PluLista::class)->find($id);
$cancionesLista = $this->getDoctrine()->getRepository(PluLista::class)->getCancionesLista($id);
return $this->render('frontend/paginas/reproductor.html.twig', array("cancionesLista"=>$cancionesLista, "IdentificadorListaCanciones"=>$id, "lista" => $lista, "isChrome" => Utiles::isWindowsChrome($ua)));
}
public function cancionesNoContratadas(Request $request): Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::canciones', 'app/frontend/canciones');
......@@ -50,150 +39,7 @@ class ListadoController extends AbstractController
}
public function mostrarContratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::mostrarContratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$lista = $em->getRepository(PluLista::class)->find($lisId);
return $this->render('frontend/paginas/mostrarContratar.html.twig', array("lista"=>$lista, "msisdn"=>$msisdn));
}
public function confirmarContratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::confirmarContratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$lista = $em->getRepository(PluLista::class)->find($lisId);
return $this->render('frontend/paginas/confirmacionContratar.html.twig', array("lista"=>$lista, "msisdn"=>$msisdn));
}
public function contratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::contratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$fechaActual = new \DateTime();
$fecha = new \DateTime();
$fechaUnaSemana = $fecha->modify('+7 days');
$json = new JsonResponse();
$log->debug("Lista $lisId | Usuario $msisdn");
if(!is_numeric($lisId)){
$log->debug("La lista seleccionada no es válida...");
$json->setData(array('errors' => "La lista seleccionada no es válida"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
if(!Utiles::formatMsisdnSpecial($msisdn)){
$log->debug("El msisdn ingresado no es válido...");
$json->setData(array('errors' => "El número ingresado no es valido"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
$lista = $em->getRepository(PluLista::class)->find($lisId);
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($lista);
$suscripcion->setSusMsisdn($msisdn);
$suscripcion->setSusInicio($fechaActual);
$suscripcion->setSusFin($fechaUnaSemana);
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
//echo "aqui";
$em->persist($suscripcion);
$em->flush();
// echo "aqui2:" . $resultado["statusCode"];
$log->debug("Suscripcion generada ".$suscripcion->getSusId());
$log->debug("Haciendo peticion a entel VPW....");
$resultado = EntelVPW::suscribirEntel($msisdn, $lista, $suscripcion, $em);
$log->debug("Resultado suscripcion ENTEL VPW :".print_r($resultado,true));
if($resultado["statusCode"] == 200){
$suscripcion->setSusVigente(PluSuscripcion::VIGENTE);
$em->persist($suscripcion);
$em->flush();
$json->setData(array('success' => 'OK.'));
$json->setStatusCode(JsonResponse::HTTP_OK);
return $json;
}else{
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$em->persist($suscripcion);
$em->flush();
$json->setData(array('errors' => $resultado["descr"]));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
}
public function desuscribir(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::contratar', 'app/frontend/descontratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn",null);
$lisId = $request->get("lisId",null);
$json = new JsonResponse();
if(!is_numeric($lisId)){
$log->debug("La lista seleccionada no es válida...");
$json->setData(array('errors' => "La lista seleccionada no es válida"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
if(!Utiles::formatMsisdnSpecial($msisdn)){
$log->debug("El msisdn ingresado no es válido...");
$json->setData(array('errors' => "El número ingresado no es valido"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
$ultimaSuscripcionVigenteLista = $this->getDoctrine()->getRepository(PluSuscripcion::class)->getUltimaSuscripcionLista($msisdn, $lisId);
$lista = $this->getDoctrine()->getRepository(PluLista::class)->find($lisId);
//Registro de desuscripcion
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($ultimaSuscripcionVigenteLista->getLisId());
$suscripcion->setSusMsisdn($ultimaSuscripcionVigenteLista->getSusMsisdn());
$suscripcion->setSusInicio($ultimaSuscripcionVigenteLista->getSusInicio());
$suscripcion->setSusFin($ultimaSuscripcionVigenteLista->getSusFin());
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
$log->debug("Suscripcion a desuscribir ".$ultimaSuscripcionVigenteLista->getSusId());
$log->debug("Haciendo peticion a entel VPW....");
$resultado = EntelVPW::desuscribirEntel($msisdn, $lista, $suscripcion, $em);
$log->debug("Resultado desuscripcion ENTEL VPW :".print_r($resultado,true));
if($resultado["statusCode"] == 200){
$ultimaSuscripcionVigenteLista->setSusVigente(PluSuscripcion::NO_VIGENTE);
$em->persist($ultimaSuscripcionVigenteLista);
$em->flush();
$json->setData(array('success' => 'OK.'));
$json->setStatusCode(JsonResponse::HTTP_OK);
return $json;
}else{
$json->setData(array('errors' => $resultado["descr"]));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
}
public function listasContratadas(Request $request) : Response {
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::listasContratadas', 'app/frontend/listas-contratadas');
......
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
class ReproductorController extends AbstractController
{
public function mostrarReproductor(Request $request): Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::ListadoController::canciones', 'app/frontend/reproductor');
$id = $request->get("lisId");
$ua = $request->headers->get('User-Agent');
$log->debug("Mostrando reproductor de la lista $id...");
$em = $this->getDoctrine()->getManager('default');
$lista = $em->getRepository(PluLista::class)->find($id);
$cancionesLista = $this->getDoctrine()->getRepository(PluLista::class)->getCancionesLista($id);
return $this->render('frontend/paginas/reproductor.html.twig', array("cancionesLista"=>$cancionesLista, "IdentificadorListaCanciones"=>$id, "lista" => $lista, "isChrome" => Utiles::isWindowsChrome($ua)));
}
}
<?php
namespace App\FrontendBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController ;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Doctrine\ORM\EntityManagerInterface;
use App\Entity\PluLista;
use App\Entity\PluImagen;
use App\Entity\PluCancion;
use App\Entity\PluSuscripcion;
use App\Utilities\Utiles;
use App\Utilities\EntelVPW;
class SuscripcionController extends AbstractController
{
public function mostrarContratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::SuscripcionController::mostrarContratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$session = $this->get("session");
$msisdnSesion = $session->get('msisdn');
$msisdnEntrante = $request->get("msisdn");
if ($msisdnEntrante != $msisdnSesion || !Utiles::isMsisdn($msisdnEntrante)) {
$log->debug("el msisdn entrante no cumple con el formato o es distinto al obtenido de la sesion...");
$url = $this->container->get('router')->generate('front_index', array('msisdn' => $msisdnSesion));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
/*Buscar si ya esta contratado a esa lista*/
$ua = $request->headers->get('User-Agent');
$cant = $em->getRepository(PluLista::class)->getCantListaSuscrita($msisdn, $lisId);
if ($cant > 0){
$lista = $em->getRepository(PluLista::class)->find($lisId);
$cancionesLista = $this->getDoctrine()->getRepository(PluLista::class)->getCancionesLista($lisId);
return $this->render('frontend/paginas/reproductor.html.twig', array("cancionesLista"=>$cancionesLista, "IdentificadorListaCanciones"=>$lisId, "lista" => $lista, "isChrome" => Utiles::isWindowsChrome($ua)));
}
else
$lista = $em->getRepository(PluLista::class)->find($lisId);
return $this->render('frontend/paginas/mostrarContratar.html.twig', array("lista"=>$lista, "msisdn"=>$msisdn));
}
public function confirmarContratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::SuscripcionController::confirmarContratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$lista = $em->getRepository(PluLista::class)->find($lisId);
return $this->render('frontend/paginas/confirmacionContratar.html.twig', array("lista"=>$lista, "msisdn"=>$msisdn));
}
public function contratar(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::SuscripcionController::contratar', 'app/frontend/contratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn");
$lisId = $request->get("lisId");
$fechaActual = new \DateTime();
$fecha = new \DateTime();
$fechaUnaSemana = $fecha->modify('+7 days');
$json = new JsonResponse();
$log->debug("Lista $lisId | Usuario $msisdn");
if(!is_numeric($lisId)){
$log->debug("La lista seleccionada no es válida...");
$json->setData(array('errors' => "La lista seleccionada no es válida"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
if(!Utiles::formatMsisdnSpecial($msisdn)){
$log->debug("El msisdn ingresado no es válido...");
$json->setData(array('errors' => "El número ingresado no es valido"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
$lista = $em->getRepository(PluLista::class)->find($lisId);
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($lista);
$suscripcion->setSusMsisdn($msisdn);
$suscripcion->setSusInicio($fechaActual);
$suscripcion->setSusFin($fechaUnaSemana);
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
//echo "aqui";
$em->persist($suscripcion);
$em->flush();
// echo "aqui2:" . $resultado["statusCode"];
$log->debug("Suscripcion generada ".$suscripcion->getSusId());
$log->debug("Haciendo peticion a entel VPW....");
$resultado = EntelVPW::suscribirEntel($msisdn, $lista, $suscripcion, $em);
$log->debug("Resultado suscripcion ENTEL VPW :".print_r($resultado,true));
if($resultado["statusCode"] == 200){
$suscripcion->setSusVigente(PluSuscripcion::VIGENTE);
$em->persist($suscripcion);
$em->flush();
$json->setData(array('success' => 'OK.'));
$json->setStatusCode(JsonResponse::HTTP_OK);
$url = $this->container->get('router')->generate('front_index', array('msisdn' => $msisdn));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}else{
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$em->persist($suscripcion);
$em->flush();
$json->setData(array('errors' => $resultado["descr"]));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
$url = $this->container->get('router')->generate('front_index', array('msisdn' => $msisdn));
$statusCode = 302;
return new RedirectResponse($url, $statusCode);
}
}
public function desuscribir(Request $request) : Response{
$log = Utiles::setLog('App\FrontendBundle\Controller::SuscripcionController::contratar', 'app/frontend/descontratacion');
$em = $this->getDoctrine()->getManager('default');
$msisdn = $request->get("msisdn",null);
$lisId = $request->get("lisId",null);
$json = new JsonResponse();
if(!is_numeric($lisId)){
$log->debug("La lista seleccionada no es válida...");
$json->setData(array('errors' => "La lista seleccionada no es válida"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
if(!Utiles::formatMsisdnSpecial($msisdn)){
$log->debug("El msisdn ingresado no es válido...");
$json->setData(array('errors' => "El número ingresado no es valido"));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
$ultimaSuscripcionVigenteLista = $this->getDoctrine()->getRepository(PluSuscripcion::class)->getUltimaSuscripcionLista($msisdn, $lisId);
$lista = $this->getDoctrine()->getRepository(PluLista::class)->find($lisId);
//Registro de desuscripcion
$suscripcion = new PluSuscripcion();
$suscripcion->setLisId($ultimaSuscripcionVigenteLista->getLisId());
$suscripcion->setSusMsisdn($ultimaSuscripcionVigenteLista->getSusMsisdn());
$suscripcion->setSusInicio($ultimaSuscripcionVigenteLista->getSusInicio());
$suscripcion->setSusFin($ultimaSuscripcionVigenteLista->getSusFin());
$suscripcion->setSusVigente(PluSuscripcion::NO_VIGENTE);
$suscripcion->setSusEliminado(PluSuscripcion::ELIMINADO_FALSE);
$suscripcion->setCreatedAt(new \DateTime());
$suscripcion->setUpdatedAt(new \DateTime());
$log->debug("Suscripcion a desuscribir ".$ultimaSuscripcionVigenteLista->getSusId());
$log->debug("Haciendo peticion a entel VPW....");
$resultado = EntelVPW::desuscribirEntel($msisdn, $lista, $suscripcion, $em);
$log->debug("Resultado desuscripcion ENTEL VPW :".print_r($resultado,true));
if($resultado["statusCode"] == 200){
$ultimaSuscripcionVigenteLista->setSusVigente(PluSuscripcion::NO_VIGENTE);
$em->persist($ultimaSuscripcionVigenteLista);
$em->flush();
$json->setData(array('success' => 'OK.'));
$json->setStatusCode(JsonResponse::HTTP_OK);
return $json;
}else{
$json->setData(array('errors' => $resultado["descr"]));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
}
}
......@@ -29,6 +29,10 @@
<body>
{%include 'frontend/includes/navbar.html.twig' %}
<br/><br/>
<div class="navbar navbar-expand-lg navbar-dark navbar-custom justify-content-between">
<a href="{{path('front_index')}}" class="navbar-brand mx-auto d-block text-center order-0 order-md-1 w-25"><img src="{{asset('frontend/img/umusic-logo.svg')}}" height="110" class="img-fluid"/></a>
</div>
{%block body %}{% endblock %}
<!-- Footer -->
......
<!-- Modal -->
<div class="modal fade" id="modalSongListContratada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleListContratada" class="modal-title modalTitleCustom"></h4>
<button onclick="closeCurrentList(event)" type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyContratada" class="modal-body">
<div id="modalBodyContentContratada" style="display:none">
{%include 'frontend/paginas/canciones.html.twig'%}
</div>
</div>
<div class="modal-footer">
{#<button onclick="showUnsuscribeList(event)" type="button" class="btn btn-danger" data-dismiss="modal">Cancelar Suscripcion</button> #}
<button onclick="closeCurrentList(event)" type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalSongList" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleList" class="modal-title modalTitleCustom"></h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBody" class="modal-body">
<div id="modalBodyContent" style="display:none">
{%include 'frontend/paginas/canciones_no_contratadas.html.twig' %}
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="showModalVerificarMsisdnContratar(event)" class="btn btn-success">Contratar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdn" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdn" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyCompra" class="modal-body">
<div id="modalBodyContratarContent">
<p>Contrata tu lista por un precio de <span id="precioContratar" style="font-weight: bold;">0</span> CLP</p>
<div class="row">
<div class="col-md-12">
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" id="btnContratarLista" onclick="contratarLista(event)" class="btn btn-success">Contratar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdnFallida" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdnFallida" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyContratarFallida" class="modal-body">
<div id="message-container-contratacion-fallida"></div>
<div id="modalBodyContratarContentFallida">
<p>Tu lista <span id="nombreListaContratarFallida"></span> por un precio de <span id="precioContratarFallida" style="font-weight: bold;"></span> CLP, No pudo ser contratada. </p>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalContratarMsisdnVerificada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleContratarMsisdnVerificada" class="modal-title modalTitleCustom">Contratar</h4>
<button type="button" class="close modalCloseCustom"></button>
</div>
<div id="modalBodyContratarVerificada" class="modal-body">
<div id="modalBodyContratarContentVerificada">
<p>La contratacón de la lista <span id="nombreListaContratarVerificada"></span> por un precio de <span id="precioContratarVerificada" style="font-weight: bold;"></span> CLP, ha sido realizada con exito!</p>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="recargarListas(event)" class="btn btn-success">Actualizar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDatosUsuario" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDatosUsuario" class="modal-title modalTitleCustom">Datos Personales</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyDatosUsuario" class="modal-body">
<div id="message-container-datos-usuario"></div>
<div id="modalBodyDatosUsuarioContent">
<form class="form-horizontal" action="/" method="post">
<div class="form-group">
<div class="col-md-12">
<input class="form-control focused" id="mailUsuario" name="mailUsuario" value="{{usuario.getUmoMail()}}" type="text" placeholder="Ej:correo@mail.com">
</div>
</div>
</form>
</div>
</div>
<div class="modal-footer">
<button id="btnActualizarDatos" type="button" onclick="actualizarDatos(event)" class="btn btn-success">Actualizar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDescontratarLista" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDescontratarLista" class="modal-title modalTitleCustom">Cancelar Suscripción</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal">&times;</button>
</div>
<div id="modalBodyDescontratar" class="modal-body">
<div id="message-container-descontratacion"></div>
<div id="modalBodyDesContratarContent">
<p>Estas a punto de cancelar la suscripcion a la lista <span id="nombreListaContratada"></span></p>
<p>Esta seguro de realizar esta operación?</p>
</div>
</div>
<div class="modal-footer">
<button id="btnDescontratar" type="button" onclick="unsuscribe(event)" class="btn btn-success">Aceptar</button>
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalDesContratarRealizada" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitleDescontratarRealizada" class="modal-title modalTitleCustom">Cancelar Suscripcion</h4>
<button type="button" class="close modalCloseCustom"></button>
</div>
<div id="modalBodyDescontratarRealizada" class="modal-body">
<div id="modalBodyDescontratarRealizadaContent">
<p>Se ha realizado la cancelacion de la suscripcion a la lista <span id="nombreListaContratarVerificada"></span> con exito.</p>
</div>
</div>
<div class="modal-footer">
<button type="button" onclick="recargarListas(event)" class="btn btn-success">Actualizar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalValidarMsisdn" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="" class="modal-title modalTitleCustom">Cliente Entel</h4>
<button onclick="" type="button" class="close modalCloseCustom" data-dismiss="modal"></button>
</div>
<div id="" class="modal-body">
<div class="row">
<div class="col-md-12">
<p>Ingrese su número de teléfono para realizar la validación</p>
<div id="message-container-validar"></div>
<div id="message-container-info-validar"></div>
<form class="form-horizontal" action="/" method="post">
<div class="form-group">
<div class="col-md-12">
<input class="form-control focused" id="msisdn" name="msisdn" pattern=".{9,9}" required title="Debe ingresar 9 números" type="text" placeholder="Ej:974867425">
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button id="btnValidarMsisdn" type="button" onclick="validarMsisdn(event)" class="btn btn-danger">Validar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Modal -->
<div class="modal fade" id="modalValidarPin" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 id="" class="modal-title modalTitleCustom">Cliente Entel</h4>
<button type="button" class="close modalCloseCustom" data-dismiss="modal"></button>
</div>
<div id="" class="modal-body">
<div id="message-container-pin"></div>
<div id="message-container-info-pin"></div>
<p>Ingrese el Pin recibido por SMS en su teléfono entel</p>
<form class="form-horizontal" action="/" method="post">
<div class="form-group">
<div class="col-md-12">
<input class="form-control focused" id="pin" name="pin" type="text" placeholder="Ej: 1234">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button id="btnValidarPin" type="button" onclick="validarPin(event)" class="btn btn-danger">Validar</button>
</div>
</div>
</div>
</div>
\ No newline at end of file
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-dark navbar-custom justify-content-between">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".dual-nav" onclick="openNav()">
<span class="navbar-toggler-icon"></span>
</button>
<!-- <div class="navbar-collapse collapse dual-nav w-50 order-1 order-md-0">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link pl-0" href="#">Home <span class="sr-only">Home</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div> -->
<a href="{{path('front_index')}}" class="navbar-brand mx-auto d-block text-center order-0 order-md-1 w-25"><img src="{{asset('frontend/img/umusic-logo.svg')}}" height="110" class="img-fluid"/></a>
<nav class="navbar navbar-expand-lg navbar-dark navbar-custom fixed-top">
<div class="container">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
{#falta agregar ir a inicio#}
<li class="nav-item">
<a class="nav-link" href="{{path('front_index', {msisdn: app.session.get('msisdn')})}}">Inicio</a>
</li>
{% if app.session.get('msisdn')!="" %}
<li class="nav-item">
<a class="nav-link" href="{{path('front_mi_cuenta', {msisdn: app.session.get('msisdn')})}}">Mi cuenta</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{path('salir', {msisdn: app.session.get('msisdn')})}}">Salir</a>
</li>
{% endif %}
</ul>
</div>
</nav>
</div>
</nav>
\ No newline at end of file
<div class="player_layout">
<div class="row">
<div class="col-lg-8 col-md-8 col-sm-8 col-xs-12">
<p id="song_playing_{{IdentificadorListaCanciones}}" class="song"></p>
<p id="album_playing_{{IdentificadorListaCanciones}}" class="album"></p>
<div class="artistListNamesContainer"><p id="artist_playing_{{IdentificadorListaCanciones}}" class="artist" ></p></div>
</div>
<div class="col-lg-4 col-md-4 col-sm-4 col-xs-12">
<img id="imagePlayList" class="playlist_pic" width="250px" height="250px" src>
</div>
</div>
<div class="row">
<table id="slider-table_{{IdentificadorListaCanciones}}" class="table nowrap">
<tbody>
<tr>
<td><div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<span id="currentSongTime_{{IdentificadorListaCanciones}}" class="currentSongTime" >00:00</span>
</div></td>
<td><div class="col-lg-8 col-md-8 col-sm-8 col-xs-8">
<div class="slider-song-modal" >
<form id="sliderForm_{{IdentificadorListaCanciones}}">
<input type="range" id="seek_{{IdentificadorListaCanciones}}" value="0" min="0" max="0"/>
</form>
</div>
</div></td>
<td> <div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<span id="maxSongTime_{{IdentificadorListaCanciones}}" class="maxSongTime">00:00</span>
</div> </td>
</tr>
</tbody>
</table>
</div>
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<div class="player" align="center">
<img id="backImage_{{IdentificadorListaCanciones}}" src="{{asset('frontend/player/last.png')}}" height="32" width="32">
<img id="swapImage_{{IdentificadorListaCanciones}}" src="{{asset('frontend/player/play.png')}}" height="32" width="32">
<img id="nextImage_{{IdentificadorListaCanciones}}" src="{{asset('frontend/player/next.png')}}" height="32" width="32">
</div>
</div>
</div>
</div>
\ No newline at end of file
......@@ -18,11 +18,7 @@
$500
</p>
</div>
<div class="col-4">
<p class="txt-top left">
descarga una canción a la semana
</p>
</div>
</div>
</div>
<!-- cierre con mensaje -->
......
......@@ -40,8 +40,6 @@
<ul>
<li class="item-suscripcion mb-2">Pago Fácil el monto se descontara automáticamente de tu prepago o se abonara a tu plan</li>
<li class="item-suscripcion mb-2">Te informaremos todas las semanas de tu pago mediante mensaje de texto</li>
<li class="item-suscripcion mb-2">50% descuento en el resto de las canciones de esta categoria</li>
<li class="item-suscripcion mb-2">Para cancelar tu suscripción solo envía SALIR al XXXX)</li>
</ul>
</div>
......
......@@ -17,8 +17,6 @@
<form action="{{ path('front_validar_msisdn') }}" method="post" }}>
<div class="form-row align-items-center">
<div class="col-2">
<label for="staticEmail2" class="sr-only"><p>+56</p></label>
<input type="text" readonly class="codigo-ciudad form-control-plaintext" id="staticEmail2" value="+56">
</div>
<div class="col-7">
<label class="sr-only" for="inlineFormInputGroup">Ingrésalo aquí</label>
......@@ -49,11 +47,6 @@
$500
</p>
</div>
<div class="col-4">
<p class="txt-top">
descarga una canción a la semana
</p>
</div>
</div>
</div>
......
......@@ -37,12 +37,12 @@
<div class="col-11">
<ul>
<li class="item-suscripcion mb-2">Descarga una canción gratis a la semana</li>
<li class="item-suscripcion mb-2">50% descuento en el resto de las canciones de la categoría Rock</li>
{% if lista.lisNombre=='Rock' %}
<li class="item-suscripcion mb-2">50% descuento en el resto de las canciones de la categoría Rock</li>
{% endif %}
<li class="item-suscripcion mb-2">Pago Fácil el monto se descontara automáticamente de tu prepago o se abonara a tu plan</li>
<li class="item-suscripcion mb-2">Tenemos canciones nuevas toda la semanas!</li>
<li class="item-suscripcion mb-2">Participa por increíbles premios.</li>
<li class="item-suscripcion mb-2">Para cancelar tu suscripción solo envía SALIR al XXXX</li>
</ul>
</div>
</div>
......
{% extends 'frontend/base.html.twig' %}
{% block title %}Reproductor{% endblock %}
{% block stylesheets %}
<link href="./frontend/css/styles-player.css" rel="stylesheet" />
<link href="{{asset('frontend/css/styles-player.css')}}" rel="stylesheet">
{% endblock %}
{% block body %}
<header class="masthead-rock-listado text-center text-white">
......@@ -24,10 +24,6 @@
</p>
</div>
<div class="rock-listado-container">
Descarga tu canción por $0
</div>
</div>
</div>
......@@ -38,8 +34,9 @@
<div class="row borde-superior borde-inferior pt 10">
<!-- audio player -->
<script type="text/javascript" src="./frontend/js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="./frontend/js/musicplayer.js"></script>
<script type="text/javascript" src="{{asset('frontend/js/jquery-1.7.2.min.js')}}"></script>
<script type="text/javascript" src="{{asset('frontend/js/musicplayer.js')}}"></script>
<div class="example container">
<ul class="playlist">
......@@ -48,7 +45,7 @@
href="{% if isChrome == false %}http://newbackendcontenidos.gearlabs.cl/{{cancion.getCanPathArchivo()}}{% else %}http://newbackendcontenidos.gearlabs.cl/{{cancion.getCanPathArchivoAlt()}}{% endif %}">{{cancion.getIdOriginal().getCon().getConNombre()}}</a></li>
{% endfor %}
</ul>
<script type="text/javascript" src="./frontend/js/script-musicPlayer.js"></script>
<script type="text/javascript" src="../../frontend/js/script-musicPlayer.js"></script>
</div>
<table class="table table-striped discos-destacados-top">
......@@ -61,7 +58,7 @@
<h5 class="dest-top">{{ "%02d"|format(i) }}&nbsp;{{cancion.getIdOriginal().getCon().getConNombre()}}</h5>
<span class="disco-top">{{cancion.getIdOriginal().getCon().getAlb().getAlbNombre()}}</span>
</td>
<td class="flecha"> <img src="frontend/img/destacados/icono-play.svg" width="28" class="mr-3 img-fluid" alt="..."> </td>
<!-- <td class="flecha"> <img src="frontend/img/destacados/icono-play.svg" width="28" class="mr-3 img-fluid" alt="..."> </td> -->
</tr>
{% set i = i + 1 %}
{% endfor %}
......
......@@ -18,13 +18,9 @@
{% endif %}
<form action="{{ path('front_validar_pin') }}" method="post" }}>
<div class="form-row align-items-center">
<div class="col-2">
<!-- <label for="staticEmail2" class="sr-only"><p>+56</p></label> -->
<input type="text" readonly class="codigo-ciudad form-control-plaintext" id="staticEmail2" value="+56">
</div>
<div class="col-7">
<label class="sr-only" for="inlineFormInputGroup">Ingrésalo aquí</label>
......@@ -54,11 +50,6 @@
$500
</p>
</div>
<div class="col-4">
<p class="txt-top">
descarga una canción a la semana
</p>
</div>
</div>
</div>
......
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