diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py
index f89c61f1a2..5f7a287198 100644
--- a/apps/documents/__init__.py
+++ b/apps/documents/__init__.py
@@ -6,6 +6,7 @@ from navigation.api import register_links, register_menu, \
register_model_list_columns, register_multi_item_links
from main.api import register_diagnostic, register_tool
from permissions.api import register_permissions
+from tags.widgets import get_tags_inline_widget_simple
from documents.models import Document, DocumentPage, DocumentPageTransformation
from documents.staging import StagingFile
@@ -135,6 +136,9 @@ register_model_list_columns(Document, [
'string': _(u'thumbnail')
}
},
+ {'name':_(u'tags'), 'attribute':
+ lambda x: get_tags_inline_widget_simple(x)
+ },
{'name':_(u'metadata'), 'attribute':
lambda x: x.get_metadata_string()
},
diff --git a/apps/documents/forms.py b/apps/documents/forms.py
index 99d2c63368..6b743c0cd3 100644
--- a/apps/documents/forms.py
+++ b/apps/documents/forms.py
@@ -9,14 +9,13 @@ from django.forms.formsets import formset_factory
from django.template.defaultfilters import capfirst
from django.conf import settings
-from documents.staging import StagingFile
-
+from tags.widgets import get_tags_inline_widget
from common.wizard import BoundFormWizard
from common.forms import DetailForm
+from documents.staging import StagingFile
from documents.models import Document, DocumentType, DocumentTypeMetadataType, \
DocumentPage, DocumentPageTransformation
-
from documents.conf.settings import AVAILABLE_FUNCTIONS
from documents.conf.settings import AVAILABLE_MODELS
@@ -366,18 +365,7 @@ class MetaDataImageWidget(forms.widgets.Widget):
output.append(u'
')
for document in value['group_data']:
- tags_template = []
- tag_block_template = u'
%s
'
- tag_count = document.tags.count()
- if tag_count:
- tags_template.append(u'
')
- tags_template.append(u'
%(tag_string)s: %(tag_count)s
' % {
- 'tag_string': _(u'Tags'), 'tag_count': tag_count})
-
- for tag in document.tags.all():
- tags_template.append(tag_block_template % (tag.tagproperties_set.get().get_color_code(), tag.name))
-
- tags_template.append(u'
')
+ tags_template = get_tags_inline_widget(document)
output.append(
u'''
@@ -406,7 +394,7 @@ class MetaDataImageWidget(forms.widgets.Widget):
'group_id': value['group'].pk,
'document_name': document,
'media_url': settings.MEDIA_URL,
- 'tags_template': u''.join(tags_template) if tags_template else u'',
+ 'tags_template': tags_template if tags_template else u'',
'string': _(u'group document'),
})
output.append(u'
')
diff --git a/apps/tags/widgets.py b/apps/tags/widgets.py
new file mode 100644
index 0000000000..47e48ff678
--- /dev/null
+++ b/apps/tags/widgets.py
@@ -0,0 +1,31 @@
+from django.utils.translation import ugettext_lazy as _
+
+
+def get_tags_inline_widget(document):
+ tags_template = []
+ tag_block_template = u'
%s
'
+ tag_count = document.tags.count()
+ if tag_count:
+ tags_template.append(u'
')
+ tags_template.append(u'
%(tag_string)s: %(tag_count)s
' % {
+ 'tag_string': _(u'Tags'), 'tag_count': tag_count})
+
+ for tag in document.tags.all():
+ tags_template.append(tag_block_template % (tag.tagproperties_set.get().get_color_code(), tag.name))
+
+ tags_template.append(u'
')
+ return u''.join(tags_template)
+
+
+def get_tags_inline_widget_simple(document):
+ tags_template = []
+ tag_block_template = u'
%s
'
+ tag_count = document.tags.count()
+ if tag_count:
+ tags_template.append(u'
')
+
+ for tag in document.tags.all():
+ tags_template.append(tag_block_template % (tag.tagproperties_set.get().get_color_code(), tag.name))
+
+ tags_template.append(u'
')
+ return u''.join(tags_template)