diff --git a/RIGS/migrations/0004_organisation.py b/RIGS/migrations/0004_organisation.py index 06e29955..2e83e2ad 100644 --- a/RIGS/migrations/0004_organisation.py +++ b/RIGS/migrations/0004_organisation.py @@ -3,6 +3,7 @@ from django.db import models, migrations import RIGS.models +import versioning class Migration(migrations.Migration): @@ -25,6 +26,6 @@ class Migration(migrations.Migration): ], options={ }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), ] diff --git a/RIGS/migrations/0007_vatrate.py b/RIGS/migrations/0007_vatrate.py index 02aa1625..7bec73b4 100644 --- a/RIGS/migrations/0007_vatrate.py +++ b/RIGS/migrations/0007_vatrate.py @@ -3,6 +3,7 @@ from django.db import models, migrations import RIGS.models +import versioning class Migration(migrations.Migration): @@ -21,6 +22,6 @@ class Migration(migrations.Migration): ], options={ }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), ] diff --git a/RIGS/migrations/0008_auto_20141105_1908.py b/RIGS/migrations/0008_auto_20141105_1908.py index 141e9570..75bd7fa9 100644 --- a/RIGS/migrations/0008_auto_20141105_1908.py +++ b/RIGS/migrations/0008_auto_20141105_1908.py @@ -4,6 +4,7 @@ from django.db import models, migrations from django.conf import settings import RIGS.models +import versioning class Migration(migrations.Migration): @@ -41,7 +42,7 @@ class Migration(migrations.Migration): ], options={ }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.CreateModel( name='EventItem', @@ -70,7 +71,7 @@ class Migration(migrations.Migration): ], options={ }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.AddField( model_name='event', diff --git a/RIGS/migrations/0039_auto_20210123_1910.py b/RIGS/migrations/0039_auto_20210123_1910.py index 0b995e30..5ec10b70 100644 --- a/RIGS/migrations/0039_auto_20210123_1910.py +++ b/RIGS/migrations/0039_auto_20210123_1910.py @@ -4,6 +4,7 @@ import RIGS.models from django.conf import settings from django.db import migrations, models import django.db.models.deletion +import versioning class Migration(migrations.Migration): @@ -58,7 +59,7 @@ class Migration(migrations.Migration): 'ordering': ['event'], 'permissions': [('review_eventchecklist', 'Can review Event Checklists')], }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.CreateModel( name='EventChecklistCrew', @@ -69,7 +70,7 @@ class Migration(migrations.Migration): ('end', models.DateTimeField()), ('checklist', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='crew', to='RIGS.eventchecklist')), ], - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.CreateModel( name='EventChecklistVehicle', @@ -78,7 +79,7 @@ class Migration(migrations.Migration): ('vehicle', models.CharField(max_length=255)), ('checklist', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='vehicles', to='RIGS.eventchecklist')), ], - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.CreateModel( name='RiskAssessment', @@ -117,7 +118,7 @@ class Migration(migrations.Migration): 'ordering': ['event'], 'permissions': [('review_riskassessment', 'Can review Risk Assessments')], }, - bases=(models.Model, RIGS.models.RevisionMixin), + bases=(models.Model, versioning.versioning.RevisionMixin), ), migrations.RemoveField( model_name='eventcrew', diff --git a/RIGS/models.py b/RIGS/models.py index c45a9134..7c49a386 100644 --- a/RIGS/models.py +++ b/RIGS/models.py @@ -17,6 +17,7 @@ from django.utils import timezone from django.utils.functional import cached_property from reversion import revisions as reversion from reversion.models import Version +from versioning.versioning import RevisionMixin class Profile(AbstractUser): @@ -65,41 +66,6 @@ class Profile(AbstractUser): def __str__(self): return self.name -# TODO move to versioning - currently get import errors with that - - -class RevisionMixin(object): - @property - def is_first_version(self): - versions = Version.objects.get_for_object(self) - return len(versions) == 1 - - @property - def current_version(self): - version = Version.objects.get_for_object(self).select_related('revision').first() - return version - - @property - def last_edited_at(self): - version = self.current_version - if version is None: - return None - return version.revision.date_created - - @property - def last_edited_by(self): - version = self.current_version - if version is None: - return None - return version.revision.user - - @property - def current_version_id(self): - version = self.current_version - if version is None: - return None - return "V{0} | R{1}".format(version.pk, version.revision.pk) - class Person(models.Model, RevisionMixin): name = models.CharField(max_length=50) diff --git a/assets/forms.py b/assets/forms.py index d571f158..d870ab2d 100644 --- a/assets/forms.py +++ b/assets/forms.py @@ -33,6 +33,7 @@ class AssetSearchForm(forms.Form): category = forms.ModelMultipleChoiceField(models.AssetCategory.objects.all(), required=False) status = forms.ModelMultipleChoiceField(models.AssetStatus.objects.all(), required=False) is_cable = forms.BooleanField(required=False) + date_acquired = forms.DateField(required=False) class SupplierForm(forms.ModelForm): diff --git a/assets/models.py b/assets/models.py index 37af4687..1c4d07d6 100644 --- a/assets/models.py +++ b/assets/models.py @@ -6,7 +6,8 @@ from django.urls import reverse from reversion import revisions as reversion from reversion.models import Version -from RIGS.models import RevisionMixin, Profile +from RIGS.models import Profile +from versioning.versioning import RevisionMixin class AssetCategory(models.Model): diff --git a/assets/templates/asset_list.html b/assets/templates/asset_list.html index d335fad7..5ddae31c 100644 --- a/assets/templates/asset_list.html +++ b/assets/templates/asset_list.html @@ -61,25 +61,45 @@ {% block content %}