Properly handle eventauthorisations in new versioning

It's not great, not terrible...
This commit is contained in:
2020-10-07 16:45:46 +01:00
parent abf3cfe1ce
commit ae13cabe09
9 changed files with 55 additions and 38 deletions

View File

@@ -20,7 +20,6 @@ admin.site.register(models.VatRate, VersionAdmin)
admin.site.register(models.Event, VersionAdmin)
admin.site.register(models.EventItem, VersionAdmin)
admin.site.register(models.Invoice, VersionAdmin)
admin.site.register(models.Payment, VersionAdmin)
def approve_user(modeladmin, request, queryset):

View File

@@ -219,7 +219,7 @@ class Command(BaseCommand):
financeUser = models.Profile.objects.create(username="finance", first_name="Finance", last_name="User",
initials="FU",
email="financeuser@example.com", is_active=True)
email="financeuser@example.com", is_active=True, is_approved=True)
financeUser.groups.add(self.finance_group)
financeUser.groups.add(self.keyholder_group)
financeUser.set_password('finance')
@@ -227,7 +227,7 @@ class Command(BaseCommand):
hsUser = models.Profile.objects.create(username="hs", first_name="HS", last_name="User",
initials="HSU",
email="hsuser@example.com", is_active=True)
email="hsuser@example.com", is_active=True, is_approved=True)
hsUser.groups.add(self.hs_group)
hsUser.groups.add(self.keyholder_group)
hsUser.set_password('hs')
@@ -235,13 +235,13 @@ class Command(BaseCommand):
keyholderUser = models.Profile.objects.create(username="keyholder", first_name="Keyholder", last_name="User",
initials="KU",
email="keyholderuser@example.com", is_active=True)
email="keyholderuser@example.com", is_active=True, is_approved=True)
keyholderUser.groups.add(self.keyholder_group)
keyholderUser.set_password('keyholder')
keyholderUser.save()
basicUser = models.Profile.objects.create(username="basic", first_name="Basic", last_name="User", initials="BU",
email="basicuser@example.com", is_active=True)
email="basicuser@example.com", is_active=True, is_approved=True)
basicUser.set_password('basic')
basicUser.save()

View File

@@ -518,6 +518,10 @@ class EventItem(models.Model, RevisionMixin):
def __str__(self):
return str(self.event.pk) + "." + str(self.order) + ": " + self.event.name + " | " + self.name
@property
def activity_feed_string(self):
return str("item {}".format(self.name))
@reversion.register
class EventAuthorisation(models.Model, RevisionMixin):
@@ -529,12 +533,14 @@ class EventAuthorisation(models.Model, RevisionMixin):
amount = models.DecimalField(max_digits=10, decimal_places=2, verbose_name="authorisation amount")
sent_by = models.ForeignKey('Profile', on_delete=models.CASCADE)
#reversion_perm = 'RIGS.view_eventauthorisation'
def get_absolute_url(self):
return reverse_lazy('event_detail', kwargs={'pk': self.event.pk})
@property
def activity_feed_string(self):
return str("N%05d" % self.event.pk + ' (requested by ' + self.sent_by.initials + ')')
return "{} (requested by {})".format(self.event.display_id, self.sent_by.initials)
@reversion.register(follow=['payment_set'])
@@ -607,6 +613,10 @@ class Payment(models.Model, RevisionMixin):
def __str__(self):
return "%s: %d" % (self.get_method_display(), self.amount)
@property
def activity_feed_string(self):
return str("payment at £{}".format(self.amount))
@reversion.register
class RiskAssessment(models.Model, RevisionMixin):

View File

@@ -36,7 +36,7 @@
<div class="row mb-3">
<div class="col-sm-12">
<div class="card">
{% with object=event %}
{% with object=event auth=True %}
{% include 'item_table.html' %}
{% endwith %}
</div>

View File

@@ -3,6 +3,9 @@
<div class="modal-content">
<div class="modal-header">
<h4>{{ object.name|default:"New Event" }}</h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<form id="item-form">
<div class="modal-body">

View File

@@ -26,7 +26,7 @@
{% include 'item_row.html' %}
{% endfor %}
</tbody>
{% if perms.RIGS.view_event %}
{% if auth or perms.RIGS.view_event %}
<tfoot>
<tr>
<td rowspan="3" colspan="2"></td>