diff --git a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html index 003e48f9b4..bf4ec5087b 100644 --- a/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html +++ b/mayan/apps/appearance/templates/appearance/generic_list_subtemplate.html @@ -87,22 +87,22 @@ {% endif %} {% if not hide_columns %} {% for column in object|get_source_columns %} - {% source_column_resolve column=column %} + {% source_column_resolve column=column %}{{ column_result }} {% endfor %} {% endif %} - {% for column in extra_columns %} - {{ object|object_property:column.attribute }} - {% endfor %} - {% if not hide_links %} - - {% get_menu_links 'object menu' source=object as resolved_links %} - {% for object_navigation_links in resolved_links %} - {% with 'true' as horizontal %} - {% include 'navigation/generic_navigation.html' %} - {% endwith %} - {% endfor %} - - {% endif %} + {% for column in extra_columns %} + {{ object|object_property:column.attribute }} + {% endfor %} + {% if not hide_links %} + + {% get_menu_links 'object menu' source=object as resolved_links %} + {% for object_navigation_links in resolved_links %} + {% with 'true' as horizontal %} + {% include 'navigation/generic_navigation.html' %} + {% endwith %} + {% endfor %} + + {% endif %} {% empty %} {% trans 'No results' %} diff --git a/mayan/apps/navigation/classes.py b/mayan/apps/navigation/classes.py index 9841c8b531..e3d0b85845 100644 --- a/mayan/apps/navigation/classes.py +++ b/mayan/apps/navigation/classes.py @@ -15,6 +15,7 @@ from django.utils.http import urlencode, urlquote from django.utils.translation import ugettext_lazy as _ from acls.models import AccessControlList +from common.utils import return_attrib from permissions import Permission logger = logging.getLogger(__name__) @@ -289,6 +290,14 @@ class SourceColumn(object): self.__class__._registry.setdefault(source, []) self.__class__._registry[source].append(self) + def resolve(self, context): + if self.attribute: + result = return_attrib(context['object'], self.attribute) + elif self.func: + result = self.func(context=context) + + return result + class CombinedSource(object): """ diff --git a/mayan/apps/navigation/templatetags/navigation_tags.py b/mayan/apps/navigation/templatetags/navigation_tags.py index 7b3c3b4a31..01f3b2bd32 100644 --- a/mayan/apps/navigation/templatetags/navigation_tags.py +++ b/mayan/apps/navigation/templatetags/navigation_tags.py @@ -64,7 +64,5 @@ def get_source_columns(source): @register.simple_tag(takes_context=True) def source_column_resolve(context, column): - if column.attribute: - return return_attrib(context['object'], column.attribute) - elif column.func: - return column.func(context=context) + context['column_result'] = column.resolve(context=context) + return ''