HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/buyercall/templates/layouts/backend.jinja2
{% extends 'layouts/backend_base.jinja2' %}

{% block header %}
            {% if current_supervisor_user.is_authenticated %}
            <div data-notify="container"
            class="alert switch-back-bar col-xs-11 col-sm-10 col-md-10 col-lg-8 alert-warning alert-with-icon" data-notify-position="top-center"
            role="alert">
                <i class="material-icons" data-notify="icon">error</i>
                    <span data-notify="message">
                    Hi <strong>{{ current_supervisor_user.firstname | default(current_user.first_name|default('') + ' ' +
                    current_user.last_name|default('')) }}</strong>,
                    you are logged in as
                    <strong>{{ current_user.firstname }} {{current_user.lastname }}
                    </strong>
                    </span>
                    <a href="{{ url_for('user.switch_back') }}">
                        <button type="button" class="switch-back-button btn btn-light-blue" aria-hidden="true">
                            Switch back
                        </button>
                    </a>
            </div>
            {% endif %}
            {% if current_user.is_authenticated and current_user.is_viewing_partnership %}
            <div data-notify="container"
            class="alert switch-back-bar col-xs-11 col-sm-10 col-md-10 col-lg-8 alert-warning alert-with-icon" data-notify-position="top-center"
            role="alert">
                <i class="material-icons" data-notify="icon">error</i>
                    <span data-notify="message">
                    Hi <strong>{{ current_user.firstname + ' ' + current_user.lastname }}</strong>,
                    you are acting on behalf of
                    <strong>{{ current_user.get_user_viewing_partnership_account_name }}</strong>
                    </span>
                    <a href="{{ url_for('partnership.switch_back') }}">
                        <button type="button" class="switch-back-button btn btn-light-blue" aria-hidden="true">
                            Switch back
                        </button>
                    </a>
            </div>
            {% endif %}
            <nav class="navbar navbar-transparent navbar-absolute
                {% if current_supervisor_user.is_authenticated %} navbar-custom-position
                {% elif current_user.is_authenticated and current_user.is_viewing_partnership %} navbar-custom-position
                {% endif %}">
                <div class="container-fluid">
                    <div class="navbar-minimize">
                        <button id="minimizeSidebar" class="btn btn-round btn-light-blue btn-fill btn-just-icon">
                            <i class="material-icons visible-on-sidebar-regular">more_vert</i>
                            <i class="material-icons visible-on-sidebar-mini">view_list</i>
                        </button>
                    </div>
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle" data-toggle="collapse">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="#"> {% block heading %}{% endblock %} </a>
                    </div>
                </div>
            </nav>
{% endblock %}

{% block footer %}
<footer class="footer">
                <div class="container-fluid">
                    <nav class="pull-left">
                        <ul>
                            <li>
                                <a href="{{ url_for('page.faq') }}">
                                    FAQ
                                </a>
                            </li>
                            <li>
                                <li><a href="{{ url_for('issue.support') }}">
                                    Support
                                </a>
                            </li>
                            <li>
                                <a href="{{ url_for('page.privacy') }}">
                                    Privacy Policy
                                </a>
                            </li>
                            <li>
                                <a href="{{ url_for('page.terms') }}">
                                    Terms of Service
                                </a>
                            </li>
                        </ul>
                    </nav>
                    <p class="copyright pull-right">
                    Copyright &copy; <span id="year-copy"></span>
                        {{ current_user.partnership.name }}. All rights reserved.
                    </p>
                </div>
            </footer>
{% endblock %}
{% block notifications %}
    {{ flash.render() }}
    {{ billing.card_expiring_warning() }}
    {{ billing.subscription_expiring_warning() }}
    {{ billing.subscription_expiring_error() }}
{% endblock %}

{% block scripts %}
<script>
window.appConfig = {
  server_url: document.location.host,
}
</script>
<!-- Load and execute javascript code used for leads page -->
{{ javascript_tag("leads_backend_js") }}
{% endblock %}
{% block pagescripts %}
<script>
    window.setTimeout(function() { $('#flash-messages').hide('slow') }, 10000);
</script>
<script>
    $(document).ready(function () {
       // Password strength validation
        var passwordInput = $('#update_password');
        var progressBar = $('#password-strength-bar');
        var strengthText = $('#password-strength-text');
        var lowercaseLabel = $('#lowercase-label');
        var uppercaseLabel = $('#uppercase-label');
        var numberLabel = $('#number-label');
        var specialCharLabel = $('#special-char-label');
        var lengthLabel = $('#length-label');
        var submitButton = $('button[type="submit"]');

        strengthText.hide();
        passwordInput.on('focus', function () {
            $(this).closest('.form-group').find('.progress').css('display', 'block');
            strengthText.show();
        }).on('input', function () {
            var password = $(this).val();
            var strength = 0;

            // Validate length
            if (password.length >= 8) {
                strength++;
                lengthLabel.removeClass('text-muted').addClass('text-success').html('<i class="fa fa-check-circle"></i> At least 8 characters');
            } else {
                lengthLabel.removeClass('text-success').addClass('text-muted').html('<i class="fa fa-times-circle"></i> At least 8 characters');
            }

            // Validate capital letters
            if (/[A-Z]/.test(password)) {
                strength++;
                uppercaseLabel.removeClass('text-muted').addClass('text-success').html('<i class="fa fa-check-circle"></i> At least one uppercase letter');
            } else {
                uppercaseLabel.removeClass('text-success').addClass('text-muted').html('<i class="fa fa-times-circle"></i> At least one uppercase letter');
            }

            // Validate small letters
            if (/[a-z]/.test(password)) {
                strength++;
                lowercaseLabel.removeClass('text-muted').addClass('text-success').html('<i class="fa fa-check-circle"></i> At least one smallcase letter');
            } else {
                lowercaseLabel.removeClass('text-success').addClass('text-muted').html('<i class="fa fa-times-circle"></i> At least one smallcase letter');
            }

            // Validate numbers
            if (/[0-9]/.test(password)) {
                strength++;
                numberLabel.removeClass('text-muted').addClass('text-success').html('<i class="fa fa-check-circle"></i> At least one number');
            } else {
                numberLabel.removeClass('text-success').addClass('text-muted').html('<i class="fa fa-times-circle"></i> At least one number');
            }

            // Validate special characters
            if (/[$@$!%*?&]/.test(password)) {
                strength++;
                specialCharLabel.removeClass('text-muted').addClass('text-success').html('<i class="fa fa-check-circle"></i> At least one special character');
            } else {
                specialCharLabel.removeClass('text-success').addClass('text-muted').html('<i class="fa fa-times-circle"></i> At least one special character');
            }

            // Calculate strength percentage
            var strengthPercentage = (strength / 5) * 100;

            // Update password strength indicator
            progressBar.css('width', strengthPercentage + '%');

            // Update password strength text
            var strengthTextValue = '';
            if (strengthPercentage < 20) {
                strengthTextValue = 'Very Weak';
            } else if (strengthPercentage < 40) {
                strengthTextValue = 'Weak';
            } else if (strengthPercentage < 60) {
                strengthTextValue = 'Moderate';
            } else if (strengthPercentage < 80) {
                strengthTextValue = 'Strong';
            } else {
                strengthTextValue = 'Very Strong';
            }

            // Enable or disable submit button based on password strength
            if (strengthPercentage >= 100 || strengthPercentage === 0) {
                submitButton.prop('disabled', false);
            } else {
                submitButton.prop('disabled', true);
            }
        });
    });
</script>
</body>
{% endblock %}