Skip to content

Commit

Permalink
Merge pull request #70 from PreppyLLC-opensource/develop
Browse files Browse the repository at this point in the history
bugfix: get_models return incorrect models in django 1.7+, when use a…
  • Loading branch information
saxix committed Jun 30, 2015
2 parents 0f9072b + e9e4436 commit 1887d7e
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions adminactions/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,27 @@ def get_permission_codename(action, opts):
return '%s_%s' % (action, opts.object_name.lower())


def get_models(sender):
def get_models(app_config):
"""Handles deprecation of django.db.models.loading in Django1.9"""

try:
from django.apps import apps

return [m for m in sender.get_models(sender)]
return [m for m in app_config.get_models()]
except ImportError:
# Default to django.db.models.loading when Django version < 1.7
from django.db.models.loading import get_models

return get_models(sender)
return get_models(app_config)


def create_extra_permission(sender, **kwargs):
from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType

for model in get_models(sender):
app_config = kwargs.get('app_config', sender)

for model in get_models(app_config):
for action in ('adminactions_export', 'adminactions_massupdate', 'adminactions_merge'):
opts = model._meta
codename = get_permission_codename(action, opts)
Expand Down

0 comments on commit 1887d7e

Please sign in to comment.