Wrapped all calls to model._meta with model_options function. fix #134

This commit is contained in:
Daniel Greenfeld 2013-05-23 20:00:14 +02:00
parent d8409a2070
commit 611b34fd64
3 changed files with 19 additions and 12 deletions

View file

@ -134,13 +134,14 @@ class ModelAdmin2(BaseAdmin2):
def __init__(self, model, admin, **kwargs):
self.model = model
self.admin = admin
self.app_label = model._meta.app_label
self.model_name = model._meta.object_name.lower()
model_options = utils.model_options(model)
self.app_label = model_options.app_label
self.model_name = model_options.object_name.lower()
if self.verbose_name is None:
self.verbose_name = self.model._meta.verbose_name
self.verbose_name = model_options.verbose_name
if self.verbose_name_plural is None:
self.verbose_name_plural = self.model._meta.verbose_name_plural
self.verbose_name_plural = model_options.verbose_name_plural
def get_default_view_kwargs(self):
return {
@ -322,7 +323,7 @@ def create_extra_permissions(app, created_models, verbosity, **kwargs):
ctype = ContentType.objects.get_for_model(klass)
ctypes.add(ctype)
opts = klass._meta
opts = utils.model_options(klass)
perm = ('view_%s' % opts.object_name.lower(), u'Can view %s' % opts.verbose_name_raw)
searched_perms.append((ctype, perm))

View file

@ -8,7 +8,7 @@ from django.forms.models import modelform_factory
from braces.views import AccessMixin
from . import constants
from .utils import admin2_urlname
from .utils import admin2_urlname, model_options
class Admin2Mixin(object):
@ -52,12 +52,14 @@ class AdminModel2Mixin(Admin2Mixin, AccessMixin):
def get_context_data(self, **kwargs):
context = super(AdminModel2Mixin, self).get_context_data(**kwargs)
model = self.get_model()
model_meta = model_options(model)
context.update({
'has_add_permission': self.model_admin.has_add_permission(self.request),
'has_edit_permission': self.model_admin.has_edit_permission(self.request),
'has_delete_permission': self.model_admin.has_delete_permission(self.request),
'model': self.get_model()._meta.verbose_name,
'model_pluralized': self.get_model()._meta.verbose_name_plural
'model': model_meta.verbose_name,
'model_pluralized': model_meta.verbose_name_plural
})
return context

View file

@ -4,6 +4,7 @@ from django.views import generic
import extra_views
from .utils import model_options
from .viewmixins import Admin2Mixin, AdminModel2Mixin, Admin2ModelFormMixin
@ -39,8 +40,9 @@ class ModelListView(Admin2Mixin, generic.ListView):
def get_context_data(self, **kwargs):
context = super(ModelListView, self).get_context_data(**kwargs)
context['model'] = self.get_model()._meta.verbose_name
context['model_pluralized'] = self.get_model()._meta.verbose_name_plural
model_meta = model_options(self.get_model())
context['model'] = model_meta.verbose_name
context['model_pluralized'] = model_meta.verbose_name_plural
context['actions'] = self.get_actions().values()
return context
@ -64,7 +66,8 @@ class ModelEditFormView(AdminModel2Mixin, Admin2ModelFormMixin, extra_views.Upda
def get_context_data(self, **kwargs):
context = super(ModelEditFormView, self).get_context_data(**kwargs)
context['model'] = self.get_model()._meta.verbose_name
model_meta = model_options(self.get_model())
context['model'] = model_meta.verbose_name
context['action'] = "Change"
return context
@ -76,7 +79,8 @@ class ModelAddFormView(AdminModel2Mixin, Admin2ModelFormMixin, extra_views.Creat
def get_context_data(self, **kwargs):
context = super(ModelAddFormView, self).get_context_data(**kwargs)
context['model'] = self.get_model()._meta.verbose_name
model_meta = model_options(self.get_model())
context['model'] = model_meta.verbose_name
context['action'] = "Add"
return context