var/cache/dev/twig/22/22b7d2ef28f1fdee29185b595f2da64d.php line 46

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* @UVDeskCoreFramework/forgotPassword.html.twig */
  16. class __TwigTemplate_37505f86ff8fc75c47a6da27047234cb extends Template
  17. {
  18.     private Source $source;
  19.     /**
  20.      * @var array<string, Template>
  21.      */
  22.     private array $macros = [];
  23.     public function __construct(Environment $env)
  24.     {
  25.         parent::__construct($env);
  26.         $this->source $this->getSourceContext();
  27.         $this->blocks = [
  28.             'title' => [$this'block_title'],
  29.             'templateCSS' => [$this'block_templateCSS'],
  30.             'pageWrapper' => [$this'block_pageWrapper'],
  31.             'footer' => [$this'block_footer'],
  32.         ];
  33.     }
  34.     protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  35.     {
  36.         // line 1
  37.         return "@UVDeskCoreFramework//Templates//layout.html.twig";
  38.     }
  39.     protected function doDisplay(array $context, array $blocks = []): iterable
  40.     {
  41.         $macros $this->macros;
  42.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  43.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""@UVDeskCoreFramework/forgotPassword.html.twig"));
  44.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  45.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""@UVDeskCoreFramework/forgotPassword.html.twig"));
  46.         // line 5
  47.         $context["recaptchaDetail"] = CoreExtension::getAttribute($this->env$this->source, (isset($context["recaptcha_service"]) || array_key_exists("recaptcha_service"$context) ? $context["recaptcha_service"] : (function () { throw new RuntimeError('Variable "recaptcha_service" does not exist.'5$this->source); })()), "getRecaptchaDetails", [], "method"falsefalsefalse5);
  48.         // line 1
  49.         $this->parent $this->loadTemplate("@UVDeskCoreFramework//Templates//layout.html.twig""@UVDeskCoreFramework/forgotPassword.html.twig"1);
  50.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  51.         
  52.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  53.         
  54.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  55.     }
  56.     // line 3
  57.     /**
  58.      * @return iterable<null|scalar|\Stringable>
  59.      */
  60.     public function block_title(array $context, array $blocks = []): iterable
  61.     {
  62.         $macros $this->macros;
  63.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  64.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  65.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  66.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""title"));
  67.         yield "Forgot Password";
  68.         
  69.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  70.         
  71.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  72.         yield from [];
  73.     }
  74.     // line 7
  75.     /**
  76.      * @return iterable<null|scalar|\Stringable>
  77.      */
  78.     public function block_templateCSS(array $context, array $blocks = []): iterable
  79.     {
  80.         $macros $this->macros;
  81.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  82.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""templateCSS"));
  83.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  84.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""templateCSS"));
  85.         // line 8
  86.         yield "    <style>
  87.         #loginForm h1 {
  88.             font-size: 28px;
  89.             color: #6F6F6F;
  90.             font-weight: 600;
  91.             margin: 0px 0px 10px 0px;
  92.         }
  93.         .forgot-password-cta {
  94.             position: absolute;
  95.             font-size: 15px !important;
  96.             right: 0px;
  97.             top: 0px;
  98.         }
  99.     </style>
  100. ";
  101.         
  102.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  103.         
  104.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  105.         yield from [];
  106.     }
  107.     // line 25
  108.     /**
  109.      * @return iterable<null|scalar|\Stringable>
  110.      */
  111.     public function block_pageWrapper(array $context, array $blocks = []): iterable
  112.     {
  113.         $macros $this->macros;
  114.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  115.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""pageWrapper"));
  116.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  117.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""pageWrapper"));
  118.         // line 26
  119.         yield "    <div class=\"uv-large-box-plank\">
  120. \t\t<div class=\"uv-large-box-rt\">
  121. \t\t\t<div class=\"uv-center-box uv-text-center\">
  122.                 <form action=\"\" method=\"post\" id=\"loginForm\">
  123.                     <div class=\"uv-adjacent-center\">
  124.                         <h1>";
  125.         // line 31
  126.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Forgot Password"), "html"nulltrue);
  127.         yield "</h1>
  128.                         <div class=\"uv-element-block\">
  129.                             <p>";
  130.         // line 33
  131.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Enter your email address and we will send you an email with instructions to update your login credentials."), "html"nulltrue);
  132.         yield "</p>
  133.                         </div>
  134.                         <div class=\"uv-adjacent-form\">
  135.                             <div class=\"uv-adjacent-element-block\">
  136.                                 <label>";
  137.         // line 37
  138.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Email"), "html"nulltrue);
  139.         yield "</label>
  140.                                 <div class=\"uv-max-field\">
  141.                                     <input class=\"uv-field\" type=\"email\" name=\"forgot_password_form[email]\">
  142.                                 </div>
  143.                             </div>
  144.                             <div class=\"uv-adjacent-element-block\">
  145.                                 ";
  146.         // line 43
  147.         if (((isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'43$this->source); })()) && (CoreExtension::getAttribute($this->env$this->source, (isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'43$this->source); })()), "isActive", [], "any"falsefalsefalse43) == true))) {
  148.             // line 44
  149.             yield "                                    <div class=\"clearfix\"></div>
  150.                                     <div class=\"g-recaptcha\" data-sitekey=\"";
  151.             // line 45
  152.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->source, (isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'45$this->source); })()), "siteKey", [], "any"falsefalsefalse45), "html"nulltrue);
  153.             yield "\"></div>
  154.                                     <div class=\"clearfix\"></div>
  155.                                 ";
  156.         } else {
  157.             // line 48
  158.             yield "                                    <!-- Recaptcha will not support -->
  159.                                 ";
  160.         }
  161.         // line 50
  162.         yield "                            </div>
  163.                             <button class=\"uv-btn\">";
  164.         // line 51
  165.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Send Mail"), "html"nulltrue);
  166.         yield "</button>
  167.                         </div>
  168.                     </div>
  169.                 </div>
  170.             </form>
  171. \t\t</div>
  172. \t\t<div class=\"uv-large-box-lt\">
  173. \t\t\t<div class=\"uv-center-box uv-text-center\">
  174. \t\t\t\t<a href=\"https://www.uvdesk.com\">
  175.                     <img alt=\"UVdesk\" title=\"UVdesk\" src=\"";
  176.         // line 61
  177.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\AssetExtension']->getAssetUrl("bundles/uvdeskcoreframework/images/uvdesk-logo-symbol.svg"), "html"nulltrue);
  178.         yield "\">
  179. \t\t\t\t</a>
  180.             </div>
  181. \t\t</div>
  182. \t</div>
  183. ";
  184.         
  185.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  186.         
  187.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  188.         yield from [];
  189.     }
  190.     // line 68
  191.     /**
  192.      * @return iterable<null|scalar|\Stringable>
  193.      */
  194.     public function block_footer(array $context, array $blocks = []): iterable
  195.     {
  196.         $macros $this->macros;
  197.         $__internal_5a27a8ba21ca79b61932376b2fa922d2 $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  198.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""footer"));
  199.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  200.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block""footer"));
  201.         // line 69
  202.         yield "    ";
  203.         yield from $this->yieldParentBlock("footer"$context$blocks);
  204.         yield "
  205.     
  206.     ";
  207.         // line 71
  208.         if (((isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'71$this->source); })()) && (CoreExtension::getAttribute($this->env$this->source, (isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'71$this->source); })()), "isActive", [], "any"falsefalsefalse71) == true))) {
  209.             // line 72
  210.             yield "        <script src='https://www.google.com/recaptcha/api.js'></script>
  211.     ";
  212.         }
  213.         // line 74
  214.         yield "
  215.     <script type=\"text/javascript\">
  216. \t\t\$(function () {
  217.              _.extend(Backbone.Validation.callbacks, {
  218.                 valid : function (view, attr, selector) {
  219.                     var \$el = view.\$('[name=\"' + attr + '\"]');
  220.                     \$el.removeClass('uv-field-error');
  221.                     \$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
  222.                 },
  223.                 invalid : function (view, attr, error, selector) {
  224.                     var \$el = view.\$('[name=\"' + attr + '\"]');
  225.                     \$el.addClass('uv-field-error');
  226.                     \$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
  227.                     \$el.parents('.uv-adjacent-element-block').append(\"<span class='uv-field-message'>\" + error + \"</span>\");
  228.                 }
  229.             });
  230.             
  231.             var LoginModel = Backbone.Model.extend({
  232.                 validation: {
  233.                     'forgot_password_form[email]': [{
  234.                         required: true,
  235.                         msg: '";
  236.         // line 95
  237.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("This field is mandatory"), "html"nulltrue);
  238.         yield "'
  239.                     },{
  240.                         pattern: 'email',
  241.                         msg: '";
  242.         // line 98
  243.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("This is not a valid email address"), "html"nulltrue);
  244.         yield "'
  245.                     }],
  246.                     ";
  247.         // line 100
  248.         if (((isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'100$this->source); })()) && (CoreExtension::getAttribute($this->env$this->source, (isset($context["recaptchaDetail"]) || array_key_exists("recaptchaDetail"$context) ? $context["recaptchaDetail"] : (function () { throw new RuntimeError('Variable "recaptchaDetail" does not exist.'100$this->source); })()), "isActive", [], "any"falsefalsefalse100) == true))) {
  249.             // line 101
  250.             yield "                        'g-recaptcha-response' : {
  251.                             fn: function(value) {
  252.                                 if (grecaptcha.getResponse().length > 0)
  253.                                     return false;
  254.                                 else
  255.                                     return true;
  256.                             },
  257.                             msg : '";
  258.             // line 108
  259.             yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("Please select CAPTCHA"), "html"nulltrue);
  260.             yield "'
  261.                         }
  262. \t\t\t\t    ";
  263.         }
  264.         // line 111
  265.         yield "                }
  266.             });
  267.             var LoginForm = Backbone.View.extend({
  268. \t\t        el: 'form',
  269.                 events: {
  270.                     'blur input': 'formChanged',
  271.                     'click .uv-btn': 'submit'
  272.                 },
  273.                 initialize: function () {
  274.                     this.model = new LoginModel();
  275.                     Backbone.Validation.bind(this);
  276.                 },
  277.                 formChanged: function(e) {
  278. \t\t\t    \tthis.model.set(Backbone.\$(e.currentTarget).attr('name'), Backbone.\$(e.currentTarget).val())
  279. \t\t\t    \tthis.model.isValid([Backbone.\$(e.currentTarget).attr('name')])
  280. \t\t\t    },
  281.                 submit: function (e) {
  282.                     e.preventDefault();
  283.                     var data = this.\$el.serializeObject();
  284.                     this.model.set(data);
  285.                     if(this.model.isValid(true)){
  286.                         this.\$el.submit();
  287.                     }
  288.                 }
  289.             });
  290. \t\t    new LoginForm();
  291. \t\t});
  292. \t</script>
  293. ";
  294.         
  295.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  296.         
  297.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  298.         yield from [];
  299.     }
  300.     /**
  301.      * @codeCoverageIgnore
  302.      */
  303.     public function getTemplateName(): string
  304.     {
  305.         return "@UVDeskCoreFramework/forgotPassword.html.twig";
  306.     }
  307.     /**
  308.      * @codeCoverageIgnore
  309.      */
  310.     public function isTraitable(): bool
  311.     {
  312.         return false;
  313.     }
  314.     /**
  315.      * @codeCoverageIgnore
  316.      */
  317.     public function getDebugInfo(): array
  318.     {
  319.         return array (  296 => 111,  290 => 108,  281 => 101,  279 => 100,  274 => 98,  268 => 95,  245 => 74,  241 => 72,  239 => 71,  233 => 69,  220 => 68,  203 => 61,  190 => 51,  187 => 50,  183 => 48,  177 => 45,  174 => 44,  172 => 43,  163 => 37,  156 => 33,  151 => 31,  144 => 26,  131 => 25,  105 => 8,  92 => 7,  69 => 3,  58 => 1,  56 => 5,  43 => 1,);
  320.     }
  321.     public function getSourceContext(): Source
  322.     {
  323.         return new Source("{% extends \"@UVDeskCoreFramework//Templates//layout.html.twig\" %}
  324. {% block title %}Forgot Password{% endblock %}
  325. {% set recaptchaDetail = recaptcha_service.getRecaptchaDetails() %}
  326. {% block templateCSS %}
  327.     <style>
  328.         #loginForm h1 {
  329.             font-size: 28px;
  330.             color: #6F6F6F;
  331.             font-weight: 600;
  332.             margin: 0px 0px 10px 0px;
  333.         }
  334.         .forgot-password-cta {
  335.             position: absolute;
  336.             font-size: 15px !important;
  337.             right: 0px;
  338.             top: 0px;
  339.         }
  340.     </style>
  341. {% endblock %}
  342. {% block pageWrapper %}
  343.     <div class=\"uv-large-box-plank\">
  344. \t\t<div class=\"uv-large-box-rt\">
  345. \t\t\t<div class=\"uv-center-box uv-text-center\">
  346.                 <form action=\"\" method=\"post\" id=\"loginForm\">
  347.                     <div class=\"uv-adjacent-center\">
  348.                         <h1>{{ \"Forgot Password\" |trans}}</h1>
  349.                         <div class=\"uv-element-block\">
  350.                             <p>{{ \"Enter your email address and we will send you an email with instructions to update your login credentials.\" |trans}}</p>
  351.                         </div>
  352.                         <div class=\"uv-adjacent-form\">
  353.                             <div class=\"uv-adjacent-element-block\">
  354.                                 <label>{{ \"Email\" |trans}}</label>
  355.                                 <div class=\"uv-max-field\">
  356.                                     <input class=\"uv-field\" type=\"email\" name=\"forgot_password_form[email]\">
  357.                                 </div>
  358.                             </div>
  359.                             <div class=\"uv-adjacent-element-block\">
  360.                                 {% if recaptchaDetail and recaptchaDetail.isActive == true %}
  361.                                     <div class=\"clearfix\"></div>
  362.                                     <div class=\"g-recaptcha\" data-sitekey=\"{{ recaptchaDetail.siteKey }}\"></div>
  363.                                     <div class=\"clearfix\"></div>
  364.                                 {% else %}
  365.                                     <!-- Recaptcha will not support -->
  366.                                 {% endif %}
  367.                             </div>
  368.                             <button class=\"uv-btn\">{{ 'Send Mail'|trans }}</button>
  369.                         </div>
  370.                     </div>
  371.                 </div>
  372.             </form>
  373. \t\t</div>
  374. \t\t<div class=\"uv-large-box-lt\">
  375. \t\t\t<div class=\"uv-center-box uv-text-center\">
  376. \t\t\t\t<a href=\"https://www.uvdesk.com\">
  377.                     <img alt=\"UVdesk\" title=\"UVdesk\" src=\"{{ asset('bundles/uvdeskcoreframework/images/uvdesk-logo-symbol.svg') }}\">
  378. \t\t\t\t</a>
  379.             </div>
  380. \t\t</div>
  381. \t</div>
  382. {% endblock %}
  383. {% block footer %}
  384.     {{ parent() }}
  385.     
  386.     {% if recaptchaDetail and recaptchaDetail.isActive == true %}
  387.         <script src='https://www.google.com/recaptcha/api.js'></script>
  388.     {% endif %}
  389.     <script type=\"text/javascript\">
  390. \t\t\$(function () {
  391.              _.extend(Backbone.Validation.callbacks, {
  392.                 valid : function (view, attr, selector) {
  393.                     var \$el = view.\$('[name=\"' + attr + '\"]');
  394.                     \$el.removeClass('uv-field-error');
  395.                     \$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
  396.                 },
  397.                 invalid : function (view, attr, error, selector) {
  398.                     var \$el = view.\$('[name=\"' + attr + '\"]');
  399.                     \$el.addClass('uv-field-error');
  400.                     \$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
  401.                     \$el.parents('.uv-adjacent-element-block').append(\"<span class='uv-field-message'>\" + error + \"</span>\");
  402.                 }
  403.             });
  404.             
  405.             var LoginModel = Backbone.Model.extend({
  406.                 validation: {
  407.                     'forgot_password_form[email]': [{
  408.                         required: true,
  409.                         msg: '{{ \"This field is mandatory\"|trans }}'
  410.                     },{
  411.                         pattern: 'email',
  412.                         msg: '{{ \"This is not a valid email address\"|trans }}'
  413.                     }],
  414.                     {% if recaptchaDetail and recaptchaDetail.isActive == true %}
  415.                         'g-recaptcha-response' : {
  416.                             fn: function(value) {
  417.                                 if (grecaptcha.getResponse().length > 0)
  418.                                     return false;
  419.                                 else
  420.                                     return true;
  421.                             },
  422.                             msg : '{{ \"Please select CAPTCHA\"|trans }}'
  423.                         }
  424. \t\t\t\t    {% endif %}
  425.                 }
  426.             });
  427.             var LoginForm = Backbone.View.extend({
  428. \t\t        el: 'form',
  429.                 events: {
  430.                     'blur input': 'formChanged',
  431.                     'click .uv-btn': 'submit'
  432.                 },
  433.                 initialize: function () {
  434.                     this.model = new LoginModel();
  435.                     Backbone.Validation.bind(this);
  436.                 },
  437.                 formChanged: function(e) {
  438. \t\t\t    \tthis.model.set(Backbone.\$(e.currentTarget).attr('name'), Backbone.\$(e.currentTarget).val())
  439. \t\t\t    \tthis.model.isValid([Backbone.\$(e.currentTarget).attr('name')])
  440. \t\t\t    },
  441.                 submit: function (e) {
  442.                     e.preventDefault();
  443.                     var data = this.\$el.serializeObject();
  444.                     this.model.set(data);
  445.                     if(this.model.isValid(true)){
  446.                         this.\$el.submit();
  447.                     }
  448.                 }
  449.             });
  450. \t\t    new LoginForm();
  451. \t\t});
  452. \t</script>
  453. {% endblock %}""@UVDeskCoreFramework/forgotPassword.html.twig""/var/www/support.quasi.ai/vendor/uvdesk/core-framework/Resources/views/forgotPassword.html.twig");
  454.     }
  455. }