templates/usuarios/login.twig line 1

Open in your IDE?
  1. {% import "_macros.twig" as forms %}
  2. {% extends 'baseLogin.twig' %}
  3. {% block content %}
  4.     <div class="inner-wrap" id="div_login">
  5.         <div id="div_entrar" class="">
  6.             <div class="form-card">
  7.                 <div class="">
  8.                     <figure class="image container  is-128x128">
  9.                         <img class="" style="max-width: 100px;" src="/images/logo.png">
  10.                     </figure>
  11.                 </div>
  12.                 <div class="auth-head">
  13.                     <h2 data-bind="text:labels.titulo">Bienvenido</h2>
  14.                     {% if error %}
  15.                         <div class="message is-danger">
  16.                             {{ errorCredenciales }}
  17.                         </div>
  18.                     {% endif %}
  19.                 </div>
  20.                 <form action="{{ path('app_login') }}" method="post">
  21.                     <div id="signin-form" class="login-form">
  22.                         {{ forms.input('_username', 'labels.nomUsuario', 'nomUsuario') }}
  23.                         {{ forms.contra('_password', 'labels.contra', 'contra') }}
  24.                         <input type="hidden" name="_csrf_token" value="{{ csrf_token('authenticate') }}" >
  25.                         <!-- <input type="hidden" name="claCliente" value="claCliente" > -->
  26.                         <div class="control login">
  27.                             <button class="button h-button is-primary is-bold is-fullwidth is-raised"  data-bind="text:labels.entrar,css: { 'is-loading': enProgreso()}, click:enviar">Sign In</button>
  28.                         </div>
  29.                     </div>
  30.                 </form>
  31.             </div>
  32.             <div class="forgot-link has-text-centered">
  33.                 <a data-bind="text:labels.olvido, click:olvido" href="#" >Forgot Password?</a>
  34.             </div>
  35.         </div>
  36.         <div id="div_olvido" class="is-hidden">
  37.             <div class="form-card">
  38.                 <div class="">
  39.                     <figure class="image container  is-128x128">
  40.                         <img class="" style="max-width: 100px;" src="/images/logo.png">
  41.                     </figure>
  42.                 </div>
  43.                 <div class="auth-head">
  44.                     <h2 data-bind="text:labels.olvidoTitulo">Bienvenido</h2>
  45.                 </div>
  46.                 <form>
  47.                     <div id="signin-form" class="login-form">
  48.                         {{ forms.input('txtCorreo', 'labels.correo', 'correo') }}
  49.                         <div class="control login">
  50.                             <button class="button h-button is-primary is-bold is-fullwidth is-raised"  data-bind="text:labels.recuperar,css:{'is-loading': enProgreso()}, click:olvidoEnviar"></button>
  51.                         </div>
  52.                     </div>
  53.                 </form>
  54.             </div>
  55.             <div class="forgot-link has-text-centered">
  56.                 <a data-bind="text:labels.cancelar, click:cancelar" href="#" ></a>
  57.             </div>
  58.         </div>
  59.     </div>
  60. {% endblock %}
  61. {% block js %}
  62.     {#///#}
  63.     <script type="text/javascript">
  64.         var rotulos = JSON.parse("{{rotulos|e('js')}}");
  65.         var valores = JSON.parse("{{valores|e('js')}}");
  66.         ///
  67.         var ViewModel = function () {
  68.             var self = this;
  69.             self.labels = {};
  70.             for (rotulo in rotulos) {
  71.                 self.labels[rotulo] = ko.observable(rotulos[rotulo]);
  72.             }
  73.             ///
  74.             self.valores = {};
  75.             for (var i = 0; i < valores.length; i++) {
  76.                 self.valores[valores[i].alias] = ko.observable(valores[i].valor);
  77.             }
  78.             self.nomUsuario = ko.observable(valores.nomUsuario).extend(
  79.                     {required: {message: self.labels.nomUsuarioAviso()}}
  80.             );
  81.             self.contra = ko.observable().extend(
  82.                     {required: {message: self.labels.contraAviso()}}
  83.             );
  84.             self.correo = ko.observable('').extend(
  85.                     {required: {message: self.labels.correoAviso()},
  86.                         email: {message: self.labels.correoAviso()}}
  87.             );
  88.             self.enProgreso = ko.observable(false);
  89.             ///
  90.             self.enviar = function () {
  91.                 self.enProgreso(true);
  92.                 if (loginVM.errorsLogin().length > 0) {
  93.                     loginVM.errorsLogin.showAllMessages();
  94.                     setTimeout(function () {
  95.                         self.enProgreso(false);
  96.                     }, 2000);
  97.                     return;
  98.                 }
  99.                 self.enProgreso(false);
  100.                 return true;
  101.             };
  102.             ///
  103.             self.olvidoEnviar = function () {
  104.                 self.enProgreso(true);
  105.                 if (loginVM.errorsOlvido().length > 0) {
  106.                     loginVM.errorsOlvido.showAllMessages();
  107.                     setTimeout(function () {
  108.                         self.enProgreso(false);
  109.                     }, 2000);
  110.                     return;
  111.                 }
  112.                 $.ajax('/usuarios/contraRecuperarEnviar',{
  113.                     type: 'post',
  114.                     data: {
  115.                         correo: self.correo(),
  116.                     },
  117.                     success: function(respuesta) {
  118.                         if(typeof(respuesta.resultado) == "undefined"){
  119.                             //si la sesion expiro
  120.                             $("#div_html_base").html(respuesta);
  121.                             return;
  122.                         }
  123.                         if (respuesta.resultado === 1){
  124.                             
  125.                         }else{
  126.                             
  127.                         }
  128.                         self.enProgreso(false);
  129.                         alertify.alert('Invent', respuesta.mensaje).set('closable', false).set('label', '{{ cerrar }}');
  130.                     }
  131.                 });
  132.             };
  133.             ///
  134.             self.olvido = function () {
  135.                 $("#div_olvido").removeClass("is-hidden");
  136.                 $("#div_entrar").addClass("is-hidden");
  137.             };
  138.             ///
  139.             self.cancelar = function () {
  140.                 $("#div_entrar").removeClass("is-hidden");
  141.                 $("#div_olvido").addClass("is-hidden");
  142.             };
  143.         };// viewModel
  144.         window.loginVM = new ViewModel();
  145.         loginVM.errorsLogin = ko.validation.group([loginVM.nomUsuario, loginVM.contra]);
  146.         loginVM.errorsOlvido = ko.validation.group([loginVM.correo]);
  147.         ko.applyBindings(loginVM, $("#div_login").get(0));
  148.         $('#_username').ready(function(){
  149.             $('#_username').focus();
  150.             var divs = document.getElementsByTagName('div');
  151.             var numIdInvent = 0;
  152.             for (var i = 0; i < divs.length; i++) {
  153.                 if (divs[i].id.indexOf('invent-app') != -1){
  154.                 numIdInvent++;
  155.                 }
  156.             }
  157.             if(numIdInvent > 1){
  158.                 window.location = "/login" ;
  159.             }
  160.         });
  161.     </script>
  162. {% endblock %}