mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-20 06:52:15 +00:00
* Added search to person, venue, organisation and event archive
* Added search to invoice archive
* Added event search to homepage
* Tidy up event search logic and optimise
* Fixed merge issues
* Stopped 404 on failed search
* Set default ordering of people, organisations & venues to alphabetical (rather than order of addition to database)
* Added invoice search to home page (if you have permissions)
* Made invoice archive sort by reverse invoice date (rather than order added to database)
* Added search help page (very pretty)
* Made single search box for all search types
* FIX: Missing date field breaking archive view
* FEAT: Add omnisearch to header
Tis a bit broken on mobile at the moment...
* CHORE: Conform old code to pep8
* FIX: Select the event form, not the search one in tests!
* Revert "FEAT: Add omnisearch to header"
This reverts commit 6bcb242d6b because it caused MANY more problems than anticipated...
* FIX: Stop 404 on failed search, again
* FEAT: Basic testing of search
* Use a tooltip to help explain the UX
Obviously since it needs a tooltip it isn't brilliant UX but the best I can think of for now...
Co-authored-by: Tom Price <tom@codedinternet.com>
Co-authored-by: David Taylor <david@taylorhq.com>
Co-authored-by: Arona Jones <aj@aronajones.com>
85 lines
3.8 KiB
HTML
85 lines
3.8 KiB
HTML
{% extends 'base_rigs.html' %}
|
|
{% load paginator from filters %}
|
|
|
|
{% block title %}Invoices{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="col-sm-12">
|
|
<h2>{% block heading %}Invoices{% endblock %}</h2>
|
|
{% block description %}{% endblock %}
|
|
{% if is_paginated %}
|
|
<div class="col-md-6 col-md-offset-6 col-sm-12 text-right">
|
|
{% paginator %}
|
|
</div>
|
|
{% endif %}
|
|
{% block search %}{% endblock %}
|
|
<div class="table-responsive col-sm-12">
|
|
<table class="table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>Invoice #</th>
|
|
<th>Event</th>
|
|
<th>Client</th>
|
|
<th>Event Date</th>
|
|
<th>Invoice Date</th>
|
|
<th>Balance</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for object in object_list %}
|
|
<tr>
|
|
<td class="{% if object.is_closed %}success{% else %}warning{% endif %}">{{ object.pk }}<br>
|
|
<span class="text-muted">{% if object.void %}(VOID){% elif object.is_closed %}(PAID){% else %}(O/S){% endif %}</span></td>
|
|
<td class="
|
|
{% if object.event.cancelled %}
|
|
active text-muted
|
|
{% elif not object.event.is_rig %}
|
|
info
|
|
{% elif object.event.confirmed and object.event.mic %}
|
|
{# interpreated as (booked and mic) #}
|
|
success
|
|
{% elif object.event.mic %}
|
|
warning
|
|
{% else %}
|
|
danger
|
|
{% endif %}
|
|
"><a href="{% url 'event_detail' object.event.pk %}">N{{ object.event.pk|stringformat:"05d" }}</a>: {{ object.event.name }} <br>
|
|
<span class="text-muted">{{ object.event.get_status_display }}{% if not object.event.mic %}, No MIC{% endif %}
|
|
</span></td>
|
|
</td>
|
|
<td>{% if object.event.organisation %}
|
|
{{ object.event.organisation.name }}
|
|
<br>
|
|
<span class="text-muted">{{ object.event.internal|yesno:'Internal,External' }}</span>
|
|
{% else %}
|
|
{{ object.event.person.name }}
|
|
<br>
|
|
<span class="text-muted">External</span>
|
|
{% endif %}
|
|
</td>
|
|
<td>{{ object.event.start_date }}</td>
|
|
<td>{{ object.invoice_date }}</td>
|
|
<td>
|
|
{{ object.balance|floatformat:2 }}
|
|
<br />
|
|
<span class="text-muted">{{ object.event.purchase_order }}</span>
|
|
</td>
|
|
<td class="text-right">
|
|
<a href="{% url 'invoice_detail' object.pk %}" class="btn btn-default">
|
|
<span class="glyphicon glyphicon-pencil"></span>
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% if is_paginated %}
|
|
<div class="col-md-6 col-md-offset-6 col-sm-12 text-right">
|
|
{% paginator %}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|