from django.db.models.fields.related import ManyToOneRel
from django.db.models.fields.files import FieldFile, ImageFieldFile, FileField
from django.forms.models import ModelForm, modelform_factory
+from django.template.defaultfilters import capfirst
from django.utils import simplejson as json
from django.utils.encoding import smart_unicode
from .base import Plugin
def data_serialize_model_instance(cls, obj):
return {
'app_label': obj._meta.app_label,
- 'name': obj._meta.object_name,
+ 'name': obj._meta.module_name,
'pk': obj.pk,
'__unicode__': unicode(obj),
}
@property
def data_columns_spec(self):
spec = []
+
for field_name in self.data_columns:
column = {
'dataIndex': field_name,
'editable': False,
}
header, attr = label_for_field(field_name, self.model, model_admin=self, return_attr=True)
- column['header'] = header
+ column['header'] = capfirst(header)
if (field_name in self.sortable_fields) or (getattr(attr, 'admin_order_field', None) in self.sortable_fields):
column['sortable'] = True
if field_name in self.data_editable_columns:
column['editable'] = True
+ if field_name in [field.name for field in self.model_meta.fields if isinstance(field.rel, ManyToOneRel)]:
+ column['xtype'] = 'foreignkeycolumn'
spec.append(column)
return spec
raise PermissionDenied
return self.model._default_manager.all()
+ def queryset(self, request):
+ return self.model._default_manager.get_query_set()
+
@ext_method
def filter(self, request, **kwargs):
if not self.has_read_permission(request):
raise PermissionDenied
- return self.model._default_manager.all().filter(**kwargs)
+ return self.queryset(request).filter(**kwargs)
@ext_method
def get(self, request, **kwargs):
if not self.has_read_permission(request):
raise PermissionDenied
- return self.model._default_manager.all().values().get(**kwargs)
+ return self.queryset(request).values().get(**kwargs)
@property
def form_class(self):