Show document types to index in index list view
This commit is contained in:
@@ -25,7 +25,7 @@ class Index(models.Model):
|
||||
|
||||
@property
|
||||
def instance_root(self):
|
||||
return self.template_root.indexinstancenode_set.get()
|
||||
return self.template_root.node_instance
|
||||
|
||||
def __unicode__(self):
|
||||
return self.title
|
||||
@@ -44,6 +44,9 @@ class Index(models.Model):
|
||||
super(Index, self).save(*args, **kwargs)
|
||||
index_template_node_root, created = IndexTemplateNode.objects.get_or_create(parent=None, index=self)
|
||||
|
||||
def get_document_types_names(self):
|
||||
return u', '.join([unicode(document_type) for document_type in self.document_types.all()] or [u'All'])
|
||||
|
||||
class Meta:
|
||||
verbose_name = _(u'index')
|
||||
verbose_name_plural = _(u'indexes')
|
||||
@@ -60,6 +63,10 @@ class IndexTemplateNode(MPTTModel):
|
||||
def __unicode__(self):
|
||||
return self.expression
|
||||
|
||||
@property
|
||||
def node_instance(self):
|
||||
return self.indexinstancenode_set.get()
|
||||
|
||||
class Meta:
|
||||
verbose_name = _(u'index template node')
|
||||
verbose_name_plural = _(u'indexes template nodes')
|
||||
|
||||
@@ -311,6 +311,7 @@ def index_list(request):
|
||||
'hide_links': True,
|
||||
'extra_columns': [
|
||||
{'name': _(u'nodes'), 'attribute': encapsulate(lambda x: x.instance_root.get_descendant_count())},
|
||||
{'name': _(u'document types'), 'attribute': 'get_document_types_names'},
|
||||
],
|
||||
}
|
||||
|
||||
@@ -418,6 +419,7 @@ def document_index_list(request, document_id):
|
||||
|
||||
queryset = document.indexinstancenode_set.all()
|
||||
try:
|
||||
# TODO: should be AND not OR
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_DOCUMENT_VIEW, PERMISSION_DOCUMENT_INDEXING_VIEW])
|
||||
except PermissionDenied:
|
||||
queryset = AccessEntry.objects.filter_objects_by_access(PERMISSION_DOCUMENT_INDEXING_VIEW, request.user, queryset)
|
||||
|
||||
Reference in New Issue
Block a user