Initial work at coercing activity feed into showing RAs

Also shows Asset/Supplier on the homepage feed.
This commit is contained in:
2020-05-29 15:39:45 +01:00
parent 0e2adf3f0d
commit 156e639bac
5 changed files with 19 additions and 9 deletions

View File

@@ -608,3 +608,6 @@ class RiskAssessment(models.Model):
suspended_structures = models.BooleanField(default=False, help_text="Are any structures (excluding projector screens and IWBs) being suspended from TEC's structures?") suspended_structures = models.BooleanField(default=False, help_text="Are any structures (excluding projector screens and IWBs) being suspended from TEC's structures?")
# Blimey that was a lot of options # Blimey that was a lot of options
def __str__(self):
return "%i: %s" % (self.pk, self.event)

View File

@@ -1,4 +0,0 @@
{% load to_class_name from filters %}
{# pass in variable "object" to this template #}
<a title="{% 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.name}}'" href="{{ object.get_absolute_url }}">{% 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 }}'</a>

View File

@@ -9,7 +9,7 @@
{% endif %} {% endif %}
<!-- TODO show invoice stuff here --> <!-- TODO show invoice stuff here -->
{% if event.risk_assessment_edit_url %} {% if event.riskassessment %}
<span class="badge badge-success">RA: <i class="fas fa-check"></i></span> <span class="badge badge-success">RA: <i class="fas fa-check"></i></span>
{% else %} {% else %}
<span class="badge badge-danger">RA: <i class="fas fa-times"></i></span> <span class="badge badge-danger">RA: <i class="fas fa-times"></i></span>

View File

@@ -0,0 +1,10 @@
{% load to_class_name from filters %}
{# pass in variable "object" to this template #}
{% if object.name %}
<a title="{% 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.name}}'" href="{{ object.get_absolute_url }}">{% 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 }}'</a>
{% elif object.asset_id %}
<a href="{{ object.get_absolute_url }}">Asset | {{object.asset_id }} {{object.description }}</a>
{% elif object.event %}
<a href="{{ object.get_absolute_url }}">{{object|to_class_name}} | {{object.event.name }}</a>
{% endif %}

View File

@@ -10,6 +10,7 @@ from django.utils.functional import cached_property
from django.views import generic from django.views import generic
from reversion.models import Version, VersionQuerySet from reversion.models import Version, VersionQuerySet
from RIGS import models from RIGS import models
from assets import models as asset_models
logger = logging.getLogger('tec.pyrigs') logger = logging.getLogger('tec.pyrigs')
@@ -23,8 +24,6 @@ class FieldComparison(object):
def display_value(self, value): def display_value(self, value):
if isinstance(self.field, IntegerField) and self.field.choices is not None and len(self.field.choices) > 0: if isinstance(self.field, IntegerField) and self.field.choices is not None and len(self.field.choices) > 0:
return [x[1] for x in self.field.choices if x[0] == value][0] return [x[1] for x in self.field.choices if x[0] == value][0]
if self.field.name == "risk_assessment_edit_url":
return "completed" if value else ""
return value return value
@property @property
@@ -159,6 +158,7 @@ class ModelComparison(object):
class RIGSVersionManager(VersionQuerySet): class RIGSVersionManager(VersionQuerySet):
# TODO Rework this so its possible to define from the other apps
def get_for_multiple_models(self, model_array): def get_for_multiple_models(self, model_array):
content_types = [] content_types = []
for model in model_array: for model in model_array:
@@ -225,7 +225,7 @@ class ActivityTable(generic.ListView):
def get_queryset(self): def get_queryset(self):
versions = RIGSVersion.objects.get_for_multiple_models( versions = RIGSVersion.objects.get_for_multiple_models(
[models.Event, models.Venue, models.Person, models.Organisation, models.EventAuthorisation]) [models.Event, models.Venue, models.Person, models.Organisation, models.EventAuthorisation, models.RiskAssessment])
return versions.order_by("-revision__date_created") return versions.order_by("-revision__date_created")
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@@ -235,6 +235,7 @@ class ActivityTable(generic.ListView):
return context return context
# Appears on homepage
class ActivityFeed(generic.ListView): class ActivityFeed(generic.ListView):
model = RIGSVersion model = RIGSVersion
template_name = "activity_feed_data.html" template_name = "activity_feed_data.html"
@@ -242,7 +243,7 @@ class ActivityFeed(generic.ListView):
def get_queryset(self): def get_queryset(self):
versions = RIGSVersion.objects.get_for_multiple_models( versions = RIGSVersion.objects.get_for_multiple_models(
[models.Event, models.Venue, models.Person, models.Organisation, models.EventAuthorisation]) [models.Event, models.Venue, models.Person, models.Organisation, models.EventAuthorisation, models.RiskAssessment, asset_models.Asset, asset_models.Supplier])
return versions.order_by("-revision__date_created") return versions.order_by("-revision__date_created")
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):