From e45324f5b4d52f4ec9ef929a6d92daa9df5a3a5c Mon Sep 17 00:00:00 2001 From: Arona Date: Sat, 30 May 2020 14:00:26 +0100 Subject: [PATCH] Refactor activity feed template logic Yay for removing arbitrary if/else chains! --- RIGS/models.py | 6 +- assets/models.py | 12 +-- versioning/templates/activity_feed_data.html | 76 +++++++++---------- versioning/templates/object_button.html | 10 --- .../templates/partials/object_button.html | 3 + 5 files changed, 48 insertions(+), 59 deletions(-) delete mode 100644 versioning/templates/object_button.html create mode 100644 versioning/templates/partials/object_button.html diff --git a/RIGS/models.py b/RIGS/models.py index 824cb341..3fb482df 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -609,5 +609,9 @@ class RiskAssessment(models.Model): # Blimey that was a lot of options + @property + def activity_feed_string(self): + return str(self.event) + def __str__(self): - return "%i: %s" % (self.pk, self.event) + return "%i - %s" % (self.pk, self.event) diff --git a/assets/models.py b/assets/models.py index 0d552791..a13a71d4 100644 --- a/assets/models.py +++ b/assets/models.py @@ -176,18 +176,14 @@ class Asset(models.Model, RevisionMixin): errdict["csa"] = ["The CSA of a cable must be more than 0"] if not self.cable_type: errdict["cable_type"] = ["A cable must have a type"] - # if not self.circuits or self.circuits <= 0: - # errdict["circuits"] = ["There must be at least one circuit in a cable"] - # if not self.cores or self.cores <= 0: - # errdict["cores"] = ["There must be at least one core in a cable"] - # if self.socket is None: - # errdict["socket"] = ["A cable must have a socket"] - # if self.plug is None: - # errdict["plug"] = ["A cable must have a plug"] if errdict != {}: # If there was an error when validation raise ValidationError(errdict) + @property + def activity_feed_string(self): + return str(self) + @receiver(pre_save, sender=Asset) def pre_save_asset(sender, instance, **kwargs): diff --git a/versioning/templates/activity_feed_data.html b/versioning/templates/activity_feed_data.html index 4ef9f8a0..6f7e0fad 100644 --- a/versioning/templates/activity_feed_data.html +++ b/versioning/templates/activity_feed_data.html @@ -6,48 +6,44 @@ {% load to_class_name from filters %} {% block content %} -
-
- {% for version in object_list %} - {% if not version.withPrevious %} - {% if not forloop.first %} -
{#/.media-body#} -
{#/.media#} - -
-
- {% endif %} -
- {% if version.revision.user %} - - - - {% endif %} -
-
-
- {{ version.revision.user.name }} - {{version.revision.date_created|naturaltime}} -
+
+
+ {% for version in object_list %} + {% if not version.withPrevious %} + {% if not forloop.first %} +
{#/.media-body#} +
{#/.media#} +
+
+
{% endif %} -

- - {% if version.changes.old == None %} - Created - {% else %} - Changed {% include 'version_changes.html' %} in - {% endif %} +

+ {% if version.revision.user %} + + + + {% endif %} +
+
+
+ {{ version.revision.user.name }} + {{version.revision.date_created|naturaltime}} +
+ {% endif %} +

+ + {% if version.changes.old == None %} + Created + {% else %} + Changed {% include 'version_changes.html' %} in + {% endif %} - {% include 'object_button.html' with object=version.changes.new %} - {% if version.revision.comment %} - ({{ version.revision.comment }}) - {% endif %} - -

+ {% include 'partials/object_button.html' with object=version.changes.new %} +
+

- {% endfor %} -
-
+ {% endfor %}
- +
+
{% endblock %} diff --git a/versioning/templates/object_button.html b/versioning/templates/object_button.html deleted file mode 100644 index b62f68f0..00000000 --- a/versioning/templates/object_button.html +++ /dev/null @@ -1,10 +0,0 @@ -{% load to_class_name from filters %} -{# pass in variable "object" to this template #} - -{% if object.name %} - {% if object.is_rig == False %}Non-rig{% elif object.dry_hire %}Dry Hire{% elif object.is_rig %}Rig{%else%}{{object|to_class_name}}{% endif %} | '{{ object.activity_feed_string|default:object.name }}' -{% elif object.asset_id %} - Asset | {{object.asset_id }} {{object.description }} -{% elif object.event %} - {{object|to_class_name}} | {{object.event.name }} -{% endif %} diff --git a/versioning/templates/partials/object_button.html b/versioning/templates/partials/object_button.html new file mode 100644 index 00000000..6f8ac8c6 --- /dev/null +++ b/versioning/templates/partials/object_button.html @@ -0,0 +1,3 @@ +{% load to_class_name from filters %} +{# pass in variable "object" to this template #} +{% if object.is_rig == False %}Non-rig{% elif object.dry_hire %}Dry Hire{% elif object.is_rig %}Rig{%else%}{{object|to_class_name}}{% endif %} | '{% if object.activity_feed_string %}{{object.activity_feed_string}}{% else %}{{object.name}}{%endif%}'