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/buyercall/blueprints/admin/templates/admin/page/dashboard.jinja2
{% extends 'layouts/backend_old.jinja2' %}

{% block title %}buyercall Admin - Dashboard{% endblock %}
{% block heading %}My Administrative Dashboard{% endblock %}
{% block body %}
<div class="content">
    <div class="container-fluid">
        <div class="col-md-10 col-md-offset-1">
            {% if current_user.role in ['sysadmin', 'limitsysadmin', 'admin', 'partner'] or (current_user.role == 'partner' and current_user.partnership.billing_type == 'account')%}
                <div class="card">
                    <div class="card-header card-header-tabs" data-background-color="light-blue">
                        <div class="nav-tabs-navigation">
                            <div class="nav-tabs-wrapper">
                                <span class="nav-tabs-title">Administrative Overview:</span>
                                <ul class="nav nav-tabs" data-tabs="tabs">
                                    {% if current_user.role in ['sysadmin', 'limitsysadmin', 'partner'] %}
                                    <li class="active">
                                        <a href="#billing" data-toggle="tab">
                                            <i class="material-icons">info_outline</i> Billing
                                            <div class="ripple-container"></div>
                                        </a>
                                    </li>
                                    {% endif %}
                                    {% if current_user.role in ['sysadmin'] %}
                                    <li>
                                        <a href="#coupon" data-toggle="tab">
                                            <i class="material-icons">loyalty</i> Coupons
                                            <div class="ripple-container"></div>
                                        </a>
                                    </li>
                                    {% endif %}
                                    <li {% if current_user.role in ['admin'] %}class="active"{% endif %}>
                                        <a href="#users" data-toggle="tab">
                                            <i class="material-icons">people_outline</i> Users
                                            <div class="ripple-container"></div>
                                        </a>
                                    </li>
                                    {% if current_user.role in ['sysadmin', 'limitsysadmin', 'partner'] %}
                                    <li>
                                        <a href="#issues" data-toggle="tab">
                                            <i class="material-icons">error_outline</i> Issues
                                            <div class="ripple-container"></div>
                                        </a>
                                    </li>
                                    {% endif %}
                                    {% if current_user.role in ['sysadmin'] %}
                                    <li>
                                        <a href="#exports" data-toggle="tab">
                                            <i class="material-icons">drive_file_move</i> Exports
                                            <div class="ripple-container"></div>
                                        </a>
                                    </li>
                                    {% endif %}
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div class="card-content">
                        <div class="tab-content">
                            {% if current_user.role in ['sysadmin', 'limitsysadmin', 'partner'] %}
                            <div class="tab-pane active" id="billing">
                                <div class="row">
                                   <div class="col-md-12">
                                        <h4><a href="{{ url_for('partnership.accounts') }}">Account Subscriptions</a>
                                        <span class="text-muted">
                                        ({{ group_and_count_plans.total }})
                                        </span>
                                        </h4>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        {% for item in group_and_count_plans.query %}
                                          {% set percent = ((item[0] / group_and_count_plans.total) * 100) | round %}
                                          <label>
                                            {{ item[1] | title }}
                                            <span class="text-muted">({{ item[0] }})</span>
                                          </label>
                                          <div class="progress">
                                            <div class="progress-bar" role="progressbar"
                                                 aria-valuenow="{{ percent }}" aria-valuemin="0"
                                                 aria-valuemax="100" style="width: {{ percent }}%;">
                                              {{ percent }}%
                                            </div>
                                          </div>
                                        {% endfor %}
                                    </div>
                                </div>
                            </div>
                            {% endif %}
                            {% if current_user.role in ['sysadmin'] %}
                            <div class="tab-pane" id="coupon">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h4><a href="{{ url_for('admin.coupons') }}">Account Coupons</a>
                                        <span class="text-muted">
                                          Subscribers are using
                                          {{ group_and_count_coupons[0] }} coupon(s)
                                        </span>
                                        </h4>
                                        <a href="{{ url_for('admin.coupons_new') }}"
                                             class="btn btn-fill btn-light-blue pull-right">Add</a>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        <div class="progress">
                                          <div class="progress-bar" role="progressbar"
                                               aria-valuenow="{{ group_and_count_coupons[2] }}"
                                               aria-valuemin="0"
                                               aria-valuemax="100"
                                               style="width: {{ group_and_count_coupons[2] }}%;">
                                            {{ group_and_count_coupons[2] }}%
                                          </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            {% endif %}
                            {% if current_user.role in ['sysadmin'] %}
                            <div class="tab-pane" id="exports">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h4>Generate form lead PDF exports</h4>
                                            <div class="input-group label-floating">
                                                <input type="text" class="form-control" placeholder="Partnership Account ID" id="txtPartnershipAccountId"/>
                                            </div>
                                            <div class="btn btn-fill btn-light-blue pull-right" id="btnGenerateExport">Generate</div>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        <div id="divExportFeedback" class="alert" style="display:none;" role="alert"></div>
                                    </div>
                                </div>
                            </div>
                            {% endif %}
                            <div class="tab-pane {% if current_user.role in ['admin'] %}active{% endif %}" id="users">
                                <div class="row">
                                    {% if current_user.role in ['admin', 'partner'] %}
                                    <div class="col-md-12">
                                        <h4><a href="{{ url_for('admin.users') }}">Users Overview</a>
                                        <span class="text-muted">
                                        ({{ group_and_count_users.total }})
                                        </span>
                                        </h4>
                                    </div>
                                    {% else %}
                                    <div class="col-md-12">
                                        <h4>Users Overview
                                        <span class="text-muted">
                                        ({{ group_and_count_users.total }})
                                        </span>
                                        </h4>
                                    </div>
                                    {% endif %}
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        {% for item in group_and_count_users.query %}
                                            {% set percent = ((item[0] / group_and_count_users.total) * 100) | round %}
                                            <label>
                                            {{ item[1] | title }}
                                            <span class="text-muted">({{ item[0] }})</span>
                                            </label>
                                            <div class="progress">
                                                <div class="progress-bar" role="progressbar"
                                                     aria-valuenow="{{ percent }}" aria-valuemin="0"
                                                     aria-valuemax="100" style="width: {{ percent }}%;">
                                                  {{ percent }}%
                                                </div>
                                            </div>
                                        {% endfor %}
                                    </div>
                                </div>
                            </div>
                            <div class="tab-pane" id="issues">
                                <div class="row">
                                    <div class="col-md-12">
                                        <h4><a href="{{ url_for('admin.issues') }}">Issues Overview</a>
                                        <span class="text-muted">
                                        ({{ group_and_count_issues.total }})
                                        </span>
                                        </h4>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        {% for item in group_and_count_issues.query %}
                                            {% set percent = ((item[0] / group_and_count_issues.total) * 100) | round %}
                                            <label>
                                            {{ item[1] | title }}
                                            <span class="text-muted">({{ item[0] }})</span>
                                            </label>
                                            <div class="progress">
                                                <div class="progress-bar" role="progressbar"
                                                     aria-valuenow="{{ percent }}" aria-valuemin="0"
                                                     aria-valuemax="100" style="width: {{ percent }}%;">
                                                  {{ percent }}%
                                                </div>
                                            </div>
                                        {% endfor %}
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            {% endif %}
        </div>
    </div>
