258 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			258 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% extends "administration/base.html" %}
 | |
| 
 | |
| {% load i18n %}
 | |
| 
 | |
| {% block content %}
 | |
| <section class="pf-c-page__main-section pf-m-light">
 | |
|     <div class="pf-c-content">
 | |
|         <h1>{% trans 'System Overview' %}</h1>
 | |
|     </div>
 | |
| </section>
 | |
| <section class="pf-c-page__main-section">
 | |
|     <div class="pf-l-gallery pf-m-gutter">
 | |
|         <a href="{% url 'passbook_admin:applications' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-applications"></i> {% trans 'Applications' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ application_count }}
 | |
|                 </p>
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:sources' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-middleware"></i> {% trans 'Sources' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ source_count }}
 | |
|                 </p>
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:providers' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-plugged"></i> {% trans 'Providers' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if providers_without_application.exists %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-exclamation-triangle"></i> {{ provider_count }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'Warning: At least one Provider has no application assigned.' %}</p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ provider_count }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:stages' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-plugged"></i> {% trans 'Stages' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if stage_count < 1 %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="pficon-error-circle-o"></i> {{ stage_count }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'No Stages configured. No Users will be able to login.' %}"></p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ stage_count }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:stages' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-topology"></i> {% trans 'Flows' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ flow_count }}
 | |
|                 </p>
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:policies' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-infrastructure"></i> {% trans 'Policies' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if policies_without_binding %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-exclamation-triangle"></i> {{ policy_count }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'Policies without binding exist.' %}</p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ policy_count }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:stage-invitations' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-migration"></i> {% trans 'Invitation' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ invitation_count }}
 | |
|                 </p>
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <a href="{% url 'passbook_admin:users' %}" class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-user"></i> {% trans 'Users' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ user_count }}
 | |
|                 </p>
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <div class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-bundle"></i> {% trans 'Version' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 <p class="aggregate-status">
 | |
|                     {% if version >= version_latest %}
 | |
|                     <i class="fa fa-check-circle"></i> {{ version }}
 | |
|                     {% else %}
 | |
|                     <i class="fa fa-exclamation-triangle"></i> {{ version }}
 | |
|                     {% endif %}
 | |
|                 </p>
 | |
|                 {% if version >= version_latest %}
 | |
|                     {% blocktrans %}
 | |
|                     Up-to-date!
 | |
|                     {% endblocktrans %}
 | |
|                 {% else %}
 | |
|                     {% blocktrans with latest=version_latest %}
 | |
|                     {{ latest }} is available!
 | |
|                     {% endblocktrans %}
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         <div class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-server"></i> {% trans 'Workers' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if worker_count < 1 %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-exclamation-triangle"></i> {{ worker_count }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'No workers connected.' %}</p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ worker_count }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </div>
 | |
| 
 | |
|         <a class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact" data-target="modal" data-modal="clearCacheModalRoot">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-server"></i> {% trans 'Cached Policies' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if cached_policies < 1 %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-exclamation-triangle"></i> {{ cached_policies }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'No policies cached. Users may experience slow response times.' %}</p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ cached_policies }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </a>
 | |
| 
 | |
|         <div class="pf-c-card pf-c-card-aggregate pf-m-hoverable pf-m-compact">
 | |
|             <div class="pf-c-card__header">
 | |
|                 <div class="pf-c-card__header-main">
 | |
|                     <i class="pf-icon pf-icon-server"></i> {% trans 'Cached Flows' %}
 | |
|                 </div>
 | |
|             </div>
 | |
|             <div class="pf-c-card__body">
 | |
|                 {% if cached_flows < 1 %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <span class="fa fa-exclamation-triangle"></span> {{ cached_flows }}
 | |
|                 </p>
 | |
|                 <p>{% trans 'No flows cached.' %}</p>
 | |
|                 {% else %}
 | |
|                 <p class="aggregate-status">
 | |
|                     <i class="fa fa-check-circle"></i> {{ cached_flows }}
 | |
|                 </p>
 | |
|                 {% endif %}
 | |
|             </div>
 | |
|         </div>
 | |
|     </section>
 | |
| </div>
 | |
| <div class="pf-c-backdrop" id="clearCacheModalRoot" hidden>
 | |
|     <div class="pf-l-bullseye">
 | |
|         <div class="pf-c-modal-box pf-m-sm" role="dialog">
 | |
|             <button data-modal-close class="pf-c-button pf-m-plain" type="button" aria-label="Close dialog">
 | |
|                 <i class="fas fa-times" aria-hidden="true"></i>
 | |
|             </button>
 | |
|             <div class="pf-c-modal-box__header">
 | |
|                 <h1 class="pf-c-title pf-m-2xl" id="modal-title">{% trans 'Clear Cache' %}?</h1>
 | |
|             </div>
 | |
|             <div class="pf-c-modal-box__body" id="modal-description">
 | |
|                 <form method="post" id="clearForm">
 | |
|                     {% csrf_token %}
 | |
|                     <input type="hidden" name="clear">
 | |
|                     <p>
 | |
|                         {% blocktrans %}
 | |
|                         Are you sure you want to clear the cache? This includes all user sessions and all cached Policy results.
 | |
|                         {% endblocktrans %}
 | |
|                     </p>
 | |
|                     <h3>
 | |
|                         {% blocktrans %}
 | |
|                         This will also log you out.
 | |
|                         {% endblocktrans %}
 | |
|                     </h3>
 | |
|                 </form>
 | |
|             </div>
 | |
|             <footer class="pf-c-modal-box__footer pf-m-align-left">
 | |
|                 <button form="clearForm" class="pf-c-button pf-m-primary" type="submit">{% trans 'Clear' %}</button>
 | |
|                 <button data-modal-close class="pf-c-button pf-m-link" type="button">{% trans 'Cancel' %}</button>
 | |
|             </footer>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| {% endblock %}
 | 
