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