mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-01-30 03:42:15 +00:00
Draft "upcoming subhire" view
This commit is contained in:
@@ -600,11 +600,25 @@ class EventAuthorisation(models.Model, RevisionMixin):
|
|||||||
return f"{self.event.display_id} (requested by {self.sent_by.initials})"
|
return f"{self.event.display_id} (requested by {self.sent_by.initials})"
|
||||||
|
|
||||||
|
|
||||||
|
class SubhireManager(models.Manager):
|
||||||
|
def current_events(self):
|
||||||
|
events = self.filter(
|
||||||
|
(models.Q(start_date__gte=timezone.now(), end_date__isnull=True) & ~models.Q(
|
||||||
|
status=Event.CANCELLED)) | # Starts after with no end
|
||||||
|
(models.Q(end_date__gte=timezone.now().date()) & ~models.Q(
|
||||||
|
status=Event.CANCELLED)) # Ends after
|
||||||
|
).order_by('start_date', 'end_date', 'start_time', 'end_time').select_related('person', 'organisation')
|
||||||
|
|
||||||
|
return events
|
||||||
|
|
||||||
|
|
||||||
@reversion.register
|
@reversion.register
|
||||||
class Subhire(BaseEvent):
|
class Subhire(BaseEvent):
|
||||||
insurance_value = models.DecimalField(max_digits=10, decimal_places=2) # TODO Validate if this is over notifiable threshold
|
insurance_value = models.DecimalField(max_digits=10, decimal_places=2) # TODO Validate if this is over notifiable threshold
|
||||||
events = models.ManyToManyField(Event)
|
events = models.ManyToManyField(Event)
|
||||||
|
|
||||||
|
objects = SubhireManager()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def display_id(self):
|
def display_id(self):
|
||||||
return f"S{self.pk:05d}"
|
return f"S{self.pk:05d}"
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ urlpatterns = [
|
|||||||
name='subhire_create'),
|
name='subhire_create'),
|
||||||
path('subhire/<int:pk>/edit', views.SubhireEdit.as_view(),
|
path('subhire/<int:pk>/edit', views.SubhireEdit.as_view(),
|
||||||
name='subhire_update'),
|
name='subhire_update'),
|
||||||
|
path('subhire/upcoming', views.SubhireList.as_view(),
|
||||||
|
name='subhire_list'),
|
||||||
|
|
||||||
|
|
||||||
# Event H&S
|
# Event H&S
|
||||||
|
|||||||
@@ -46,3 +46,13 @@ class SubhireEdit(generic.UpdateView):
|
|||||||
|
|
||||||
def get_success_url(self):
|
def get_success_url(self):
|
||||||
return reverse_lazy('subhire_detail', kwargs={'pk': self.object.pk})
|
return reverse_lazy('subhire_detail', kwargs={'pk': self.object.pk})
|
||||||
|
|
||||||
|
|
||||||
|
class SubhireList(generic.TemplateView):
|
||||||
|
template_name = 'rigboard.html'
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
context = super().get_context_data(**kwargs)
|
||||||
|
context['events'] = models.Subhire.objects.current_events()
|
||||||
|
context['page_title'] = "Upcoming Subhire"
|
||||||
|
return context
|
||||||
|
|||||||
Reference in New Issue
Block a user