Actualizacion mejoras backend

parent 5a853c6e
......@@ -115,7 +115,11 @@ app_backend_crear_suscripciones:
path: backend/suscripciones/crear
controller: App\BackendBundle\Controller\UtilidadesController:crear
methods: [POST]
app_backend_guardar_datos_usuario:
path: backend/suscripciones/guardar/datos
controller: App\BackendBundle\Controller\UtilidadesController::guardarDatosUsuario
methods: [POST]
app_link_registracion_process:
path: confirmar/pagina/process/kushki/{msisdn}/{productId}/{idRegistro}/{susId}
......
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" baseProfile="tiny" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px" y="0px" viewBox="0 0 100 100" xml:space="preserve">
<g>
<g>
<path fill="#099DCA" d="M17.14,62.21L17.14,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C19.03,61.36,18.18,62.21,17.14,62.21z"/>
<path fill="#099DCA" d="M27.26,62.21L27.26,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C29.15,61.36,28.3,62.21,27.26,62.21z"/>
<path fill="#099DCA" d="M37.38,42.93L37.38,42.93c-1.04,0-1.89-0.85-1.89-1.89V17.98c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v23.06C39.27,42.08,38.42,42.93,37.38,42.93z"/>
<path fill="#099DCA" d="M47.51,38.75L47.51,38.75c-1.04,0-1.89-0.85-1.89-1.89v-14.7c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v14.7C49.39,37.9,48.54,38.75,47.51,38.75z"/>
<path fill="#099DCA" d="M57.63,38.75L57.63,38.75c-1.04,0-1.89-0.85-1.89-1.89v-14.7c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v14.7C59.52,37.9,58.67,38.75,57.63,38.75z"/>
<path fill="#099DCA" d="M67.75,42.93L67.75,42.93c-1.04,0-1.89-0.85-1.89-1.89V17.98c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v23.06C69.64,42.08,68.79,42.93,67.75,42.93z"/>
<path fill="#099DCA" d="M77.87,62.21L77.87,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89l0,0
c1.04,0,1.89,0.85,1.89,1.89v50.12C79.76,61.36,78.91,62.21,77.87,62.21z"/>
<path fill="#099DCA" d="M88,62.21L88,62.21c-1.04,0-1.89-0.85-1.89-1.89V10.2c0-1.04,0.85-1.89,1.89-1.89h0
c1.04,0,1.89,0.85,1.89,1.89v50.12C89.88,61.36,89.03,62.21,88,62.21z"/>
</g>
<g>
<path fill="#099DCA" d="M5.06,74.03v13.45c0,1.27,0.59,1.69,1.52,1.69c0.94,0,1.53-0.42,1.53-1.69V74.03h2.78V87.3
c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38V74.03H5.06z"/>
<path fill="#099DCA" d="M33.98,86.41l2.01-12.38h4.09v17.44h-2.78V78.96l-2.03,12.51h-2.78l-2.19-12.33v12.33h-2.57V74.03h4.09
L33.98,86.41z"/>
<path fill="#099DCA" d="M50.37,74.03v13.45c0,1.27,0.59,1.69,1.52,1.69c0.94,0,1.53-0.42,1.53-1.69V74.03h2.78V87.3
c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38V74.03H50.37z"/>
<path fill="#099DCA" d="M67.52,73.83c2.89,0,4.33,1.57,4.33,4.39v0.55h-2.78v-0.72c0-1.27-0.54-1.72-1.47-1.72
s-1.47,0.45-1.47,1.72c0,1.2,0.64,2.07,1.5,2.87c0.43,0.42,0.88,0.82,1.39,1.22c0.96,0.82,1.87,1.77,2.43,2.99
c0.29,0.62,0.43,1.35,0.43,2.17c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38v-1.07h2.78v1.25
c0,1.27,0.59,1.69,1.53,1.69c0.94,0,1.52-0.42,1.52-1.69c0-1.2-0.64-2.07-1.5-2.89c-0.43-0.4-0.88-0.8-1.36-1.22
c-0.99-0.8-1.9-1.74-2.46-2.96c-0.29-0.62-0.43-1.35-0.43-2.17C63.19,75.4,64.63,73.83,67.52,73.83z"/>
<path fill="#099DCA" d="M78.92,74.03h2.94v17.44h-2.94V74.03z"/>
<path fill="#099DCA" d="M97.88,84.96v2.32c0,2.82-1.5,4.38-4.39,4.38c-2.89,0-4.39-1.57-4.39-4.38v-9.07
c0-2.82,1.5-4.39,4.39-4.39c2.89,0,4.39,1.57,4.39,4.39v1.69H95.1v-1.87c0-1.27-0.59-1.72-1.52-1.72c-0.94,0-1.53,0.45-1.53,1.72
v9.42c0,1.27,0.59,1.69,1.53,1.69c0.94,0,1.52-0.42,1.52-1.69v-2.49H97.88z"/>
</g>
</g>
</svg>
......@@ -12,6 +12,8 @@ use App\Utilities\Kushki;
use App\Entity\PluSuscripcion;
use App\Entity\PluLista;
use App\Entity\PluMetodoPago;
use App\Entity\PluUsuarioMovil;
use App\Entity\PluRegistroModificacionDatosUsuario;
use App\Entity\PluRegistroSuscripcionBackend;
class UtilidadesController extends AbstractController {
......@@ -23,7 +25,7 @@ class UtilidadesController extends AbstractController {
$log->debug("Entrando en listado de suscripciones vigentes...");
$this->manager = $this->getDoctrine()->getManager('default');
$listas = $this->manager->getRepository(PluLista::class)->getListasVigentesGeneral();
return $this->render('backend/suscripciones/listado_suscripciones.html.twig', array("suscripciones" => [], 'listasDisponibles' => $listas));
return $this->render('backend/suscripciones/listado_suscripciones.html.twig', array("suscripciones" => [], "usuario" => null, 'listasDisponibles' => $listas));
}
public function buscar(Request $request): Response {
......@@ -32,10 +34,11 @@ class UtilidadesController extends AbstractController {
$msisdn = $request->get('msisdn');
$log->debug("Numero de telefono a buscar $msisdn...");
$suscripciones = $this->manager->getRepository(PluSuscripcion::class)->getSuscripcionesVigentes($msisdn);
$usuario = $this->manager->getRepository(PluUsuarioMovil::class)->getUsuario($msisdn)[0];
return $this->render('backend/suscripciones/suscripcionesAsociadas.html.twig', array(
'suscripciones' => $suscripciones,
'usuario' => $usuario
));
}
......@@ -187,6 +190,7 @@ class UtilidadesController extends AbstractController {
$tipoSuscripcion = $request->get('medioPago', null);
$lisId = $request->get("listaPago", null);
$mailPago = $request->get("mailPago", null);
$usarCorreoUsuario = $request->get("usarCorreoUsuario", null);
$json = new JsonResponse();
if ($msisdn == "" || !Utiles::isMsisdn($msisdn)) {
......@@ -221,12 +225,65 @@ class UtilidadesController extends AbstractController {
return $this->metodoEntel($lisId, $msisdn, $user, $em);
} else {
$textoSuscripcion = "KUSHKI";
if ($usarCorreoUsuario == 1) {
$usuario = $em->getRepository(PluUsuarioMovil::class)->getUsuario($msisdn)[0];
if ($usuario->getUmoMail() != null || $usuario->getUmoMail() != "")
$mailPago = $usuario->getUmoMail();
}
$log->debug("DATOS ENTRANTES PARA LA SUSCRIPCION : MSISDN = $msisdn, TIPO SUSCRIPCION : $textoSuscripcion, ID LISTA : $lisId, MAIL : $mailPago");
return $this->metodoKushki($lisId, $msisdn, $user, $mailPago, $mailer, $em);
}
return new JsonResponse();
}
public function guardarDatosUsuario(Request $request){
$log = Utiles::setLog('App\BackendBundle\Controller::UtilidadesController::cancelar::metodoEntel', 'app/suscripciones');
$json = new JsonResponse();
$user = $this->getUser();
$idUsuario = $request->get("idUsuario");
$nombre = $request->get("nombre");
$rut = $request->get("rut");
$mail = $request->get("mail");
$em = $this->getDoctrine()->getManager('default');
$idAsistente = $user->getUadId();
if ($idUsuario == "" || $nombre == "" || $rut == "" || $mail == "" ) {
$log->debug("Los datos ingresados no pueden estar vacios...");
$json->setData(array('errors' => "Los datos ingresados no pueden estar vacíos."));
$json->setStatusCode(JsonResponse::HTTP_BAD_REQUEST);
return $json;
}
$usuario = $em->getRepository(PluUsuarioMovil::class)->findBy(array("umoId" => $idUsuario))[0];
$log->debug("actualizando los datos del usuario $idUsuario por el asistente $idAsistente...");
$usuario->setUmoRut($rut);
$usuario->setUmoNombre($nombre);
$usuario->setUmoMail($mail);
$usuario->setUpdatedAt(new \DateTime());
$em->persist($usuario);
$em->flush();
$log->debug("generando registro de modificacion de los datos del usuario $idUsuario por el asistente $idAsistente...");
$registroModificacion = new PluRegistroModificacionDatosUsuario();
$registroModificacion->setRmdIdUsuario($idUsuario);
$registroModificacion->setRmdAsistente($idAsistente);
$registroModificacion->setRmdNombre($nombre);
$registroModificacion->setRmdRut($rut);
$registroModificacion->setRmdMail($mail);
$registroModificacion->setCreatedAt(new \DateTime());
$registroModificacion->setUpdatedAt(new \DateTime());
$em->persist($registroModificacion);
$em->flush();
$json->setStatusCode(JsonResponse::HTTP_OK);
return $json;
}
private function metodoEntel($lista, $msisdn, $usuarioBackend, $em) {
$log = Utiles::setLog('App\BackendBundle\Controller::UtilidadesController::cancelar::metodoEntel', 'app/suscripciones');
......@@ -379,23 +436,26 @@ class UtilidadesController extends AbstractController {
return $json;
}
private function sendMail($email, $msisdn, $lisId, $idRegistro, $susId, $title, $em, $mailer) {
$log = Utiles::setLog('App\BackendBundle\Controller::UtilidadesController::crear::sendMail', 'app/suscripciones');
$url = Utiles::getParametroConfiguracion("urlPagoKushki", $em) . "$msisdn/$lisId/$idRegistro/$susId";
$listaObj = $em->getRepository(PluLista::class)->find($lisId);
$urlBase = Utiles::getParametroConfiguracion("urlBase", $em);
$log->debug("Generando mensaje a enviar al cliente...");
$message = (new \Swift_Message($title))
->setFrom(Utiles::getParametroConfiguracion("senderMail", $em))
->setTo($email)
->setBody(
$this->renderView(
'email/pagina_pago_kushki.html.twig', ['msisdn' => $msisdn, 'email' => $email, 'lista' => $listaObj, 'url' => $url]
'email/pagina_pago_kushki.html.twig', ['msisdn' => $msisdn, 'email' => $email, 'lista' => $listaObj, 'url' => $url, 'urlBase' => $urlBase]
), 'text/html'
)
->addPart(
$this->renderView(
'email/pagina_pago_kushki.txt.twig', ['msisdn' => $msisdn, 'email' => $email, 'lista' => $listaObj, 'url' => $url]
'email/pagina_pago_kushki.txt.twig', ['msisdn' => $msisdn, 'email' => $email, 'lista' => $listaObj, 'url' => $url, 'urlBase' => $urlBase]
), 'text/plain'
)
......@@ -407,5 +467,7 @@ class UtilidadesController extends AbstractController {
return 500;
}
}
}
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="plu_registro_modificacion_datos_usuario")
* @ORM\Entity(repositoryClass="App\Repository\PluRegistroModificacionDatosUsuarioRepository")
*/
class PluRegistroModificacionDatosUsuario
{
/**
* @var int
*
* @ORM\Column(name="rmd_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $rmdId;
/**
* @ORM\Column(name="rmd_id_usuario", type="integer", nullable=true)
*/
private $rmdIdUsuario;
/**
* @ORM\Column(name="rmd_asistente", type="integer", nullable=true)
*/
private $rmdAsistente;
/**
* @ORM\Column(name="rmd_nombre", type="string", length=255, nullable=true)
*/
private $rmdNombre;
/**
* @ORM\Column(name="rmd_rut", type="string", length=255, nullable=true)
*/
private $rmdRut;
/**
* @ORM\Column(name="rmd_mail", type="string", length=255, nullable=true)
*/
private $rmdMail;
/**
* @ORM\Column(name="created_at", type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private $updatedAt;
public function getRmdId(): ?int
{
return $this->rmdId;
}
public function setRmdId(int $rmdId): self
{
$this->rmdId = $rmdId;
return $this;
}
public function getRmdIdUsuario(): ?int
{
return $this->rmdIdUsuario;
}
public function setRmdIdUsuario(?int $rmdIdUsuario): self
{
$this->rmdIdUsuario = $rmdIdUsuario;
return $this;
}
public function getRmdAsistente(): ?int
{
return $this->rmdAsistente;
}
public function setRmdAsistente(?int $rmdAsistente): self
{
$this->rmdAsistente = $rmdAsistente;
return $this;
}
public function getRmdNombre(): ?string
{
return $this->rmdNombre;
}
public function setRmdNombre(?string $rmdNombre): self
{
$this->rmdNombre = $rmdNombre;
return $this;
}
public function getRmdRut(): ?string
{
return $this->rmdRut;
}
public function setRmdRut(?string $rmdRut): self
{
$this->rmdRut = $rmdRut;
return $this;
}
public function getRmdMail(): ?string
{
return $this->rmdMail;
}
public function setRmdMail(?string $rmdMail): self
{
$this->rmdMail = $rmdMail;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
}
<?php
namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="plu_usuario_movil")
* @ORM\Entity(repositoryClass="App\Repository\PluUsuarioMovilRepository")
*/
class PluUsuarioMovil
{
/**
* @ORM\Column(name="umo_id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
**/
private $umoId;
/**
* @ORM\Column(name="umo_msisdn", type="string", length=45, nullable=false)
*/
private $umoMsisdn;
/**
* @ORM\Column(name="umo_nombre", type="string", length=500, nullable=true)
*/
private $umoNombre;
/**
* @ORM\Column(name="umo_rut", type="string", length=45, nullable=true)
*/
private $umoRut;
/**
* @ORM\Column(name="umo_mail", type="string", length=250, nullable=true)
*/
private $umoMail;
/**
* @ORM\Column(name="umo_eliminado", type="integer", nullable=true)
*/
private $umoEliminado;
/**
* @ORM\Column(name="created_at", type="datetime", nullable=true)
*/
private $createdAt;
/**
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private $updatedAt;
public function getUmoId(): ?int
{
return $this->umoId;
}
public function setUmoId(int $umoId): self
{
$this->umoId = $umoId;
return $this;
}
public function getUmoMsisdn(): ?string
{
return $this->umoMsisdn;
}
public function setUmoMsisdn(?string $umoMsisdn): self
{
$this->umoMsisdn = $umoMsisdn;
return $this;
}
public function getUmoNombre(): ?string
{
return $this->umoNombre;
}
public function setUmoNombre(?string $umoNombre): self
{
$this->umoNombre = $umoNombre;
return $this;
}
public function getUmoRut(): ?string
{
return $this->umoRut;
}
public function setUmoRut(?string $umoRut): self
{
$this->umoRut = $umoRut;
return $this;
}
public function getUmoMail(): ?string
{
return $this->umoMail;
}
public function setUmoMail(?string $umoMail): self
{
$this->umoMail = $umoMail;
return $this;
}
public function getUmoEliminado(): ?int
{
return $this->umoEliminado;
}
public function setUmoEliminado(?int $umoEliminado): self
{
$this->umoEliminado = $umoEliminado;
return $this;
}
public function getCreatedAt(): ?\DateTimeInterface
{
return $this->createdAt;
}
public function setCreatedAt(?\DateTimeInterface $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getUpdatedAt(): ?\DateTimeInterface
{
return $this->updatedAt;
}
public function setUpdatedAt(?\DateTimeInterface $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
}
<?php
namespace App\Repository;
use App\Entity\PluRegistroModificacionDatosUsuario;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method PluRegistroModificacionDatosUsuario|null find($id, $lockMode = null, $lockVersion = null)
* @method PluRegistroModificacionDatosUsuario|null findOneBy(array $criteria, array $orderBy = null)
* @method PluRegistroModificacionDatosUsuario[] findAll()
* @method PluRegistroModificacionDatosUsuario[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class PluRegistroModificacionDatosUsuarioRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, PluRegistroModificacionDatosUsuario::class);
}
// /**
// * @return PluRegistroModificacionDatosUsuario[] Returns an array of PluRegistroModificacionDatosUsuario objects
// */
/*
public function findByExampleField($value)
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->orderBy('p.id', 'ASC')
->setMaxResults(10)
->getQuery()
->getResult()
;
}
*/
/*
public function findOneBySomeField($value): ?PluRegistroModificacionDatosUsuario
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
<?php
namespace App\Repository;
use App\Entity\PluUsuarioMovil;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method PluUsuarioMovil|null find($id, $lockMode = null, $lockVersion = null)
* @method PluUsuarioMovil|null findOneBy(array $criteria, array $orderBy = null)
* @method PluUsuarioMovil[] findAll()
* @method PluUsuarioMovil[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class PluUsuarioMovilRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, PluUsuarioMovil::class);
}
public function getUsuario($msisdn){
return $this->createQueryBuilder('p')
->andWhere('p.umoMsisdn = :val')
->setParameter('val', $msisdn)
->getQuery()
->getResult()
;
}
// /**
// * @return PluUsuarioMovil[] Returns an array of PluUsuarioMovil objects
// */
/*
public function findByExampleField($value)
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->orderBy('p.id', 'ASC')
->setMaxResults(10)
->getQuery()
->getResult()
;
}
*/
/*
public function findOneBySomeField($value): ?PluUsuarioMovil
{
return $this->createQueryBuilder('p')
->andWhere('p.exampleField = :val')
->setParameter('val', $value)
->getQuery()
->getOneOrNullResult()
;
}
*/
}
......@@ -20,30 +20,36 @@
<label class="form-label">Teléfono Usuario</label>
<input class="form-control focused" id="msisdnUsuario" name="msisdnUsuario" maxlength="9" required title="Ingrese el telefono del usuario" type="text" placeholder="Ej : 974867425">
</div>
<div id="divMailPropioUsuario" class="form-group" style="display:none">
<label class="form-label">Utilizar Correo del Usuario</label>
<fieldset id="checkArray">
<input type="checkbox" class="form-control" id="mailPropio" name="mailPropio[]" value="use_user_mail" placeholder="Utilizar correo ingresado por el usuario..." />
</fieldset>
</div>
<div id="divMailKushki" class="form-group" style="display:none">
<label class="form-label">Mail</label>
<input type="text" name="mailKushki" id="mailKushki" class="form-control" maxlength="255" value="" placeholder="Ingrese correo electronico del usuario..." />
</div>
<div class="form-group">
<label class="col-md-6 control-label">Listas Disponibles</label>
<select name="listas" id="listas" class="browser-default custom-select">
<option id="lista_default" value="default">-- Seleccione una lista --</option>
{%for lista in listasDisponibles%}
<option id="lista_{{loop.index0}}" value="{{lista.getLisId()}}">{{lista.getLisNombre()}} / {{lista.getLisPrecio()}} CLP</option>
{% endfor %}
</select>
<select name="listas" id="listas" class="browser-default custom-select">
<option id="lista_default" value="default">-- Seleccione una lista --</option>
{%for lista in listasDisponibles%}
<option id="lista_{{loop.index0}}" value="{{lista.getLisId()}}">{{lista.getLisNombre()}} / {{lista.getLisPrecio()}} CLP</option>
{% endfor %}
</select>
</div>
<div class="form-group">
<label class="col-md-6 control-label">Medio de Pago</label>
<select name="medio" id="medio" class="browser-default custom-select" >
<option id="tag_0" value="0" selected>--Seleccione un medio de pago--</option>
<option id="tag_1" value="1" >ENTEL</option>
<option id="tag_2" value="2" >KUSHKI</option>
</select>
<select name="medio" id="medio" class="browser-default custom-select" >
<option id="tag_0" value="0" selected>--Seleccione un medio de pago--</option>
<option id="tag_1" value="1" >ENTEL</option>
<option id="tag_2" value="2" >KUSHKI</option>
</select>
</div>
</div>
<br>
......
......@@ -73,6 +73,9 @@
<script>
var order = "ASC";
var msisdnGlobal = "";
var usarCorreoUsuario = false;
var edicionUsuarioHabilitada = 0;
document.getElementById("medio").addEventListener("change", function () {
if (this.value === "2") {
$("#message-container-creacion-success").html("");
......@@ -80,13 +83,94 @@
successMessageOpciones("Se enviara un correo con un link, en el cual el usuario podra ingresar los datos de su tarjeta de credito para poder realizar una suscripción a la lista seleccionada mediante el proveedor KUSHKI.\n\
Este tendrá una duración de 24 horas desde la fecha de envío.");
$("#divMailKushki").show();
$("#divMailPropioUsuario").show();
} else {
$("#message-container-creacion-success").html("");
$("#message-container-creacion-success").hide();
$("#divMailKushki").hide();
$("#divMailPropioUsuario").hide();
}
});
$('input:checkbox').change(function () {
if($('#mailPropio').is(":checked")){
usarCorreoUsuario = true;
$("#divMailKushki").hide();
}else{
usarCorreoUsuario = false;
$("#divMailKushki").show();
}
});
function enableEditarUsuario(e, idUsuario){
e.preventDefault();
if(edicionUsuarioHabilitada == 0){
$('#rutUsuario').prop('disabled', false);
$('#mailUsuario').prop('disabled', false);
$('#nombreUsuario').prop('disabled', false);
$("#iconoEdicion").removeClass("fa-edit");
$("#iconoEdicion").addClass("fa-times");
$('#saveDatosUsuario').show();
edicionUsuarioHabilitada = 1;
}else{
$('#rutUsuario').prop('disabled', true);
$('#mailUsuario').prop('disabled', true);
$('#nombreUsuario').prop('disabled', true);
$('#saveDatosUsuario').hide();
$("#iconoEdicion").removeClass("fa-times");
$("#iconoEdicion").addClass("fa-edit");
edicionUsuarioHabilitada = 0;
}
}
function saveDatosUsuario(e, idUsuario){
e.preventDefault();
var formData = new FormData();
var url = "{{path('app_backend_guardar_datos_usuario')}}";
formData.append("idUsuario", idUsuario);
formData.append("nombre",$("#nombreUsuario").val());
formData.append("rut", $("#rutUsuario").val());
formData.append("mail", $("#mailUsuario").val());
$.ajax
({
type: "POST",
url: url,
data: formData,
async: true,
cache: false,
contentType: false,
processData: false,
timeout: 60000,
statusCode: {
400: function (respuesta) {
console.log(respuesta.responseText);
errorMessage(JSON.parse(respuesta.responseText).errors);
},
500: function () {
errorMessage("Estimado usuario, en estos momentos no podemos procesar su solicitud. Intente más tarde por favor.");
}
},
beforeSend: function () {
successMessage("Guardando datos del usuario...");
},
success: function (data) {
$("#message-container-info").html("");
$('#rutUsuario').prop('disabled', true);
$('#mailUsuario').prop('disabled', true);
$('#nombreUsuario').prop('disabled', true);
$('#saveDatosUsuario').hide();
edicionUsuarioHabilitada = 0;
successMessage("Se han guardado los datos del usuario");
},
complete: function () {
}
});
}
function changeFilter(text) {
$("#filter").html("Número de Teléfono :" + text);
......@@ -220,6 +304,12 @@
formData.append("msisdnUsuario", numeroPago);
formData.append("listaPago", listaPago);
formData.append("mailPago", mailPago);
if(usarCorreoUsuario){
formData.append("usarCorreoUsuario", 1);
}else{
formData.append("usarCorreoUsuario", 0);
}
$("#searchButton").addClass('disabled');
$("#btnCrearSuscripcion").addClass('disabled');
$("#btnCerrarCrearSuscripcion").addClass('disabled');
......
<!-- end page-header -->
<hr>
<div class = "row">
{%if usuario is not null %}
<div class="container-fluid">
<input type="hidden" id="idUsuario_{{usuario.getUmoId()}}" value="{{usuario.getUmoId()}}"/>
<span title="Guardar" id="saveDatosUsuario" style="float:right;cursor:pointer;display:none;padding: 3px" onclick="saveDatosUsuario(event,{{usuario.getUmoId()}} )"><i class="fa fa-save fa-2x"></i></span>
<span title="Editar datos usuario" style="float:right;cursor:pointer;padding: 3px" onclick="enableEditarUsuario(event,{{usuario.getUmoId()}} )"><i id="iconoEdicion" class="fa fa-edit fa-2x"></i></span>
<div id="message-container-info-busqueda-{{usuario.getUmoId()}}"></div>
<form id="formDatosUsuario" class="form-horizontal" action="/" method="post">
<div class="table-responsive">
<table class="table table-bordered">
<tbody>
<tr><td>Nombre</td><td><input type="text" id="nombreUsuario" data-value="{{usuario.getUmoNombre()}}" {%if usuario.getUmoNombre() is not null %} value="{{usuario.getUmoNombre()}}" placeholder="Ingrese Email...." {% else %} value="{{usuario.getUmoNombre()}}" placeholder="NO INGRESADO" {% endif %} disabled /></td></tr>
<tr><td>Rut</td><td><input type="text" maxlength="10" id="rutUsuario" data-value="{{usuario.getUmoRut()}}" {%if usuario.getUmoRut() is not null %} value="{{usuario.getUmoRut()}}" placeholder="Ingrese rut...." {% else %} value="{{usuario.getUmoRut()}}" placeholder="NO INGRESADO" {% endif %} disabled /></td></tr>
<tr><td>Email</td><td><input type="text" id="mailUsuario" data-value="{{usuario.getUmoMail()}}" {%if usuario.getUmoMail() is not null %} value="{{usuario.getUmoMail()}}" placeholder="Ingrese Email...." {% else %} value="{{usuario.getUmoMail()}}" placeholder="NO INGRESADO" {% endif %} disabled /></td></tr>
</tbody>
</table>
</div>
</form>
</div>
</div>
{%endif%}
</div>
<hr>
<div class="row">
<div class="container-fluid">
<div class="table-responsive">
......
......@@ -4,8 +4,9 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<meta name="description" content="Backend Contenidos U-Music">
<meta http-equiv="refresh" content="1500">
<meta name="author" content="GearLabs">
<title>SUSCONTENIDOS</title>
<!-- ================== BEGIN BASE CSS STYLE ================== -->
......
......@@ -5,8 +5,9 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<meta name="description" content="Pago Externo U-Music">
<meta http-equiv="refresh" content="1500">
<meta name="author" content="GearLabs">
<title>Pago U-Music</title>
......
......@@ -7,8 +7,9 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<meta name="description" content="Login Backend Contenidos">
<meta http-equiv="refresh" content="1500">
<meta name="author" content="GearLabs">
<title>LOGIN</title>
......
<html>
<head>
<title>Suscripcion U-Music - Botón de pago</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
table {
border-collapse:0px !important;
border-spacing: 0px !important;
border-color: none !important;
}
td {
border:0 !important;
}
</style>
</head>
<body bgcolor="#eeeeee" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="font-family: Roboto, Arial,Tahoma,sans-serif; color:#ffffff">
<table leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="font-family: Roboto, Arial, Tahoma,sans-serif; color:#005c84" width="100%" bgcolor="#eeeeee">
<tbody>
<tr>
<td>
<table id="Table_01" width="600" border="0" cellpadding="0" cellspacing="0" style="margin: 0 auto; border-collapse: none !important; border-spacing:0 !important; border-color:none !important;">
<tr bgcolor="#eeeeee">
<td colspan="3" align="center" style="padding:10px 30px 10px 15px; color:#666666; font-size:12px;">
</td>
</tr>
<tr bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0">
<td rowspan="2" bgcolor="#ffffff" width="106">&nbsp;</td>
<td style="color:#707070; font-size:16px; background-color: #ffffff; padding-bottom: 30px;" width="390">
<span style="color:#FF5F00; font-size:32px;">¡Estás a unos pasos de completar tu suscripción a la lista {{lista.getLisNombre()}} , por un precio de {{lista.getLisPrecio()}} CLP!</span><br><br>
<span style="color:#FF5F00; font-size:32px;align-content: center">U-Music</span><br><br>
<br><br>
<hr>
<br><br>
</td>
<td rowspan="2" bgcolor="#ffffff" width="104">&nbsp;</td>
</tr>
<tr bgcolor="#eeeeee">
<td valign="top" bgcolor="#ffffff" width="390px" style="padding-bottom: 50px">
<a href="{{url}}" target="_blank" style="border: 0"><button width="249" height="83" alt="Ingresa al Panel de Administración">Pagar Suscripcion</button></a>
<br><br>
<hr>
<br>
<span style="color:#707070; font-size:12px;">*Puedes cancelar la suscripción cuando quieras desde la sección Mi Cuenta. <br>
</td>
</tr>
<tr bgcolor="#ffffff">
<td bgcolor="#ffffff" colspan="3" style="padding:10px 30px 10px 15px; color:#707070; font-size:14px; text-align: center;"> contacto@gearlabs.cl &nbsp; | &nbsp; (+ 56) 9 9824 0036 &nbsp; | &nbsp; <a href="http://www.gearlabs.cl/" style="color: #707070;">www.gearlabs.cl</a>
</td>
</tr>
<tr bgcolor="#eeeeee">
<td colspan="3"></td>
</tr>
<tr bgcolor="#eeeeee">
<td colspan="3" align="center" style="padding:10px 30px 10px 15px; color:#666666; font-size:12px;">
Si recibiste este email por error, simplemente no lo contestes por favor.</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</body>
</html>
\ No newline at end of file
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