mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-19 14:32:16 +00:00
* CHANGE: First pass at opening up RIGS #233 Whilst it makes it something of a misnomer, the intent is to make the 'view_event' perm a permission to view event details like client/price. I don't see the point in giving everyone 'view_event' and adding a new 'view_event_detail'...Open to arguments the other way. * CHANGE: New user signups now require admin approval Given that I intend to reveal much more data to new users this seems necessary... * CHORE: Fix CI * FIX: Legacy Profiles are now auto-approved correctly * Add testing of approval mechanism This fixes the other functional tests failing because the user cannot login without being approved. * Superusers bypass approval check This should fix the remainder of the tests * Prevent unapproved users logging in through embeds Test suite doing its job...! * FIX: Require login on events and event embeds again Little too far to the open side there Arona... Whooooooops! * FIX: Use has_oembed decorator for events * FIX: Re-prevent basic seeing reversion This is to prevent financials/client data leaking when changed. Hopefully can show them a filtered version in future. * FIX: Remove mitigation for #264 Someone quietly fixed it, it appears * FEAT: Add admin email notif when an account is activated and awaiting approval No async or time-since shenanigans yet! * FIX: Whoops, undo accidental whitespace change * FEAT: Add a fifteen min cooldown between emails to admins Probably not the right way to go about it...but it does work! TODO: How to handle cooldown-emailing shared mailbox addresses? * FIX: Remove event modal history deadlink for basic users Also removes some links on the RIGS homepage that will deadlink for them * FIX: Wrong perms syntax for history pages * CHORE: Squash migrations * FIX: Use a setting for cooldown * FIX: Minor code improvements
78 lines
2.5 KiB
HTML
78 lines
2.5 KiB
HTML
<div class="panel table-responsive">
|
|
<table class="table table-hover" id="item-table" {% if edit %}data-orderurl="{#% url 'item_order' %#}"{% endif %}>
|
|
<thead>
|
|
<tr>
|
|
<td>Item</td>
|
|
{% if perms.RIGS.view_event %}
|
|
<td>Price</td>
|
|
{% endif %}
|
|
<td>Quantity</td>
|
|
{% if perms.RIGS.view_event %}
|
|
<td>Sub-total</td>
|
|
{% endif %}
|
|
{% if edit %}
|
|
<td class="text-right">
|
|
<button type="button" class="btn btn-default btn-xs item-add"
|
|
data-url="{#% url eventitem_add object.pk %#}" data-toggle="modal"
|
|
data-target="#itemModal">
|
|
<span class="glyphicon glyphicon-plus"></span>
|
|
</button>
|
|
</td>
|
|
{% endif %}
|
|
</tr>
|
|
</thead>
|
|
<tbody id="item-table-body">
|
|
{% for item in object.items.all %}
|
|
{% include 'RIGS/item_row.html' %}
|
|
{% endfor %}
|
|
</tbody>
|
|
{% if perms.RIGS.view_event %}
|
|
<tfoot>
|
|
<tr>
|
|
<td rowspan="3" colspan="2"></td>
|
|
<td>Total (ex. VAT)</td>
|
|
<td colspan="2">£ <span id="sumtotal">{{object.sum_total|default:0|floatformat:2}}</span></td>
|
|
</tr>
|
|
<tr>
|
|
{% if not object.pk %}
|
|
<td id="vat-rate" data-rate="{{currentVAT.rate}}">VAT @
|
|
{{currentVAT.as_percent|floatformat}}% (TBC)</td>
|
|
{% else %}
|
|
<td id="vat-rate" data-rate="{{object.vat_rate.rate}}">VAT @
|
|
{{object.vat_rate.as_percent|floatformat|default:"TBD"}}%</td>
|
|
{% endif %}
|
|
<td colspan="2">£ <span id="vat">{{object.vat|default:0|floatformat:2}}</span></td>
|
|
</tr>
|
|
<tr>
|
|
<td>Total</td>
|
|
<td colspan="2">£ <span id="total">{{object.total|default:0|floatformat:2}}</span></td>
|
|
</tr>
|
|
</tfoot>
|
|
{% endif %}
|
|
</table>
|
|
</div>
|
|
<table class="hidden invisible">
|
|
<tr id="new-item-row" class="item_row">
|
|
<td>
|
|
<span class="name"></span>
|
|
<div class="item-description">
|
|
<em class="description"></em>
|
|
</div>
|
|
</td>
|
|
<td>£ <span class="cost"></span></td>
|
|
<td class="quantity"></td>
|
|
<td>£ <span class="sub-total"></span></td>
|
|
{% if edit %}
|
|
<td class="vert-align text-right">
|
|
<button type="button" class="item-edit btn btn-xs btn-default"
|
|
data-toggle="modal" data-target="#itemModal">
|
|
<span class="glyphicon glyphicon-edit"></span>
|
|
</button>
|
|
<button type="button" class="item-delete btn btn-xs btn-danger">
|
|
<span class="glyphicon glyphicon-remove"></span>
|
|
</button>
|
|
</td>
|
|
{% endif %}
|
|
</tr>
|
|
</table>
|