Skip to content

Commit

Permalink
Support django inlines in 1.4+
Browse files Browse the repository at this point in the history
  • Loading branch information
atkinson committed Apr 11, 2012
1 parent 623ce96 commit 94cf81e
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions eventtools/admin.py
Expand Up @@ -238,32 +238,29 @@ class _EventAdmin(SuperModel):
save_on_top = True
prepopulated_fields = {'slug': ('title', )}

_inlines = [
OccurrenceInline(EventModel.OccurrenceModel()),
GeneratorInline(EventModel.GeneratorModel()),
]

if show_exclusions:
_inlines += [
ExclusionInline(EventModel.ExclusionModel()),
def append_eventtools_inlines(self, inline_instances):
eventtools_inlines = [
OccurrenceInline(EventModel.OccurrenceModel()),
GeneratorInline(EventModel.GeneratorModel()),
]
if show_exclusions:
eventtools_inlines.append(ExclusionInline(EventModel.ExclusionModel()))

for inline_class in eventtools_inlines:
inline_instance = inline_class(self.model, self.admin_site)
inline_instances.append( inline_instance )

# Legacy Django < 1.4
if not DJANGO14:
if hasattr(self, 'inline_instances'):
inline_instances += _inlines
else:
inline_instances = _inlines

# Django 1.4+
def get_inline_instances(self, request):
"""
This overrides the regular ModelAdmin.get_inline_instances(self, request)
"""
# Get any regular Django inlines the user may have defined.
inline_instances = super(_EventAdmin, self).get_inline_instances(request)
for inline_class in self._inlines:
inline_instance = inline_class(self.model, self.admin_site)
inline_instances.append( inline_instance )

# Append our eventtools inlines
self.append_eventtools_inlines(inline_instances)
return inline_instances


def __init__(self, *args, **kwargs):
super(_EventAdmin, self).__init__(*args, **kwargs)
Expand Down

0 comments on commit 94cf81e

Please sign in to comment.