Mooooore status chips, mooore

This commit is contained in:
2020-08-24 13:43:03 +01:00
parent a6ac55baaf
commit da60cad911
7 changed files with 112 additions and 9 deletions

View File

@@ -135,3 +135,9 @@ class EventChecklistCreate(generic.CreateView):
def get_success_url(self):
return reverse_lazy('ec_detail', kwargs={'pk': self.object.pk})
class EventChecklistList(generic.ListView):
paginate_by = 20
model = models.EventChecklist
template_name = 'event_checklist_list.html'

View File

@@ -60,6 +60,7 @@
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownHS">
<a class="dropdown-item" href="{% url 'ra_list' %}">Risk Assessment List</a>
<a class="dropdown-item" href="{% url 'ec_list' %}">Event Checklist List</a>
</div>
</li>
{% endif %}

View File

@@ -0,0 +1,71 @@
{% extends 'base_rigs.html' %}
{% load paginator from filters %}
{% load help_text from filters %}
{% load verbose_name from filters %}
{% block title %}Event Checklist List{% endblock %}
{% block content %}
<div class="row">
<div class="col-12">
<h2>Event Checklist List</h2>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="table-responsive">
<table class="table mb-0">
<thead>
<tr>
<th scope="col">Event</th>
{# mmm hax #}
{% if object_list.0 %}
<th scope="col" class="">{{ object_list.0|verbose_name:'power_mic'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'vehicles'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'safe_parking'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'safe_packing'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'exits'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'trip_hazard'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'warning_signs'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'ear_plugs'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'hs_location'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'extinguishers_location'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'rcds'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'supply_test'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'earthing'|title }}</th>
<th scope="col">{{ object_list.0|verbose_name:'pat'|title }}</th>
{% endif %}
</tr>
</thead>
<tbody>
{% for object in object_list %}
<tr>
{# General #}
<th scope="row" class="{% if object.reviewed_by %}bg-success{%endif%}"><a href="{% url 'event_detail' object.event.pk %}">N{{ object.event.pk|stringformat:"05d" }} {{ object.event.name }}</a></th>
<td>{{object.power_mic.name}}</td>
{# Buttons #}
<td>
<a class="btn btn-primary" href="{% url 'ra_detail' object.pk %}">View</a>
{% if object.reviewed_by %}
Reviewed by <a href="{% url 'profile_detail' object.reviewed_by.pk %}">{{ object.reviewed_by }}</a> at {{ object.reviewed_at }}
{% else %}
<a class="btn btn-success my-2" href="{% url 'ra_review' object.pk %}">Mark Reviewed</a>
{% endif %}
</td>
</tr>
{% empty %}
<tr class="bg-warning text-dark">
<td colspan="6">No checklists found</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% if is_paginated %}
<div class="row justify-content-center">
{% paginator %}
</div>
{% endif %}
{% endblock %}

View File

@@ -1,19 +1,42 @@
<h5>
<span class="badge badge-{% if event.confirmed %}success{% elif event.cancelled %}dark{% else %}warning{% endif %}">Status: {{ event.get_status_display }}</span>
{% if event.is_rig %}
{% if event.purchase_order %}
<span class="badge badge-success">PO: {{ event.purchase_order }}</i></span>
{% elif event.authorised %}
<span class="badge badge-success">Payment: Authorised <i class="fas fa-check"></i></span>
<span class="badge badge-success">Authorisation: Complete <span class="fas fa-check"></span></span>
{% else %}
<span class="badge badge-danger">Payment: <i class="fas fa-times"></i></span>
<span class="badge badge-danger">Authorisation: <span class="fas fa-times"></span></span>
{% endif %}
<!-- TODO show invoice stuff here -->
{% if not event.dry_hire %}
{% if event.riskassessment %}
<span class="badge badge-success">RA: <i class="fas fa-check"></i></span>
<span class="badge badge-success">RA: <span class="fas fa-check"></span>{%if event.riskassessment.reviewed_by%}<span class="fas fa-check"></span>{%endif%}</span>
{% else %}
<span class="badge badge-danger">RA: <i class="fas fa-times"></i></span>
<span class="badge badge-danger">RA: <span class="fas fa-times"></span></span>
{% endif %}
{% else %}
<span class="badge badge-secondary">RA: N/A</span>
{% endif %}
<br>
{% if not event.dry_hire %}
{% if event.eventchecklist %}
<span class="badge badge-success">Checklist: <span class="fas fa-check"></span>{%if event.eventchecklist.reviewed_by%}<span class="fas fa-check"></span>{%endif%}</span>
{% else %}
<span class="badge badge-danger">Checklist: <span class="fas fa-times"></span></span>
{% endif %}
{% endif %}
{% if perms.RIGS.view_invoice %}
{% if event.invoice %}
{% if event.invoice.void %}
<span class="badge badge-secondary">Invoice: Void</span>
{% elif event.invoice.is_closed %}
<span class="badge badge-success">Invoice: Paid</span>
{% else %}
<span class="badge badge-warning">Invoice: Outstanding</span>
{% endif %}
{% else %}
<span class="badge badge-info">Invoice: Not Generated</span>
{% endif %}
{% endif %}
{% endif %}
</h5>

View File

@@ -1,4 +1,4 @@
<div class="card {% if event.riskassessment %}
<div class="card {% if event.riskassessment and event.eventchecklist %}
border-success
{% else %}
border-warning
@@ -22,7 +22,7 @@
class="hidden-xs">Edit</span></a></div>
{% else %}
<a href="{% url 'event_ec' event.pk %}" class="btn btn-success"><span class="fas fa-paperclip"></span> <span
class="hidden-xs">Create Risk Assessment</span></a>
class="hidden-xs">Create Event Checklist</span></a>
{% endif%}
</div>
</div>

View File

@@ -92,7 +92,7 @@
</td>
</tr>
{% empty %}
<tr class="bg-warning">
<tr class="bg-warning text-dark">
<td colspan="6">No risk assessments found</td>
</tr>
{% endfor %}

View File

@@ -111,6 +111,8 @@ urlpatterns = [
name='ec_edit'),
path('event/checklist/<int:pk>/history/', permission_required_with_403('RIGS.change_event')(versioning.VersionHistory.as_view()),
name='ec_history', kwargs={'model': models.EventChecklist}),
path('event/checklist/list', permission_required_with_403('RIGS.change_event')(hs.EventChecklistList.as_view()),
name='ec_list'),
# Finance
path('invoice/', permission_required_with_403('RIGS.view_invoice')(finance.InvoiceIndex.as_view()),