|
@@ -28,7 +28,24 @@ class ParentConfigurationAdmin(PolymorphicParentModelAdmin):
|
|
|
"""
|
|
|
return (tuple((x.base_model, x) for x in PolymorphicChildModelAdmin.__subclasses__()))
|
|
|
|
|
|
+ def get_urls(self):
|
|
|
+ """
|
|
|
+ Fix a django-polymorphic bug that randomly set wrong url for a child
|
|
|
+ model in admin.
|
|
|
+ This remove somes dummy urls that have not to be returned by the parent model
|
|
|
+ https://github.com/chrisglass/django_polymorphic/issues/105
|
|
|
+ """
|
|
|
+ urls = super(ParentConfigurationAdmin, self).get_urls()
|
|
|
+ for model, _ in self.get_child_models():
|
|
|
+ admin = self._get_real_admin_by_model(model)
|
|
|
+ for admin_url in admin.get_urls():
|
|
|
+ for url in urls:
|
|
|
+ if url.name == admin_url.name:
|
|
|
+ urls.remove(url)
|
|
|
+ return urls
|
|
|
+
|
|
|
+
|
|
|
class ConfigurationAdminFormMixin(object):
|
|
|
- form = ConfigurationForm
|
|
|
+ base_form = ConfigurationForm
|
|
|
|
|
|
admin.site.register(Configuration, ParentConfigurationAdmin)
|