</div>
{% if current_user.role in ['sysadmin'] %}
<div class="container-fluid">
    <div class="col-md-10 col-md-offset-1">
        <div class="row">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header card-header-icon" data-background-color="light-blue">
                        <i class="material-icons">brightness_auto</i>
                    </div>
                    <div class="card-content">
                        <h4 class="card-title">
                        Administrative Services -
                        <small class="text-muted">You may want to include a list of
                                external links so you can easily get to those services.</small>
                        </h4>
                        <div class="row">
                            <div class="col-md-6">
                                <dl>
                                  <dt>Primary e-mail</dt>
                                  <dd class="sm-margin-bottom"><a href="#">buyercall@gmail.com</a></dd>
                                  <dt>Hosting provider</dt>
                                  <dd><a href="#">Digital Ocean</a></dd>
                                </dl>
                            </div>
                            <div class="col-md-6">
                                <dl>
                                  <dt>System metrics</dt>
                                  <dd class="sm-margin-bottom"><a href="{{ config.get('ENDPOINT_CADVISOR') }}">cAdvisor</a></dd>
                                  <dt>Task status</dt>
                                  <dd class="sm-margin-bottom"><a href="{{ config.get('ENDPOINT_FLOWER') }}">Flower</a></dd>
                                </dl>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
{% endif %}
{% endblock %}
{% block scripts %}
<script>
    $("#btnGenerateExport").on("click", function() {
        const paid = $("#txtPartnershipAccountId").val();
        var feedback = $("#divExportFeedback");

        feedback.hide();

        if (isNaN(paid) || paid.length == 0) {
            feedback.addClass("alert-danger").removeClass("alert-success");
            feedback.html("Please enter a valid number.");
            feedback.show();
        } else {
            $.ajax({
               url: "/form_leads/" + paid + "/generate_leads/pdf",
               type: "GET",
               dataType: "json",
               success: function(response) {
                    if (response.account_name == "") {
                        feedback.addClass("alert-danger").removeClass("alert-success");
                        feedback.html("No account found.");
                        feedback.show();
                    } else
                    if (response.form_lead_count == 0) {
                        feedback.addClass("alert-danger").removeClass("alert-success");
                        feedback.html("No form leads found.");
                        feedback.show();
                    } else {
                        feedback.addClass("alert-success").removeClass("alert-danger");
                        feedback.html("Processing of " + response.form_lead_count + " form lead(s) for " + response.account_name + " started.");
                        feedback.show();
                    }
               }
            });
        }
    });
</script>
{% endblock %}