vendor/uvdesk/core-framework/Resources/views/forgotPassword.html.twig line 1

Open in your IDE?
  1. {% extends "@UVDeskCoreFramework//Templates//layout.html.twig" %}
    
    {% block title %}Forgot Password{% endblock %}
    
    {% set recaptchaDetail = recaptcha_service.getRecaptchaDetails() %}
    
    {% block templateCSS %}
        <style>
            #loginForm h1 {
                font-size: 28px;
                color: #6F6F6F;
                font-weight: 600;
                margin: 0px 0px 10px 0px;
            }
    
            .forgot-password-cta {
                position: absolute;
                font-size: 15px !important;
                right: 0px;
                top: 0px;
            }
        </style>
    {% endblock %}
    
    {% block pageWrapper %}
        <div class="uv-large-box-plank">
            <div class="uv-large-box-rt">
                <div class="uv-center-box uv-text-center">
                    <form action="" method="post" id="loginForm">
                        <div class="uv-adjacent-center">
                            <h1>{{ "Forgot Password" |trans}}</h1>
                            <div class="uv-element-block">
                                <p>{{ "Enter your email address and we will send you an email with instructions to update your login credentials." |trans}}</p>
                            </div>
                            <div class="uv-adjacent-form">
                                <div class="uv-adjacent-element-block">
                                    <label>{{ "Email" |trans}}</label>
                                    <div class="uv-max-field">
                                        <input class="uv-field" type="email" name="forgot_password_form[email]">
                                    </div>
                                </div>
                                <div class="uv-adjacent-element-block">
                                    {% if recaptchaDetail and recaptchaDetail.isActive == true %}
                                        <div class="clearfix"></div>
                                        <div class="g-recaptcha" data-sitekey="{{ recaptchaDetail.siteKey }}"></div>
                                        <div class="clearfix"></div>
                                    {% else %}
                                        <!-- Recaptcha will not support -->
                                    {% endif %}
                                </div>
                                <button class="uv-btn">{{ 'Send Mail'|trans }}</button>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
    
            <div class="uv-large-box-lt">
                <div class="uv-center-box uv-text-center">
                    <a href="https://www.uvdesk.com">
                        <img alt="UVdesk" title="UVdesk" src="{{ asset('bundles/uvdeskcoreframework/images/uvdesk-logo-symbol.svg') }}">
                    </a>
                </div>
            </div>
        </div>
    {% endblock %}
    
    {% block footer %}
        {{ parent() }}
        
        {% if recaptchaDetail and recaptchaDetail.isActive == true %}
            <script src='https://www.google.com/recaptcha/api.js'></script>
        {% endif %}
    
        <script type="text/javascript">
            $(function () {
                 _.extend(Backbone.Validation.callbacks, {
                    valid : function (view, attr, selector) {
                        var $el = view.$('[name="' + attr + '"]');
                        $el.removeClass('uv-field-error');
                        $el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
                    },
                    invalid : function (view, attr, error, selector) {
                        var $el = view.$('[name="' + attr + '"]');
                        $el.addClass('uv-field-error');
                        $el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
                        $el.parents('.uv-adjacent-element-block').append("<span class='uv-field-message'>" + error + "</span>");
                    }
                });
                
                var LoginModel = Backbone.Model.extend({
                    validation: {
                        'forgot_password_form[email]': [{
                            required: true,
                            msg: '{{ "This field is mandatory"|trans }}'
                        },{
                            pattern: 'email',
                            msg: '{{ "This is not a valid email address"|trans }}'
                        }],
                        {% if recaptchaDetail and recaptchaDetail.isActive == true %}
                            'g-recaptcha-response' : {
                                fn: function(value) {
                                    if(grecaptcha.getResponse().length > 0)
                                        return false;
                                    else
                                        return true;
                                },
                                msg : '{{ "Please select CAPTCHA"|trans }}'
                            }
                        {% endif %}
                    }
                });
    
                var LoginForm = Backbone.View.extend({
                    el: 'form',
                    events: {
                        'blur input': 'formChanged',
                        'click .uv-btn': 'submit'
                    },
                    initialize: function () {
                        this.model = new LoginModel();
                        Backbone.Validation.bind(this);
                    },
                    formChanged: function(e) {
                        this.model.set(Backbone.$(e.currentTarget).attr('name'), Backbone.$(e.currentTarget).val())
                        this.model.isValid([Backbone.$(e.currentTarget).attr('name')])
                    },
                    submit: function (e) {
                        e.preventDefault();
                        var data = this.$el.serializeObject();
    
                        this.model.set(data);
                        if(this.model.isValid(true)){
                            this.$el.submit();
                        }
                    }
                });
    
                new LoginForm();
            });
        </script>
    {% endblock %}