zoo_data: permettre à une application d'étendre les URLs d'admin des entités (#21198)

This commit is contained in:
Benjamin Dauvergne 2018-01-19 15:20:27 +01:00
parent 4cf9a23f5d
commit 9f3e424562
1 changed files with 10 additions and 0 deletions

View File

@ -16,6 +16,7 @@
from django.contrib import admin
from django.forms import ModelForm
from django.apps import apps
from rangefilter.filter import DateTimeRangeFilter
@ -114,6 +115,15 @@ class EntityAdmin(DataAdmin):
actions.update(app_config.get_entity_actions())
return actions
def get_urls(self):
urls = super(EntityAdmin, self).get_urls()
cls_name = self.__class__.__name__.lower()
for app in apps.get_app_configs():
name = 'get_%s_urls' % cls_name
if hasattr(app, name):
urls = getattr(app, name)(self) + urls
return urls
class RelationAdmin(DataAdmin):
raw_id_fields = DataAdmin.raw_id_fields + ['left', 'right']