Made versioning magic a bit less expansive

We have more apps than I thought...
This commit is contained in:
2021-01-30 19:05:49 +00:00
parent d0f6518803
commit 6dbec5f510

View File

@@ -1,6 +1,8 @@
from django.urls import path from django.urls import path
from django.apps import apps from django.apps import apps
from django.urls import path from django.urls import path
from django.template.loader import get_template
from django.template import TemplateDoesNotExist
from PyRIGS.decorators import (permission_required_with_403) from PyRIGS.decorators import (permission_required_with_403)
from versioning import views from versioning import views
@@ -11,29 +13,32 @@ urlpatterns = [
name='activity_feed'), name='activity_feed'),
] ]
# Well except this specific hack for legacy URLs...if only the RIGS app had been named 'rigboard'! for app in [apps.get_app_config(label) for label in ("RIGS", "assets")]:
for app in apps.get_app_configs():
appname = str(app.label) appname = str(app.label)
if appname == 'RIGS': if appname == 'RIGS':
appname = 'rigboard' appname = 'rigboard'
table_name = 'activity_table' table_name = 'activity_table'
else: else:
table_name = appname + '_activity_table' table_name = appname + '_activity_table'
# TODO Proper Permissions # TODO Proper Permissions
urlpatterns += [path(appname + '/activity/', permission_required_with_403('RIGS.add_event')(views.ActivityTable.as_view()), urlpatterns += [
name=table_name, kwargs={'app': appname, 'models': views.get_models(app.label)}), ] path(appname + '/activity/', permission_required_with_403('RIGS.add_event')(views.ActivityTable.as_view()),
name=table_name, kwargs={'app': appname, 'models': views.get_models(app.label)}), ]
for model in views.get_models(app=app.label): for model in views.get_models(app=app.label):
modelname = model.__name__.lower() modelname = model.__name__.lower()
if appname == 'rigboard': if appname == 'rigboard':
urlpatterns += [ urlpatterns += [
path('{}/<str:pk>/history/'.format(modelname), permission_required_with_403('{}.change_{}'.format(app.label, modelname))(views.VersionHistory.as_view()), path('{}/<str:pk>/history/'.format(modelname),
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, }),
] ]
else: else:
urlpatterns += [ urlpatterns += [
path('{}/{}/<str:pk>/history/'.format(appname, modelname), permission_required_with_403('{}.change_{}'.format(app.label, modelname))(views.VersionHistory.as_view()), path('{}/{}/<str:pk>/history/'.format(appname, modelname),
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, }),
] ]