This commit is contained in:
2020-08-29 17:31:41 +01:00
parent d708207ab9
commit 1feb9449ed
9 changed files with 27 additions and 14 deletions

View File

@@ -22,13 +22,13 @@ for app in apps.get_app_configs():
if appname == 'RIGS':
appname = 'rigboard'
urlpatterns += [path(appname + '/activity/', permission_required_with_403('RIGS.view_event')(views.ActivityTable.as_view()),
name='activity_table', kwargs={'app': appname, 'models': views.get_models(app.label)}),]
name='activity_table', kwargs={'app': appname, 'models': views.get_models(app.label)}), ]
else:
urlpatterns += [path(appname + '/activity/', permission_required_with_403('RIGS.view_event')(views.ActivityTable.as_view()),
name=appname + '_activity_table', kwargs={'app': appname, 'models': views.get_models(app.label)}),]
name=appname + '_activity_table', kwargs={'app': appname, 'models': views.get_models(app.label)}), ]
for model in views.get_models(app.label):
modelname = model.__name__.lower()
urlpatterns += [
path(appname + '/' + modelname + '/<str:pk>/history/', permission_required_with_403('{}.change_{}'.format(app.label, modelname))(views.VersionHistory.as_view()),
name='{}_history'.format(modelname), kwargs={'model': model, 'app': appname,}),
name='{}_history'.format(modelname), kwargs={'model': model, 'app': appname, }),
]

View File

@@ -127,7 +127,7 @@ class ModelComparison(object):
comparisonParams = {'excluded_keys': ['id', 'event', 'order']}
# Build some dicts of what we have
# build a list of items, key is the item_pk
# build a list of items, key is the item_pk
for version in old_item_versions: # put all the old versions in a list
if version.field_dict["event_id"] == int(self.new.pk):
compare = ModelComparison(old=version._object_version.object, **comparisonParams)

View File

@@ -18,6 +18,7 @@ from versioning.versioning import RIGSVersion
from django.views.decorators.cache import never_cache
from django.utils.decorators import method_decorator
class VersionHistory(generic.ListView):
model = RIGSVersion
template_name = "version_history.html"
@@ -29,7 +30,7 @@ class VersionHistory(generic.ListView):
"-revision__date_created")
def get_object(self, **kwargs):
#Goddamit, almost got away without specific hacks
# Goddamit, almost got away without specific hacks
if self.kwargs['model'].__name__ == 'Asset':
return get_object_or_404(self.kwargs['model'], asset_id=self.kwargs['pk'])
else:
@@ -43,12 +44,14 @@ class VersionHistory(generic.ListView):
return context
def get_models(app=None):
models = filter(lambda item: not hasattr(item, 'reversion_hide'),reversion.get_registered_models())
if app != None:
models = filter(lambda item: item in apps.get_app_config(app).get_models(),models)
models = filter(lambda item: not hasattr(item, 'reversion_hide'), reversion.get_registered_models())
if app is not None:
models = filter(lambda item: item in apps.get_app_config(app).get_models(), models)
return models
class ActivityTable(generic.ListView):
model = RIGSVersion
template_name = "activity_table.html"
@@ -67,7 +70,9 @@ class ActivityTable(generic.ListView):
return context
# Appears on homepage
@method_decorator(never_cache, name='dispatch') # Disable browser based caching
@method_decorator(never_cache, name='dispatch') # Disable browser based caching
class ActivityFeed(generic.ListView):
model = RIGSVersion
template_name = "activity_feed_data.html"