diff --git a/RIGS/finance.py b/RIGS/finance.py index 2ae0fc47..73552f2e 100644 --- a/RIGS/finance.py +++ b/RIGS/finance.py @@ -55,6 +55,7 @@ class InvoicePrint(generic.View): } }, 'invoice':invoice, + 'current_user':request.user, }) rml = template.render(context) diff --git a/RIGS/forms.py b/RIGS/forms.py index 617eb1bc..7c18d0d2 100644 --- a/RIGS/forms.py +++ b/RIGS/forms.py @@ -12,16 +12,11 @@ from RIGS import models #Registration class ProfileRegistrationFormUniqueEmail(RegistrationFormUniqueEmail): - username = forms.CharField(required=True, max_length=30) - first_name = forms.CharField(required=False, max_length=50) - last_name = forms.CharField(required=False, max_length=50) - initials = forms.CharField(required=True, max_length=5) - phone = forms.CharField(required=False, max_length=13) captcha = ReCaptchaField() class Meta: model = models.Profile - fields = ('username','first_name','last_name','initials','phone') + fields = ('username','email','first_name','last_name','initials','phone') def clean_initials(self): """ diff --git a/RIGS/ical.py b/RIGS/ical.py index 8ae94342..47ee669e 100644 --- a/RIGS/ical.py +++ b/RIGS/ical.py @@ -97,6 +97,9 @@ class CalendarICS(ICalFeed): return item.earliest_time def item_end_datetime(self, item): + if type(item.latest_time) is datetime.date: # Ical end_datetime is non-inclusive, so add a day + return item.latest_time + datetime.timedelta(days=1) + return item.latest_time def item_location(self,item): diff --git a/RIGS/models.py b/RIGS/models.py index 49963a6f..636c7dca 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -71,6 +71,15 @@ class RevisionMixin(object): else: return None + @property + def current_version_id(self): + versions = reversion.get_for_object(self) + if versions: + version = reversion.get_for_object(self)[0] + return "V{0} | R{1}".format(version.pk,version.revision.pk) + else: + return None + @reversion.register @python_2_unicode_compatible class Person(models.Model, RevisionMixin): diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index f62ed2da..42a79b3b 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -122,7 +122,8 @@ class EventPrint(generic.View): 'bold': 'RIGS/static/fonts/OPENSANS-BOLD.TTF', } }, - 'copy':copy + 'copy':copy, + 'current_user':request.user, }) # context['copy'] = copy # this is the way to do it once we upgrade to Django 1.8.3 diff --git a/RIGS/templates/RIGS/calendar.html b/RIGS/templates/RIGS/calendar.html index 0ac85749..23a0b1b8 100644 --- a/RIGS/templates/RIGS/calendar.html +++ b/RIGS/templates/RIGS/calendar.html @@ -56,11 +56,14 @@ 'non-rig': '#5bc0de' }; $(doc).each(function() { - + end = $(this).attr('latest') + if(end.indexOf("T") < 0){ //If latest does not contain a time + end = moment(end).add(1, 'days') //End date is non-inclusive, so add a day + } thisEvent = { 'start': $(this).attr('earliest'), - 'end': $(this).attr('latest'), + 'end': end, 'className': 'modal-href', 'title': $(this).attr('title'), 'url': $(this).attr('url') diff --git a/RIGS/templates/RIGS/event_form.html b/RIGS/templates/RIGS/event_form.html index 7da39132..b0b94e14 100644 --- a/RIGS/templates/RIGS/event_form.html +++ b/RIGS/templates/RIGS/event_form.html @@ -19,6 +19,7 @@ + @@ -110,6 +111,9 @@ $(document).ready(function () { setupItemTable($("#{{ form.items_json.id_for_label }}").val()); }); + $(function () { + $('[data-toggle="tooltip"]').tooltip(); + }) {% endblock %} @@ -162,7 +166,7 @@
Contact Details
-
+
@@ -189,14 +193,14 @@
-
+
- {% if organisation %} {% endif %} @@ -221,7 +225,7 @@
Event Description
-
+
@@ -240,7 +244,7 @@
Event Details
-
+
@@ -248,7 +252,7 @@ {% render_field form.name class+="form-control" %}
-
+
@@ -281,10 +285,10 @@
-
+
{% render_field form.start_date type="date" class+="form-control" %}
-
+
{% render_field form.start_time type="time" class+="form-control" %}
@@ -296,10 +300,10 @@
-
+
{% render_field form.end_date type="date" class+="form-control" %}
-
+
{% render_field form.end_time type="time" class+="form-control" %}
@@ -317,7 +321,7 @@ {# Rig only information #}
-
+
@@ -325,7 +329,7 @@ {% render_field form.access_at type="datetime-local" class+="form-control" %}
-
+
@@ -336,7 +340,7 @@
-
@@ -345,7 +349,7 @@
{# Status is needed on all events types and it looks good here in the form #} -
+
@@ -355,7 +359,7 @@
-
+
@@ -369,7 +373,7 @@
{% if object.dry_hire %} -
+
@@ -383,7 +387,7 @@
{% endif %} -
+
@@ -391,7 +395,7 @@ {% render_field form.collector class+="form-control" %}
-
+
@@ -419,7 +423,7 @@
-
+
{% render_field form.notes class+="form-control" %}
diff --git a/RIGS/templates/RIGS/event_print.xml b/RIGS/templates/RIGS/event_print.xml index 152886e0..6d693117 100644 --- a/RIGS/templates/RIGS/event_print.xml +++ b/RIGS/templates/RIGS/event_print.xml @@ -102,6 +102,8 @@ {% if not invoice %}[{{ copy }} Copy]{% endif %} [Page of ] + + [Paperwork generated by {{current_user.name}} | {% now "d/m/Y H:i" %} | {{object.current_version_id}}] @@ -115,6 +117,8 @@ {% if not invoice %}[{{ copy }} Copy]{% endif %} [Page of ] + + [Paperwork generated by {{current_user.name}} | {% now "d/m/Y H:i" %} | {{object.current_version_id}}] diff --git a/RIGS/test_functional.py b/RIGS/test_functional.py index cd216096..9cf38f2f 100644 --- a/RIGS/test_functional.py +++ b/RIGS/test_functional.py @@ -134,6 +134,15 @@ class UserRegistrationTest(LiveServerTestCase): udd = self.browser.find_element_by_class_name('navbar').text self.assertIn('Hi John', udd) + # Check all the data actually got saved + profileObject = models.Profile.objects.all()[0] + self.assertEqual(profileObject.username, 'TestUsername') + self.assertEqual(profileObject.first_name, 'John') + self.assertEqual(profileObject.last_name, 'Smith') + self.assertEqual(profileObject.initials, 'JS') + self.assertEqual(profileObject.phone, '0123456789') + self.assertEqual(profileObject.email, 'test@example.com') + # All is well