mirror of
https://github.com/nottinghamtec/PyRIGS.git
synced 2026-04-04 17:51:46 +00:00
Compare commits
4 Commits
2fb8b8c81b
...
0d1beeaead
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d1beeaead | |||
| 51ff06fadd | |||
| 06137ab180 | |||
| e7dd8f4cf9 |
@@ -20,6 +20,7 @@ admin.site.register(models.VatRate, VersionAdmin)
|
|||||||
admin.site.register(models.Event, VersionAdmin)
|
admin.site.register(models.Event, VersionAdmin)
|
||||||
admin.site.register(models.EventItem, VersionAdmin)
|
admin.site.register(models.EventItem, VersionAdmin)
|
||||||
admin.site.register(models.Invoice, VersionAdmin)
|
admin.site.register(models.Invoice, VersionAdmin)
|
||||||
|
admin.site.register(models.EventCheckIn)
|
||||||
|
|
||||||
|
|
||||||
@transaction.atomic() # Copied from django-extensions. GenericForeignKey support removed as unnecessary.
|
@transaction.atomic() # Copied from django-extensions. GenericForeignKey support removed as unnecessary.
|
||||||
|
|||||||
@@ -409,7 +409,15 @@ class Event(models.Model, RevisionMixin):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def hs_done(self):
|
def hs_done(self):
|
||||||
return self.riskassessment is not None and len(self.checklists.all()) > 0
|
return self.riskassessment is not None and self.has_checklist and self.has_power
|
||||||
|
|
||||||
|
@property
|
||||||
|
def has_checklist(self):
|
||||||
|
return self.checklists.exists()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def has_power(self):
|
||||||
|
return self.power_tests.exists()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def has_start_time(self):
|
def has_start_time(self):
|
||||||
@@ -941,3 +949,6 @@ class EventCheckIn(models.Model):
|
|||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('event_detail', kwargs={'pk': self.event.pk})
|
return reverse('event_detail', kwargs={'pk': self.event.pk})
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f"{self.person} on {self.event}"
|
||||||
|
|||||||
@@ -13,22 +13,19 @@
|
|||||||
{% block preload_js %}
|
{% block preload_js %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
<script src="{% static 'js/selects.js' %}"></script>
|
<script src="{% static 'js/selects.js' %}"></script>
|
||||||
|
<script src="{% static 'js/interaction.js' %}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block js %}
|
{% block js %}
|
||||||
{{ block.super }}
|
{{ block.super }}
|
||||||
<script src="{% static 'js/autocompleter.js' %}"></script>
|
<script src="{% static 'js/autocompleter.js' %}"></script>
|
||||||
<script src="{% static 'js/tooltip.js' %}"></script>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
{% include 'form_errors.html' %}
|
{% include 'form_errors.html' %}
|
||||||
{% if edit %}
|
|
||||||
<form role="form" method="POST" action="{% url 'ec_edit' pk=object.pk %}">
|
<form role="form" method="POST" action="{% if edit %}{% url 'ec_edit' pk=object.pk %}{% else %}{% url 'event_ec' pk=event.pk %}{% endif %}">
|
||||||
{% else %}
|
|
||||||
<form role="form" method="POST" action="{% url 'event_ec' pk=event.pk %}">
|
|
||||||
{% endif %}
|
|
||||||
<input type="hidden" name="{{ form.event.name }}" id="{{ form.event.id_for_label }}"
|
<input type="hidden" name="{{ form.event.name }}" id="{{ form.event.id_for_label }}"
|
||||||
value="{{event.pk}}"/>
|
value="{{event.pk}}"/>
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
@@ -59,7 +56,7 @@
|
|||||||
<div class="form-group form-row" id="{{ form.venue.id_for_label }}-group">
|
<div class="form-group form-row" id="{{ form.venue.id_for_label }}-group">
|
||||||
<label for="{{ form.venue.id_for_label }}"
|
<label for="{{ form.venue.id_for_label }}"
|
||||||
class="col-4 col-form-label">{{ form.venue.label }}</label>
|
class="col-4 col-form-label">{{ form.venue.label }}</label>
|
||||||
<select id="{{ form.venue.id_for_label }}" name="{{ form.venue.name }}" class="form-control selectpicker col-8" data-live-search="true" data-sourceurl="{% url 'api_secure' model='venue' %}">
|
<select id="{{ form.venue.id_for_label }}" name="{{ form.venue.name }}" class="selectpicker" data-live-search="true" data-sourceurl="{% url 'api_secure' model='venue' %}">
|
||||||
{% if venue %}
|
{% if venue %}
|
||||||
<option value="{{venue.pk}}" selected="selected">{{ venue.name }}</option>
|
<option value="{{venue.pk}}" selected="selected">{{ venue.name }}</option>
|
||||||
{% elif event.venue %}
|
{% elif event.venue %}
|
||||||
|
|||||||
@@ -15,19 +15,21 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if not event.dry_hire %}
|
{% if not event.dry_hire %}
|
||||||
{% if event.riskassessment %}
|
{% if event.has_checklist %}
|
||||||
<a href="{{ event.riskassessment.get_absolute_url }}"><span class="badge badge-success">RA: <span class="fas fa-check{% if event.riskassessment.reviewed_by %}-double{%endif%}"></span></a>
|
<a href="{{ event.riskassessment.get_absolute_url }}"><span class="badge badge-success">RA: <span class="fas fa-check{% if event.riskassessment.reviewed_by %}-double{%endif%}"></span></a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="badge badge-danger">RA: <span class="fas fa-times"></span></span>
|
<span class="badge badge-danger">RA: <span class="fas fa-times"></span></span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% if event.has_checklist %}
|
||||||
{% if not event.dry_hire %}
|
<span class="badge badge-success">Checklist: <span class="fas fa-check"></span> {% if event.checklists.count > 1 %}({{event.checklists.count}}){% endif %}</span>
|
||||||
{% if event.hs_done %}
|
|
||||||
{# TODO Display status of all checklists #}
|
|
||||||
<span class="badge badge-success">Checklist: <span class="fas fa-check"></span></span>
|
|
||||||
{% else %}
|
{% else %}
|
||||||
<span class="badge badge-danger">Checklist: <span class="fas fa-times"></span></span>
|
<span class="badge badge-danger">Checklist: <span class="fas fa-times"></span></span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if event.has_power %}
|
||||||
|
<span class="badge badge-success">Power Record: <span class="fas fa-check"></span> {% if event.power_tests.count > 1 %}({{event.power_tests.count}}){% endif %}</span>
|
||||||
|
{% else %}
|
||||||
|
<span class="badge badge-danger">Power Record: <span class="fas fa-times"></span></span>
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if perms.RIGS.view_invoice %}
|
{% if perms.RIGS.view_invoice %}
|
||||||
{% if event.invoice %}
|
{% if event.invoice %}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ from reversion import revisions as reversion
|
|||||||
from RIGS import models, forms
|
from RIGS import models, forms
|
||||||
from RIGS.views.rigboard import get_related
|
from RIGS.views.rigboard import get_related
|
||||||
from PyRIGS.views import PrintView, ModalURLMixin
|
from PyRIGS.views import PrintView, ModalURLMixin
|
||||||
|
from django.shortcuts import redirect
|
||||||
|
|
||||||
|
|
||||||
class HSCreateView(generic.CreateView):
|
class HSCreateView(generic.CreateView):
|
||||||
@@ -24,7 +25,7 @@ class HSCreateView(generic.CreateView):
|
|||||||
epk = self.kwargs.get('pk')
|
epk = self.kwargs.get('pk')
|
||||||
event = models.Event.objects.get(pk=epk)
|
event = models.Event.objects.get(pk=epk)
|
||||||
context['event'] = event
|
context['event'] = event
|
||||||
context['page_title'] = f'Create {self} for Event {event.display_id}'
|
context['page_title'] = f'Create {self.model.__name__} for Event {event.display_id}'
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
@@ -280,4 +281,4 @@ class EventCheckOut(generic.RedirectView):
|
|||||||
if checkin:
|
if checkin:
|
||||||
checkin.end_time = timezone.now()
|
checkin.end_time = timezone.now()
|
||||||
checkin.save()
|
checkin.save()
|
||||||
return reverse_lazy('event_detail', kwargs={'pk': checkin.event.pk})
|
return self.request.META.get('HTTP_REFERER', '/')
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ function initPicker(obj) {
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
console.log(obj.data);
|
//console.log(obj.data);
|
||||||
if (!obj.data('noclear')) {
|
if (!obj.data('noclear')) {
|
||||||
obj.prepend($("<option></option>")
|
obj.prepend($("<option></option>")
|
||||||
.attr("value",'')
|
.attr("value",'')
|
||||||
|
|||||||
Reference in New Issue
Block a user