Issue #39, Explicitly captalize string now that they are not capitalized blindly by the templates

This commit is contained in:
Roberto Rosario
2014-10-02 01:17:27 -04:00
parent 488efbe43f
commit 06dd1b3368
70 changed files with 547 additions and 546 deletions

View File

@@ -8,16 +8,16 @@ from .permissions import (PERMISSION_BOOTSTRAP_VIEW, PERMISSION_BOOTSTRAP_CREATE
PERMISSION_NUKE_DATABASE, PERMISSION_BOOTSTRAP_EXPORT,
PERMISSION_BOOTSTRAP_IMPORT, PERMISSION_BOOTSTRAP_REPOSITORY_SYNC)
link_bootstrap_setup_tool = {'text': _(u'bootstrap'), 'view': 'bootstrap:bootstrap_setup_list', 'icon': 'lightning.png', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_list = {'text': _(u'bootstrap setup list'), 'view': 'bootstrap:bootstrap_setup_list', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_create = {'text': _(u'create new bootstrap setup'), 'view': 'bootstrap:bootstrap_setup_create', 'famfam': 'lightning_add', 'permissions': [PERMISSION_BOOTSTRAP_CREATE]}
link_bootstrap_setup_edit = {'text': _(u'edit'), 'view': 'bootstrap:bootstrap_setup_edit', 'args': 'object.pk', 'famfam': 'pencil', 'permissions': [PERMISSION_BOOTSTRAP_EDIT]}
link_bootstrap_setup_delete = {'text': _(u'delete'), 'view': 'bootstrap:bootstrap_setup_delete', 'args': 'object.pk', 'famfam': 'lightning_delete', 'permissions': [PERMISSION_BOOTSTRAP_DELETE]}
link_bootstrap_setup_view = {'text': _(u'details'), 'view': 'bootstrap:bootstrap_setup_view', 'args': 'object.pk', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_execute = {'text': _(u'execute'), 'view': 'bootstrap:bootstrap_setup_execute', 'args': 'object.pk', 'famfam': 'lightning_go', 'permissions': [PERMISSION_BOOTSTRAP_EXECUTE]}
link_bootstrap_setup_dump = {'text': _(u'dump current setup'), 'view': 'bootstrap:bootstrap_setup_dump', 'famfam': 'arrow_down', 'permissions': [PERMISSION_BOOTSTRAP_DUMP]}
link_bootstrap_setup_export = {'text': _(u'export'), 'view': 'bootstrap:bootstrap_setup_export', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_BOOTSTRAP_EXPORT]}
link_bootstrap_setup_import_from_file = {'text': _(u'import from file'), 'view': 'bootstrap:bootstrap_setup_import_from_file', 'famfam': 'folder', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_import_from_url = {'text': _(u'import from URL'), 'view': 'bootstrap:bootstrap_setup_import_from_url', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_repository_sync = {'text': _(u'sync with repository'), 'view': 'bootstrap:bootstrap_setup_repository_sync', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_REPOSITORY_SYNC]}
link_erase_database = {'text': _(u'erase database'), 'view': 'bootstrap:erase_database_view', 'icon': 'radioactivity.png', 'permissions': [PERMISSION_NUKE_DATABASE]}
link_bootstrap_setup_tool = {'text': _(u'Bootstrap'), 'view': 'bootstrap:bootstrap_setup_list', 'icon': 'lightning.png', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_list = {'text': _(u'Bootstrap setup list'), 'view': 'bootstrap:bootstrap_setup_list', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_create = {'text': _(u'Create new bootstrap setup'), 'view': 'bootstrap:bootstrap_setup_create', 'famfam': 'lightning_add', 'permissions': [PERMISSION_BOOTSTRAP_CREATE]}
link_bootstrap_setup_edit = {'text': _(u'Edit'), 'view': 'bootstrap:bootstrap_setup_edit', 'args': 'object.pk', 'famfam': 'pencil', 'permissions': [PERMISSION_BOOTSTRAP_EDIT]}
link_bootstrap_setup_delete = {'text': _(u'Delete'), 'view': 'bootstrap:bootstrap_setup_delete', 'args': 'object.pk', 'famfam': 'lightning_delete', 'permissions': [PERMISSION_BOOTSTRAP_DELETE]}
link_bootstrap_setup_view = {'text': _(u'Details'), 'view': 'bootstrap:bootstrap_setup_view', 'args': 'object.pk', 'famfam': 'lightning', 'permissions': [PERMISSION_BOOTSTRAP_VIEW]}
link_bootstrap_setup_execute = {'text': _(u'Execute'), 'view': 'bootstrap:bootstrap_setup_execute', 'args': 'object.pk', 'famfam': 'lightning_go', 'permissions': [PERMISSION_BOOTSTRAP_EXECUTE]}
link_bootstrap_setup_dump = {'text': _(u'Dump current setup'), 'view': 'bootstrap:bootstrap_setup_dump', 'famfam': 'arrow_down', 'permissions': [PERMISSION_BOOTSTRAP_DUMP]}
link_bootstrap_setup_export = {'text': _(u'Export'), 'view': 'bootstrap:bootstrap_setup_export', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_BOOTSTRAP_EXPORT]}
link_bootstrap_setup_import_from_file = {'text': _(u'Import from file'), 'view': 'bootstrap:bootstrap_setup_import_from_file', 'famfam': 'folder', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_import_from_url = {'text': _(u'Import from URL'), 'view': 'bootstrap:bootstrap_setup_import_from_url', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_IMPORT]}
link_bootstrap_setup_repository_sync = {'text': _(u'Sync with repository'), 'view': 'bootstrap:bootstrap_setup_repository_sync', 'famfam': 'world', 'permissions': [PERMISSION_BOOTSTRAP_REPOSITORY_SYNC]}
link_erase_database = {'text': _(u'Erase database'), 'view': 'bootstrap:erase_database_view', 'icon': 'radioactivity.png', 'permissions': [PERMISSION_NUKE_DATABASE]}

View File

@@ -27,12 +27,12 @@ class BootstrapSetup(models.Model):
"""
Model to store the fixture for a pre configured setup.
"""
name = models.CharField(max_length=128, verbose_name=_(u'name'), unique=True)
slug = models.SlugField(max_length=128, verbose_name=_(u'slug'), unique=True, blank=True)
description = models.TextField(verbose_name=_(u'description'), blank=True)
fixture = models.TextField(verbose_name=_(u'fixture'), help_text=_(u'These are the actual database structure creation instructions.'))
type = models.CharField(max_length=16, verbose_name=_(u'type'), choices=FIXTURE_TYPES_CHOICES)
created = models.DateTimeField(verbose_name=_('creation date and time'), default=lambda: now(), editable=False)
name = models.CharField(max_length=128, verbose_name=_(u'Name'), unique=True)
slug = models.SlugField(max_length=128, verbose_name=_(u'Slug'), unique=True, blank=True)
description = models.TextField(verbose_name=_(u'Description'), blank=True)
fixture = models.TextField(verbose_name=_(u'Fixture'), help_text=_(u'These are the actual database structure creation instructions.'))
type = models.CharField(max_length=16, verbose_name=_(u'Type'), choices=FIXTURE_TYPES_CHOICES)
created = models.DateTimeField(verbose_name=_('Creation date and time'), default=lambda: now(), editable=False)
objects = BootstrapSetupManager()
@@ -101,6 +101,6 @@ class BootstrapSetup(models.Model):
return super(BootstrapSetup, self).save(*args, **kwargs)
class Meta:
verbose_name = _(u'bootstrap setup')
verbose_name_plural = _(u'bootstrap setups')
verbose_name = _(u'Bootstrap setup')
verbose_name_plural = _(u'Bootstrap setups')
ordering = ['name']

View File

@@ -29,11 +29,11 @@ def bootstrap_setup_list(request):
context = {
'object_list': BootstrapSetup.objects.all(),
'title': _(u'bootstrap setups'),
'title': _(u'Bootstrap setups'),
'hide_link': True,
'extra_columns': [
{'name': _(u'description'), 'attribute': 'description'},
{'name': _(u'type'), 'attribute': 'get_type_display'},
{'name': _(u'Description'), 'attribute': 'description'},
{'name': _(u'Type'), 'attribute': 'get_type_display'},
],
}
@@ -56,7 +56,7 @@ def bootstrap_setup_create(request):
form = BootstrapSetupForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create bootstrap'),
'title': _(u'Create bootstrap'),
'form': form,
},
context_instance=RequestContext(request))
@@ -84,11 +84,11 @@ def bootstrap_setup_edit(request, bootstrap_setup_pk):
form = BootstrapSetupForm_edit(instance=bootstrap)
return render_to_response('main/generic_form.html', {
'title': _(u'edit bootstrap setup: %s') % bootstrap,
'title': _(u'Edit bootstrap setup: %s') % bootstrap,
'form': form,
'object': bootstrap,
'previous': previous,
'object_name': _(u'bootstrap setup'),
'object_name': _(u'Bootstrap setup'),
},
context_instance=RequestContext(request))
@@ -117,7 +117,7 @@ def bootstrap_setup_delete(request, bootstrap_setup_pk):
return HttpResponseRedirect(reverse('bootstrap_setup_list'))
context = {
'object_name': _(u'bootstrap setup'),
'object_name': _(u'Bootstrap setup'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -142,7 +142,7 @@ def bootstrap_setup_view(request, bootstrap_setup_pk):
context = {
'form': form,
'object': bootstrap,
'object_name': _(u'bootstrap setup'),
'object_name': _(u'Bootstrap setup'),
}
return render_to_response('main/generic_detail.html', context,
@@ -170,7 +170,7 @@ def bootstrap_setup_execute(request, bootstrap_setup_pk):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'bootstrap setup'),
'object_name': _(u'Bootstrap setup'),
'delete_view': False,
'previous': previous,
'next': next,
@@ -204,7 +204,7 @@ def bootstrap_setup_dump(request):
form = BootstrapSetupForm_dump()
return render_to_response('main/generic_form.html', {
'title': _(u'dump current configuration into a bootstrap setup'),
'title': _(u'Dump current configuration into a bootstrap setup'),
'form': form,
},
context_instance=RequestContext(request))

View File

@@ -13,7 +13,7 @@ def is_not_checked_out(context):
return not context['object'].is_checked_out()
checkout_list = {'text': _(u'checkouts'), 'view': 'checkout:checkout_list', 'famfam': 'basket'}
checkout_document = {'text': _('check out document'), 'view': 'checkout:checkout_document', 'args': 'object.pk', 'famfam': 'basket_put', 'condition': is_not_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKOUT]}
checkin_document = {'text': _('check in document'), 'view': 'checkout:checkin_document', 'args': 'object.pk', 'famfam': 'basket_remove', 'condition': is_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE]}
checkout_info = {'text': _('check in/out'), 'view': 'checkout:checkout_info', 'args': 'object.pk', 'famfam': 'basket', 'children_views': ['checkout_document', 'checkin_document'], 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKOUT]}
checkout_list = {'text': _(u'Checkouts'), 'view': 'checkout:checkout_list', 'famfam': 'basket'}
checkout_document = {'text': _('Check out document'), 'view': 'checkout:checkout_document', 'args': 'object.pk', 'famfam': 'basket_put', 'condition': is_not_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKOUT]}
checkin_document = {'text': _('Check in document'), 'view': 'checkout:checkin_document', 'args': 'object.pk', 'famfam': 'basket_remove', 'condition': is_checked_out, 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE]}
checkout_info = {'text': _('Check in/out'), 'view': 'checkout:checkout_info', 'args': 'object.pk', 'famfam': 'basket', 'children_views': ['checkout_document', 'checkin_document'], 'permissions': [PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKOUT]}

View File

@@ -32,9 +32,9 @@ def checkout_list(request):
title=_(u'checked out documents'),
extra_context={
'extra_columns': [
{'name': _(u'checkout user'), 'attribute': encapsulate(lambda document: get_object_name(document.checkout_info().user_object, display_object_type=False))},
{'name': _(u'checkout time and date'), 'attribute': encapsulate(lambda document: document.checkout_info().checkout_datetime)},
{'name': _(u'checkout expiration'), 'attribute': encapsulate(lambda document: document.checkout_info().expiration_datetime)},
{'name': _(u'Checkout user'), 'attribute': encapsulate(lambda document: get_object_name(document.checkout_info().user_object, display_object_type=False))},
{'name': _(u'Checkout time and date'), 'attribute': encapsulate(lambda document: document.checkout_info().checkout_datetime)},
{'name': _(u'Checkout expiration'), 'attribute': encapsulate(lambda document: document.checkout_info().expiration_datetime)},
],
}
)
@@ -129,7 +129,7 @@ def checkin_document(request, document_pk):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'document'),
'object_name': _(u'Document'),
'delete_view': False,
'previous': previous,
'next': next,

View File

@@ -89,7 +89,7 @@ class Key(object):
return u', '.join(self.uids)
def __str__(self):
return '%s "%s" (%s)' % (self.key_id, self.user_ids, KEY_TYPES.get(self.type, _(u'unknown')))
return '%s "%s" (%s)' % (self.key_id, self.user_ids, KEY_TYPES.get(self.type, _(u'Unknown')))
def __unicode__(self):
return unicode(self.__str__())

View File

@@ -3,9 +3,9 @@ from django.utils.translation import ugettext_lazy as _
from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE,
PERMISSION_KEYSERVER_QUERY, PERMISSION_KEY_RECEIVE)
private_keys = {'text': _(u'private keys'), 'view': 'django_gpg:key_private_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}
public_keys = {'text': _(u'public keys'), 'view': 'django_gpg:key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}
key_delete = {'text': _(u'delete'), 'view': 'django_gpg:key_delete', 'args': ['object.fingerprint', 'object.type'], 'famfam': 'key_delete', 'permissions': [PERMISSION_KEY_DELETE]}
key_query = {'text': _(u'query keyservers'), 'view': 'django_gpg:key_query', 'famfam': 'zoom', 'permissions': [PERMISSION_KEYSERVER_QUERY]}
key_receive = {'text': _(u'import'), 'view': 'django_gpg:key_receive', 'args': 'object.keyid', 'famfam': 'key_add', 'keep_query': True, 'permissions': [PERMISSION_KEY_RECEIVE]}
key_setup = {'text': _(u'key management'), 'view': 'django_gpg:key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW], 'children_view_regex': [r'^key_']}
private_keys = {'text': _(u'Private keys'), 'view': 'django_gpg:key_private_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}
public_keys = {'text': _(u'Public keys'), 'view': 'django_gpg:key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}
key_delete = {'text': _(u'Delete'), 'view': 'django_gpg:key_delete', 'args': ['object.fingerprint', 'object.type'], 'famfam': 'key_delete', 'permissions': [PERMISSION_KEY_DELETE]}
key_query = {'text': _(u'Query keyservers'), 'view': 'django_gpg:key_query', 'famfam': 'zoom', 'permissions': [PERMISSION_KEYSERVER_QUERY]}
key_receive = {'text': _(u'Import'), 'view': 'django_gpg:key_receive', 'args': 'object.keyid', 'famfam': 'key_add', 'keep_query': True, 'permissions': [PERMISSION_KEY_RECEIVE]}
key_setup = {'text': _(u'Key management'), 'view': 'django_gpg:key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW], 'children_view_regex': [r'^key_']}

View File

@@ -20,23 +20,23 @@ def is_not_instance_root_node(context):
return not context['object'].is_root_node()
index_setup = {'text': _(u'indexes'), 'view': 'indexing:index_setup_list', 'icon': 'tab.png', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'children_view_regex': [r'^index_setup', r'^template_node']}
index_setup_list = {'text': _(u'index list'), 'view': 'indexing:index_setup_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_create = {'text': _(u'create index'), 'view': 'indexing:index_setup_create', 'famfam': 'tab_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_CREATE]}
index_setup_edit = {'text': _(u'edit'), 'view': 'indexing:index_setup_edit', 'args': 'index.pk', 'famfam': 'tab_edit', 'permissions': [PERMISSION_DOCUMENT_INDEXING_EDIT]}
index_setup_delete = {'text': _(u'delete'), 'view': 'indexing:index_setup_delete', 'args': 'index.pk', 'famfam': 'tab_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_DELETE]}
index_setup_view = {'text': _(u'tree template'), 'view': 'indexing:index_setup_view', 'args': 'index.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_document_types = {'text': _(u'document types'), 'view': 'indexing:index_setup_document_types', 'args': 'index.pk', 'famfam': 'layout', 'permissions': [PERMISSION_DOCUMENT_INDEXING_EDIT]}
index_setup = {'text': _(u'Indexes'), 'view': 'indexing:index_setup_list', 'icon': 'tab.png', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'children_view_regex': [r'^index_setup', r'^template_node']}
index_setup_list = {'text': _(u'Index list'), 'view': 'indexing:index_setup_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_create = {'text': _(u'Create index'), 'view': 'indexing:index_setup_create', 'famfam': 'tab_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_CREATE]}
index_setup_edit = {'text': _(u'Edit'), 'view': 'indexing:index_setup_edit', 'args': 'index.pk', 'famfam': 'tab_edit', 'permissions': [PERMISSION_DOCUMENT_INDEXING_EDIT]}
index_setup_delete = {'text': _(u'Delete'), 'view': 'indexing:index_setup_delete', 'args': 'index.pk', 'famfam': 'tab_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_DELETE]}
index_setup_view = {'text': _(u'Tree template'), 'view': 'indexing:index_setup_view', 'args': 'index.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
index_setup_document_types = {'text': _(u'Document types'), 'view': 'indexing:index_setup_document_types', 'args': 'index.pk', 'famfam': 'layout', 'permissions': [PERMISSION_DOCUMENT_INDEXING_EDIT]}
template_node_create = {'text': _(u'new child node'), 'view': 'indexing:template_node_create', 'args': 'node.pk', 'famfam': 'textfield_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
template_node_edit = {'text': _(u'edit'), 'view': 'indexing:template_node_edit', 'args': 'node.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'condition': is_not_root_node}
template_node_delete = {'text': _(u'delete'), 'view': 'indexing:template_node_delete', 'args': 'node.pk', 'famfam': 'textfield_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'condition': is_not_root_node}
template_node_create = {'text': _(u'New child node'), 'view': 'indexing:template_node_create', 'args': 'node.pk', 'famfam': 'textfield_add', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP]}
template_node_edit = {'text': _(u'Edit'), 'view': 'indexing:template_node_edit', 'args': 'node.pk', 'famfam': 'textfield', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'condition': is_not_root_node}
template_node_delete = {'text': _(u'Delete'), 'view': 'indexing:template_node_delete', 'args': 'node.pk', 'famfam': 'textfield_delete', 'permissions': [PERMISSION_DOCUMENT_INDEXING_SETUP], 'condition': is_not_root_node}
index_list = {'text': _(u'index list'), 'view': 'indexing:index_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}
index_list = {'text': _(u'Index list'), 'view': 'indexing:index_list', 'famfam': 'tab', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW]}
index_parent = {'text': _(u'go up one level'), 'view': 'indexing:index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node}
document_index_list = {'text': _(u'indexes'), 'view': 'indexing:document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}
index_parent = {'text': _(u'Go up one level'), 'view': 'indexing:index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node}
document_index_list = {'text': _(u'Indexes'), 'view': 'indexing:document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}
document_index_main_menu_link = {'text': _('indexes'), 'famfam': 'tab', 'view': 'indexing:index_list', 'children_view_regex': [r'^index_[i,l]']}
document_index_main_menu_link = {'text': _('Indexes'), 'famfam': 'tab', 'view': 'indexing:index_list', 'children_view_regex': [r'^index_[i,l]']}
rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'indexing:rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}
rebuild_index_instances = {'text': _('Rebuild indexes'), 'view': 'indexing:rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}

View File

@@ -41,9 +41,9 @@ def index_setup_list(request):
'hide_object': True,
'list_object_variable_name': 'index',
'extra_columns': [
{'name': _(u'name'), 'attribute': 'name'},
{'name': _(u'title'), 'attribute': 'title'},
{'name': _(u'enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
{'name': _(u'Name'), 'attribute': 'name'},
{'name': _(u'Title'), 'attribute': 'title'},
{'name': _(u'Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
]
}
@@ -74,7 +74,7 @@ def index_setup_create(request):
form = IndexForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create index'),
'title': _(u'Create index'),
'form': form,
}, context_instance=RequestContext(request))
@@ -97,10 +97,10 @@ def index_setup_edit(request, index_pk):
form = IndexForm(instance=index)
return render_to_response('main/generic_form.html', {
'title': _(u'edit index: %s') % index,
'title': _(u'Edit index: %s') % index,
'form': form,
'index': index,
'object_name': _(u'index'),
'object_name': _(u'Index'),
'navigation_object_name': 'index',
}, context_instance=RequestContext(request))
@@ -130,7 +130,7 @@ def index_setup_delete(request, index_pk):
context = {
'index': index,
'object_name': _(u'index'),
'object_name': _(u'Index'),
'navigation_object_name': 'index',
'delete_view': True,
'previous': previous,
@@ -156,15 +156,15 @@ def index_setup_view(request, index_pk):
context = {
'object_list': object_list,
'index': index,
'object_name': _(u'index'),
'object_name': _(u'Index'),
'list_object_variable_name': 'node',
'navigation_object_name': 'index',
'title': _(u'tree template nodes for index: %s') % index,
'title': _(u'Tree template nodes for index: %s') % index,
'hide_object': True,
'extra_columns': [
{'name': _(u'level'), 'attribute': encapsulate(lambda x: node_level(x))},
{'name': _(u'enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
{'name': _(u'has document links?'), 'attribute': encapsulate(lambda x: two_state_template(x.link_documents))},
{'name': _(u'Level'), 'attribute': encapsulate(lambda x: node_level(x))},
{'name': _(u'Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
{'name': _(u'Has document links?'), 'attribute': encapsulate(lambda x: two_state_template(x.link_documents))},
],
}
@@ -186,13 +186,13 @@ def index_setup_document_types(request, index_pk):
right_list=lambda: generate_choices_w_labels(index.get_index_document_types(), display_object_type=False),
add_method=lambda x: index.document_types.add(x),
remove_method=lambda x: index.document_types.remove(x),
left_list_title=_(u'document types not in index: %s') % index,
right_list_title=_(u'document types for index: %s') % index,
left_list_title=_(u'Document types not in index: %s') % index,
right_list_title=_(u'Document types for index: %s') % index,
decode_content_type=True,
extra_context={
'navigation_object_name': 'index',
'index': index,
'object_name': _(u'index'),
'object_name': _(u'Index'),
}
)
@@ -216,10 +216,10 @@ def template_node_create(request, parent_pk):
form = IndexTemplateNodeForm(initial={'index': parent_node.index, 'parent': parent_node})
return render_to_response('main/generic_form.html', {
'title': _(u'create child node'),
'title': _(u'Create child node'),
'form': form,
'index': parent_node.index,
'object_name': _(u'index'),
'object_name': _(u'Index'),
'navigation_object_name': 'index',
}, context_instance=RequestContext(request))
@@ -242,14 +242,14 @@ def template_node_edit(request, node_pk):
form = IndexTemplateNodeForm(instance=node)
return render_to_response('main/generic_form.html', {
'title': _(u'edit index template node: %s') % node,
'title': _(u'Edit index template node: %s') % node,
'form': form,
'index': node.index,
'node': node,
'navigation_object_list': [
{'object': 'index', 'name': _(u'index')},
{'object': 'node', 'name': _(u'node')}
{'object': 'index', 'name': _(u'Index')},
{'object': 'node', 'name': _(u'Node')}
],
}, context_instance=RequestContext(request))
@@ -287,8 +287,8 @@ def template_node_delete(request, node_pk):
'node': node,
'navigation_object_list': [
{'object': 'index', 'name': _(u'index')},
{'object': 'node', 'name': _(u'node')}
{'object': 'index', 'name': _(u'Index')},
{'object': 'node', 'name': _(u'Node')}
],
}
@@ -302,11 +302,11 @@ def index_list(request):
Show a list of enabled indexes
"""
context = {
'title': _(u'indexes'),
'title': _(u'Indexes'),
'hide_links': True,
'extra_columns': [
{'name': _(u'nodes'), 'attribute': 'get_instance_node_count'},
{'name': _(u'document types'), 'attribute': 'get_document_types_names'},
{'name': _(u'Nodes'), 'attribute': 'get_instance_node_count'},
{'name': _(u'Document types'), 'attribute': 'get_document_types_names'},
],
}
@@ -337,7 +337,7 @@ def index_instance_node_view(request, index_instance_node_pk):
except PermissionDenied:
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_INDEXING_VIEW, request.user, index_instance.index)
title = mark_safe(_(u'contents for index: %s') % breadcrumbs)
title = mark_safe(_(u'Contents for index: %s') % breadcrumbs)
if index_instance:
if index_instance.index_template_node.link_documents:
@@ -355,11 +355,11 @@ def index_instance_node_view(request, index_instance_node_pk):
'object_list': index_instance_list,
'extra_columns_preffixed': [
{
'name': _(u'node'),
'name': _(u'Node'),
'attribute': encapsulate(lambda x: index_instance_item_link(x))
},
{
'name': _(u'items'),
'name': _(u'Items'),
'attribute': encapsulate(lambda x: x.documents.count() if x.index_template_node.link_documents else x.get_children().count())
}
],
@@ -421,7 +421,7 @@ def document_index_list(request, document_id):
object_list.append(get_breadcrumbs(index_instance, single_link=True, include_count=True))
return render_to_response('main/generic_list.html', {
'title': _(u'indexes containing: %s') % document,
'title': _(u'Indexes containing: %s') % document,
'object_list': object_list,
'hide_link': True,
'object': document

View File

@@ -19,7 +19,7 @@ def doesnt_have_detached_signature(context):
return DocumentVersionSignature.objects.has_detached_signature(context['object']) is False
document_signature_delete = {'text': _(u'delete signature'), 'view': 'signatures:document_signature_delete', 'args': 'object.pk', 'famfam': 'pencil_delete', 'permissions': [PERMISSION_SIGNATURE_DELETE], 'conditional_disable': doesnt_have_detached_signature}
document_signature_download = {'text': _(u'download signature'), 'view': 'signatures:document_signature_download', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_SIGNATURE_DOWNLOAD], 'conditional_disable': doesnt_have_detached_signature}
document_signature_upload = {'text': _(u'upload signature'), 'view': 'signatures:document_signature_upload', 'args': 'object.pk', 'famfam': 'pencil_add', 'permissions': [PERMISSION_SIGNATURE_UPLOAD], 'conditional_disable': has_embedded_signature}
document_verify = {'text': _(u'signatures'), 'view': 'signatures:document_verify', 'args': 'object.pk', 'famfam': 'text_signature', 'permissions': [PERMISSION_DOCUMENT_VERIFY]}
document_signature_delete = {'text': _(u'Delete signature'), 'view': 'signatures:document_signature_delete', 'args': 'object.pk', 'famfam': 'pencil_delete', 'permissions': [PERMISSION_SIGNATURE_DELETE], 'conditional_disable': doesnt_have_detached_signature}
document_signature_download = {'text': _(u'Download signature'), 'view': 'signatures:document_signature_download', 'args': 'object.pk', 'famfam': 'disk', 'permissions': [PERMISSION_SIGNATURE_DOWNLOAD], 'conditional_disable': doesnt_have_detached_signature}
document_signature_upload = {'text': _(u'Upload signature'), 'view': 'signatures:document_signature_upload', 'args': 'object.pk', 'famfam': 'pencil_add', 'permissions': [PERMISSION_SIGNATURE_UPLOAD], 'conditional_disable': has_embedded_signature}
document_verify = {'text': _(u'Signatures'), 'view': 'signatures:document_verify', 'args': 'object.pk', 'famfam': 'text_signature', 'permissions': [PERMISSION_DOCUMENT_VERIFY]}

View File

@@ -17,9 +17,9 @@ class DocumentVersionSignature(models.Model):
"""
Model that describes a document version signature properties
"""
document_version = models.ForeignKey(DocumentVersion, verbose_name=_(u'document version'), editable=False)
signature_file = models.FileField(blank=True, null=True, upload_to=get_filename_from_uuid, storage=storage_backend, verbose_name=_(u'signature file'), editable=False)
has_embedded_signature = models.BooleanField(default=False, verbose_name=_(u'has embedded signature'), editable=False)
document_version = models.ForeignKey(DocumentVersion, verbose_name=_(u'Document version'), editable=False)
signature_file = models.FileField(blank=True, null=True, upload_to=get_filename_from_uuid, storage=storage_backend, verbose_name=_(u'Signature file'), editable=False)
has_embedded_signature = models.BooleanField(default=False, verbose_name=_(u'Has embedded signature'), editable=False)
objects = DocumentVersionSignatureManager()
@@ -34,5 +34,5 @@ class DocumentVersionSignature(models.Model):
super(DocumentVersionSignature, self).save(*args, **kwargs)
class Meta:
verbose_name = _(u'document version signature')
verbose_name_plural = _(u'document version signatures')
verbose_name = _(u'Document version signature')
verbose_name_plural = _(u'Document version signatures')

View File

@@ -57,9 +57,9 @@ def document_verify(request, document_pk):
try:
if DocumentVersionSignature.objects.has_embedded_signature(document):
signature_type = _(u'embedded')
signature_type = _(u'Embedded')
else:
signature_type = _(u'detached')
signature_type = _(u'Detached')
except ValueError:
signature_type = _(u'None')
@@ -75,7 +75,7 @@ def document_verify(request, document_pk):
)
return render_to_response('main/generic_template.html', {
'title': _(u'signature properties for: %s') % document,
'title': _(u'Signature properties for: %s') % document,
'object': document,
'document': document,
'paragraphs': paragraphs,

View File

@@ -142,6 +142,8 @@ class_permissions(Document, [
document_search = SearchModel('documents', 'Document')
document_search.add_model_field('document_type__name', label=_(u'Document type'))
# TODO: move these to their respective apps
document_search.add_model_field('versions__mimetype', label=_(u'MIME type'))
document_search.add_model_field('versions__filename', label=_(u'Filename'))
document_search.add_model_field('metadata__metadata_type__name', label=_(u'Metadata type'))

View File

@@ -12,11 +12,11 @@ RELEASE_LEVEL_RC = 4
RELEASE_LEVEL_HF = 5
RELEASE_LEVEL_CHOICES = (
(RELEASE_LEVEL_FINAL, _(u'final')),
(RELEASE_LEVEL_ALPHA, _(u'alpha')),
(RELEASE_LEVEL_BETA, _(u'beta')),
(RELEASE_LEVEL_RC, _(u'release candidate')),
(RELEASE_LEVEL_HF, _(u'hotfix')),
(RELEASE_LEVEL_FINAL, _(u'Final')),
(RELEASE_LEVEL_ALPHA, _(u'Alpha')),
(RELEASE_LEVEL_BETA, _(u'Beta')),
(RELEASE_LEVEL_RC, _(u'Release candidate')),
(RELEASE_LEVEL_HF, _(u'Hotfix')),
)
VERSION_UPDATE_MAJOR = u'major'

View File

@@ -133,7 +133,7 @@ def document_view(request, document_id, advanced=False):
'context': {
'form': document_properties_form,
'object': document,
'title': _(u'document properties for: %s') % document,
'title': _(u'Document properties for: %s') % document,
}
},
)
@@ -155,7 +155,7 @@ def document_view(request, document_id, advanced=False):
{
'name': 'main/generic_form_subtemplate.html',
'context': {
'title': _(u'document data'),
'title': _(u'Document data'),
'form': content_form,
'object': document,
},
@@ -309,7 +309,7 @@ def document_download(request, document_id=None, document_id_list=None, document
{
'name': 'main/generic_list_subtemplate.html',
'context': {
'title': _(u'documents to be downloaded'),
'title': _(u'Documents to be downloaded'),
'object_list': document_versions,
'hide_link': True,
'hide_object': True,
@@ -317,8 +317,8 @@ def document_download(request, document_id=None, document_id_list=None, document
'scrollable_content': True,
'scrollable_content_height': '200px',
'extra_columns': [
{'name': _(u'document'), 'attribute': 'document'},
{'name': _(u'version'), 'attribute': encapsulate(lambda x: x.get_formated_version())},
{'name': _(u'Document'), 'attribute': 'document'},
{'name': _(u'Version'), 'attribute': encapsulate(lambda x: x.get_formated_version())},
],
}
}
@@ -406,7 +406,7 @@ def document_find_duplicates(request, document_id):
AccessEntry.objects.check_access(PERMISSION_DOCUMENT_VIEW, request.user, document)
extra_context = {
'title': _(u'duplicates of: %s') % document,
'title': _(u'Duplicates of: %s') % document,
'object': document,
}
return _find_duplicate_list(request, [document], include_source=True, confirmation=False, extra_context=extra_context)
@@ -442,7 +442,7 @@ def _find_duplicate_list(request, source_document_list=Document.objects.all(), i
return document_list(
request,
object_list=Document.objects.filter(pk__in=duplicated),
title=_(u'duplicated documents'),
title=_(u'Duplicated documents'),
extra_context=context
)
@@ -516,7 +516,7 @@ def document_clear_transformations(request, document_id=None, document_id_list=N
return HttpResponseRedirect(next)
context = {
'object_name': _(u'document transformation'),
'object_name': _(u'Document transformation'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -555,7 +555,7 @@ def document_missing_list(request):
return render_to_response('main/generic_list.html', {
'object_list': Document.objects.in_bulk(missing_id_list).values(),
'title': _(u'missing documents'),
'title': _(u'Missing documents'),
}, context_instance=RequestContext(request))
@@ -571,7 +571,7 @@ def document_page_view(request, document_page_id):
rotation = int(request.GET.get('rotation', DEFAULT_ROTATION))
document_page_form = DocumentPageForm(instance=document_page, zoom=zoom, rotation=rotation)
base_title = _(u'details for: %s') % document_page
base_title = _(u'Details for: %s') % document_page
if zoom != DEFAULT_ZOOM_LEVEL:
zoom_text = u'(%d%%)' % zoom
@@ -613,7 +613,7 @@ def document_page_text(request, document_page_id):
'navigation_object_name': 'page',
'web_theme_hide_menus': True,
'form': document_page_form,
'title': _(u'details for: %s') % document_page,
'title': _(u'Details for: %s') % document_page,
'access_object': document_page.document,
}, context_instance=RequestContext(request))
@@ -641,7 +641,7 @@ def document_page_edit(request, document_page_id):
'form': form,
'page': document_page,
'navigation_object_name': 'page',
'title': _(u'edit: %s') % document_page,
'title': _(u'Edit: %s') % document_page,
'web_theme_hide_menus': True,
'access_object': document_page.document,
}, context_instance=RequestContext(request))
@@ -715,7 +715,7 @@ def document_list_recent(request):
return document_list(
request,
object_list=RecentDocument.objects.get_for_user(request.user),
title=_(u'recent documents'),
title=_(u'Recent documents'),
extra_context={
'recent_count': RECENT_COUNT
}
@@ -821,7 +821,7 @@ def document_print(request, document_id):
return render_to_response('main/generic_form.html', {
'form': form,
'object': document,
'title': _(u'print: %s') % document,
'title': _(u'Print: %s') % document,
'next': next,
'html_redirect': html_redirect if html_redirect else html_redirect,
'new_window_url': new_window_url if new_window_url else new_window_url
@@ -873,7 +873,7 @@ def document_type_list(request):
context = {
'object_list': DocumentType.objects.all(),
'title': _(u'document types'),
'title': _(u'Document types'),
'hide_link': True,
'list_object_variable_name': 'document_type',
}
@@ -901,9 +901,9 @@ def document_type_edit(request, document_type_id):
form = DocumentTypeForm(instance=document_type)
return render_to_response('main/generic_form.html', {
'title': _(u'edit document type: %s') % document_type,
'title': _(u'Edit document type: %s') % document_type,
'form': form,
'object_name': _(u'document type'),
'object_name': _(u'Document type'),
'navigation_object_name': 'document_type',
'document_type': document_type,
'next': next
@@ -932,15 +932,12 @@ def document_type_delete(request, document_type_id):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'document type'),
'delete_view': True,
'previous': previous,
'next': next,
'object_name': _(u'document type'),
'navigation_object_name': 'document_type',
'document_type': document_type,
'delete_view': True,
'navigation_object_name': 'document_type',
'next': next,
'object_name': _(u'Document type'),
'previous': previous,
'title': _(u'Are you sure you wish to delete the document type: %s?') % document_type,
'message': _(u'The document type of all documents using this document type will be set to none.'),
'form_icon': u'layout_delete.png',
@@ -967,7 +964,7 @@ def document_type_create(request):
form = DocumentTypeForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create document type'),
'title': _(u'Create document type'),
'form': form,
},
context_instance=RequestContext(request))
@@ -980,14 +977,14 @@ def document_type_filename_list(request, document_type_id):
context = {
'object_list': document_type.documenttypefilename_set.all(),
'title': _(u'filenames for document type: %s') % document_type,
'object_name': _(u'document type'),
'object_name': _(u'Document type'),
'navigation_object_name': 'document_type',
'document_type': document_type,
'list_object_variable_name': 'filename',
'hide_link': True,
'extra_columns': [
{
'name': _(u'enabled'),
'name': _(u'Enabled'),
'attribute': encapsulate(lambda x: two_state_template(x.enabled)),
}
]
@@ -1018,7 +1015,7 @@ def document_type_filename_edit(request, document_type_filename_id):
form = DocumentTypeFilenameForm(instance=document_type_filename)
return render_to_response('main/generic_form.html', {
'title': _(u'edit filename "%(filename)s" from document type "%(document_type)s"') % {
'title': _(u'Edit filename "%(filename)s" from document type "%(document_type)s"') % {
'document_type': document_type_filename.document_type, 'filename': document_type_filename
},
'form': form,
@@ -1026,8 +1023,8 @@ def document_type_filename_edit(request, document_type_filename_id):
'filename': document_type_filename,
'document_type': document_type_filename.document_type,
'navigation_object_list': [
{'object': 'document_type', 'name': _(u'document type')},
{'object': 'filename', 'name': _(u'document type filename')}
{'object': 'document_type', 'name': _(u'Document type')},
{'object': 'filename', 'name': _(u'Document type filename')}
],
},
context_instance=RequestContext(request))
@@ -1053,15 +1050,15 @@ def document_type_filename_delete(request, document_type_filename_id):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'document type filename'),
'object_name': _(u'Document type filename'),
'delete_view': True,
'previous': previous,
'next': next,
'filename': document_type_filename,
'document_type': document_type_filename.document_type,
'navigation_object_list': [
{'object': 'document_type', 'name': _(u'document type')},
{'object': 'filename', 'name': _(u'document type filename')}
{'object': 'document_type', 'name': _(u'Document type')},
{'object': 'filename', 'name': _(u'Document type filename')}
],
'title': _(u'Are you sure you wish to delete the filename: %(filename)s, from document type "%(document_type)s"?') % {
'document_type': document_type_filename.document_type, 'filename': document_type_filename
@@ -1097,11 +1094,11 @@ def document_type_filename_create(request, document_type_id):
form = DocumentTypeFilenameForm_create()
return render_to_response('main/generic_form.html', {
'title': _(u'create filename for document type: %s') % document_type,
'title': _(u'Create filename for document type: %s') % document_type,
'form': form,
'document_type': document_type,
'navigation_object_list': [
{'object': 'document_type', 'name': _(u'document type')},
{'object': 'document_type', 'name': _(u'Document type')},
],
},
context_instance=RequestContext(request))
@@ -1140,33 +1137,33 @@ def document_version_list(request, document_pk):
context = {
'object_list': document.versions.order_by('-timestamp'),
'title': _(u'versions for document: %s') % document,
'title': _(u'Versions for document: %s') % document,
'hide_object': True,
'object': document,
'access_object': document,
'extra_columns': [
{
'name': _(u'version'),
'name': _(u'Version'),
'attribute': 'get_formated_version',
},
{
'name': _(u'time and date'),
'name': _(u'Time and date'),
'attribute': 'timestamp',
},
{
'name': _(u'mimetype'),
'name': _(u'Mimetype'),
'attribute': 'mimetype',
},
{
'name': _(u'encoding'),
'name': _(u'Encoding'),
'attribute': 'encoding',
},
{
'name': _(u'filename'),
'name': _(u'Filename'),
'attribute': 'filename',
},
{
'name': _(u'comment'),
'name': _(u'Comment'),
'attribute': 'comment',
},
]
@@ -1219,13 +1216,13 @@ def document_page_transformation_list(request, document_page_id):
'object_list': document_page.documentpagetransformation_set.all(),
'page': document_page,
'navigation_object_name': 'page',
'title': _(u'transformations for: %s') % document_page,
'title': _(u'Transformations for: %s') % document_page,
'web_theme_hide_menus': True,
'list_object_variable_name': 'transformation',
'extra_columns': [
{'name': _(u'order'), 'attribute': 'order'},
{'name': _(u'transformation'), 'attribute': encapsulate(lambda x: x.get_transformation_display())},
{'name': _(u'arguments'), 'attribute': 'arguments'}
{'name': _(u'Order'), 'attribute': 'order'},
{'name': _(u'Transformation'), 'attribute': encapsulate(lambda x: x.get_transformation_display())},
{'name': _(u'Arguments'), 'attribute': 'arguments'}
],
'hide_link': True,
'hide_object': True,
@@ -1287,7 +1284,7 @@ def document_page_transformation_edit(request, document_page_transformation_id):
'page': document_page_transformation.document_page,
'navigation_object_list': [
{'object': 'page'},
{'object': 'transformation', 'name': _(u'transformation')}
{'object': 'transformation', 'name': _(u'Transformation')}
],
'title': _(u'Edit transformation "%(transformation)s" for: %(document_page)s') % {
'transformation': document_page_transformation.get_transformation_display(),
@@ -1318,7 +1315,7 @@ def document_page_transformation_delete(request, document_page_transformation_id
'transformation': document_page_transformation,
'navigation_object_list': [
{'object': 'page'},
{'object': 'transformation', 'name': _(u'transformation')}
{'object': 'transformation', 'name': _(u'Transformation')}
],
'title': _(u'Are you sure you wish to delete transformation "%(transformation)s" for: %(document_page)s') % {
'transformation': document_page_transformation.get_transformation_display(),

View File

@@ -78,7 +78,7 @@ def document_link(document):
def document_html_widget(document, click_view=None, page=DEFAULT_PAGE_NUMBER, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION, gallery_name=None, fancybox_class='fancybox', version=None, image_class='lazy-load', title=None, size=THUMBNAIL_SIZE, nolazyload=False):
result = []
alt_text = _(u'document page image')
alt_text = _(u'Document page image')
if not version:
try:

View File

@@ -1,6 +1,6 @@
from django.utils.translation import ugettext_lazy as _
search = {'text': _(u'search'), 'view': 'search:search', 'famfam': 'zoom'}
search_advanced = {'text': _(u'advanced search'), 'view': 'search:search_advanced', 'famfam': 'zoom_in'}
search_again = {'text': _(u'search again'), 'view': 'search:search_again', 'famfam': 'arrow_undo'}
search_menu = {'text': _(u'search'), 'view': 'search:search', 'famfam': 'zoom', 'children_view_regex': [r'^search:']}
search = {'text': _(u'Search'), 'view': 'search:search', 'famfam': 'zoom'}
search_advanced = {'text': _(u'Advanced search'), 'view': 'search:search_advanced', 'famfam': 'zoom_in'}
search_again = {'text': _(u'Search again'), 'view': 'search:search_again', 'famfam': 'arrow_undo'}
search_menu = {'text': _(u'Search'), 'view': 'search:search', 'famfam': 'zoom', 'children_view_regex': [r'^search:']}

View File

@@ -18,10 +18,10 @@ class RecentSearch(models.Model):
"""
Keeps a list of the n most recent search keywords for a given user
"""
user = models.ForeignKey(User, verbose_name=_(u'user'), editable=False)
query = models.TextField(verbose_name=_(u'query'), editable=False)
datetime_created = models.DateTimeField(verbose_name=_(u'datetime created'), editable=False)
hits = models.IntegerField(verbose_name=_(u'hits'), editable=False)
user = models.ForeignKey(User, verbose_name=_(u'User'), editable=False)
query = models.TextField(verbose_name=_(u'Query'), editable=False)
datetime_created = models.DateTimeField(verbose_name=_(u'Datetime created'), editable=False)
hits = models.IntegerField(verbose_name=_(u'Hits'), editable=False)
objects = RecentSearchManager()
@@ -58,5 +58,5 @@ class RecentSearch(models.Model):
class Meta:
ordering = ('-datetime_created',)
verbose_name = _(u'recent search')
verbose_name_plural = _(u'recent searches')
verbose_name = _(u'Recent search')
verbose_name_plural = _(u'Recent searches')

View File

@@ -34,7 +34,7 @@ def recent_searches_template(context):
'request': context['request'],
'STATIC_URL': context['STATIC_URL'],
'side_bar': True,
'title': _(u'recent searches (maximum of %d)') % RECENT_COUNT,
'title': _(u'Recent searches (maximum of %d)') % RECENT_COUNT,
'paragraphs': [
u'<a href="%(url)s"><span class="famfam active famfam-%(icon)s"></span>%(text)s</a>' % {
'text': rs,

View File

@@ -41,7 +41,7 @@ def results(request, extra_context=None):
model_list, flat_list, shown_result_count, result_count, elapsed_time = document_search.advanced_search(request.GET)
if shown_result_count != result_count:
title = _(u'results, (showing only %(shown_result_count)s out of %(result_count)s)') % {
title = _(u'Results, (showing only %(shown_result_count)s out of %(result_count)s)') % {
'shown_result_count': shown_result_count,
'result_count': result_count}
@@ -63,7 +63,7 @@ def results(request, extra_context=None):
if SHOW_OBJECT_TYPE:
context.update({'extra_columns':
[{'name': _(u'type'), 'attribute': lambda x: x._meta.verbose_name[0].upper() + x._meta.verbose_name[1:]}]})
[{'name': _(u'Type'), 'attribute': lambda x: x._meta.verbose_name[0].upper() + x._meta.verbose_name[1:]}]})
return render_to_response('search_results.html', context,
context_instance=RequestContext(request))
@@ -75,7 +75,7 @@ def search(request, advanced=False):
return render_to_response('main/generic_form.html',
{
'form': form,
'title': _(u'advanced search'),
'title': _(u'Advanced search'),
'form_action': reverse('search:results'),
'submit_method': 'GET',
'search_results_limit': LIMIT,

View File

@@ -10,15 +10,15 @@ from .permissions import (PERMISSION_FOLDER_CREATE,
PERMISSION_FOLDER_REMOVE_DOCUMENT, PERMISSION_FOLDER_VIEW,
PERMISSION_FOLDER_ADD_DOCUMENT)
folder_list = {'text': _(u'folder list'), 'view': 'folders:folder_list', 'famfam': 'folder_user'}
folder_create = {'text': _('create folder'), 'view': 'folders:folder_create', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_CREATE]}
folder_edit = {'text': _('edit'), 'view': 'folders:folder_edit', 'args': 'object.pk', 'famfam': 'folder_edit', 'permissions': [PERMISSION_FOLDER_EDIT]}
folder_delete = {'text': _('delete'), 'view': 'folders:folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_DELETE]}
folder_document_multiple_remove = {'text': _('remove from folder'), 'view': 'folders:folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_REMOVE_DOCUMENT]}
folder_view = {'text': _(u'folder documents'), 'view': 'folders:folder_view', 'args': 'object.pk', 'famfam': 'folder_go', 'permissions': [PERMISSION_FOLDER_VIEW]}
folder_add_document = {'text': _('add to a folder'), 'view': 'folders:folder_add_document', 'args': 'object.pk', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
folder_add_multiple_documents = {'text': _('add to folder'), 'view': 'folders:folder_add_multiple_documents', 'famfam': 'folder_add'}
document_folder_list = {'text': _(u'folders'), 'view': 'folders:document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']}
folder_list = {'text': _(u'Folder list'), 'view': 'folders:folder_list', 'famfam': 'folder_user'}
folder_create = {'text': _('Create folder'), 'view': 'folders:folder_create', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_CREATE]}
folder_edit = {'text': _('Edit'), 'view': 'folders:folder_edit', 'args': 'object.pk', 'famfam': 'folder_edit', 'permissions': [PERMISSION_FOLDER_EDIT]}
folder_delete = {'text': _('Delete'), 'view': 'folders:folder_delete', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_DELETE]}
folder_document_multiple_remove = {'text': _('Remove from folder'), 'view': 'folders:folder_document_multiple_remove', 'args': 'object.pk', 'famfam': 'folder_delete', 'permissions': [PERMISSION_FOLDER_REMOVE_DOCUMENT]}
folder_view = {'text': _(u'Folder documents'), 'view': 'folders:folder_view', 'args': 'object.pk', 'famfam': 'folder_go', 'permissions': [PERMISSION_FOLDER_VIEW]}
folder_add_document = {'text': _('Add to a folder'), 'view': 'folders:folder_add_document', 'args': 'object.pk', 'famfam': 'folder_add', 'permissions': [PERMISSION_FOLDER_ADD_DOCUMENT]}
folder_add_multiple_documents = {'text': _('Add to folder'), 'view': 'folders:folder_add_multiple_documents', 'famfam': 'folder_add'}
document_folder_list = {'text': _(u'Folders'), 'view': 'folders:document_folder_list', 'args': 'object.pk', 'famfam': 'folder_user', 'permissions': [PERMISSION_DOCUMENT_VIEW], 'children_view_regex': [r'folder']}
folder_acl_list = {'text': _(u'ACLs'), 'view': 'folders:folder_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}
folders_main_menu_link = {'text': _('folders'), 'famfam': 'folder_user', 'view': 'folders:folder_list'}
folders_main_menu_link = {'text': _('Folders'), 'famfam': 'folder_user', 'view': 'folders:folder_list'}

View File

@@ -7,9 +7,9 @@ from documents.models import Document
class Folder(models.Model):
title = models.CharField(max_length=128, verbose_name=_(u'title'), db_index=True)
user = models.ForeignKey(User, verbose_name=_(u'user'))
datetime_created = models.DateTimeField(verbose_name=_(u'datetime created'))
title = models.CharField(max_length=128, verbose_name=_(u'Title'), db_index=True)
user = models.ForeignKey(User, verbose_name=_(u'User'))
datetime_created = models.DateTimeField(verbose_name=_(u'Datetime created'))
def __unicode__(self):
return self.title
@@ -38,17 +38,17 @@ class Folder(models.Model):
class Meta:
unique_together = ('title', 'user')
ordering = ('title',)
verbose_name = _(u'folder')
verbose_name_plural = _(u'folders')
verbose_name = _(u'Folder')
verbose_name_plural = _(u'Folders')
class FolderDocument(models.Model):
folder = models.ForeignKey(Folder, verbose_name=_('folder'))
document = models.ForeignKey(Document, verbose_name=_('document'))
folder = models.ForeignKey(Folder, verbose_name=_('Folder'))
document = models.ForeignKey(Document, verbose_name=_('Document'))
def __unicode__(self):
return unicode(self.document)
class Meta:
verbose_name = _(u'folder document')
verbose_name_plural = _(u'folders documents')
verbose_name = _(u'Folder document')
verbose_name_plural = _(u'Folders documents')

View File

@@ -59,7 +59,7 @@ def folder_create(request):
form = FolderForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create folder'),
'title': _(u'Create folder'),
'form': form,
},
context_instance=RequestContext(request))
@@ -87,10 +87,10 @@ def folder_edit(request, folder_id):
form = FolderForm(instance=folder)
return render_to_response('main/generic_form.html', {
'title': _(u'edit folder: %s') % folder,
'title': _(u'Edit folder: %s') % folder,
'form': form,
'object': folder,
'object_name': _(u'folder'),
'object_name': _(u'Folder'),
},
context_instance=RequestContext(request))
@@ -119,7 +119,7 @@ def folder_delete(request, folder_id):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'folder'),
'object_name': _(u'Folder'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -152,7 +152,7 @@ class FolderDetailView(DocumentListView):
'hide_links': True,
'multi_select_as_buttons': True,
'object': self.get_folder(),
'object_name': _(u'folder'),
'object_name': _(u'Folder'),
}
@@ -192,7 +192,7 @@ def folder_add_document(request, document_id=None, document_id_list=None):
form = FolderListForm(user=request.user)
context = {
'object_name': _(u'document'),
'object_name': _(u'Document'),
'form': form,
'previous': previous,
'next': next,
@@ -272,7 +272,7 @@ def folder_document_remove(request, folder_id, document_id=None, document_id_lis
return HttpResponseRedirect(next)
context = {
'object_name': _(u'folder document'),
'object_name': _(u'Folder document'),
'previous': previous,
'next': next,
'form_icon': u'delete.png',

View File

@@ -14,15 +14,15 @@ register_tool(history_list)
register_model_list_columns(History, [
{
'name': _(u'date and time'),
'name': _(u'Date and time'),
'attribute': 'datetime'
},
{
'name': _(u'type'),
'name': _(u'Type'),
'attribute': encapsulate(lambda entry: history_entry_type_link(entry))
},
{
'name': _(u'summary'),
'name': _(u'Summary'),
'attribute': encapsulate(lambda entry: unicode(entry.get_processed_summary()))
}
])

View File

@@ -4,5 +4,5 @@ from django.utils.translation import ugettext_lazy as _
from .permissions import PERMISSION_HISTORY_VIEW
history_list = {'text': _(u'history'), 'view': 'history:history_list', 'famfam': 'book', 'icon': 'book.png', 'children_view_regex': [r'history_[l,v]']}
history_details = {'text': _(u'details'), 'view': 'history:history_view', 'famfam': 'book_open', 'args': 'object.pk', 'permissions': [PERMISSION_HISTORY_VIEW]}
history_list = {'text': _(u'History'), 'view': 'history:history_list', 'famfam': 'book', 'icon': 'book.png', 'children_view_regex': [r'history_[l,v]']}
history_details = {'text': _(u'Details'), 'view': 'history:history_view', 'famfam': 'book_open', 'args': 'object.pk', 'permissions': [PERMISSION_HISTORY_VIEW]}

View File

@@ -15,14 +15,14 @@ from .runtime_data import history_types_dict
class HistoryType(models.Model):
namespace = models.CharField(max_length=64, verbose_name=_(u'namespace'))
name = models.CharField(max_length=64, verbose_name=_(u'name'))
namespace = models.CharField(max_length=64, verbose_name=_(u'Namespace'))
name = models.CharField(max_length=64, verbose_name=_(u'Name'))
def __unicode__(self):
try:
return unicode(history_types_dict[self.namespace][self.name]['label'])
except KeyError:
return u'obsolete history type: %s - %s' % (self.namespace, self.name)
return u'Obsolete history type: %s - %s' % (self.namespace, self.name)
def get_absolute_url(self):
return reverse('history:history_type_list', args=[self.pk])
@@ -30,17 +30,17 @@ class HistoryType(models.Model):
class Meta:
ordering = ('namespace', 'name')
unique_together = ('namespace', 'name')
verbose_name = _(u'history type')
verbose_name_plural = _(u'history types')
verbose_name = _(u'History type')
verbose_name_plural = _(u'History types')
class History(models.Model):
datetime = models.DateTimeField(verbose_name=_(u'date time'))
datetime = models.DateTimeField(verbose_name=_(u'Date time'))
content_type = models.ForeignKey(ContentType, blank=True, null=True)
object_id = models.PositiveIntegerField(blank=True, null=True)
content_object = generic.GenericForeignKey('content_type', 'object_id')
history_type = models.ForeignKey(HistoryType, verbose_name=_(u'history type'))
dictionary = models.TextField(verbose_name=_(u'dictionary'), blank=True)
history_type = models.ForeignKey(HistoryType, verbose_name=_(u'History type'))
dictionary = models.TextField(verbose_name=_(u'Dictionary'), blank=True)
def __unicode__(self):
return u'%s - %s - %s' % (self.datetime, self.content_object, self.history_type)
@@ -74,8 +74,8 @@ class History(models.Model):
class Meta:
ordering = ('-datetime',)
verbose_name = _(u'history')
verbose_name_plural = _(u'histories')
verbose_name = _(u'History')
verbose_name_plural = _(u'Histories')
def _process_history_text(history, text):

View File

@@ -33,10 +33,10 @@ def history_list(request, object_list=None, title=None, extra_context=None):
context = {
'object_list': final_object_list,
'title': title if title else _(u'history events'),
'title': title if title else _(u'History events'),
'extra_columns': [
{
'name': _(u'object link'),
'name': _(u'Object link'),
'attribute': encapsulate(lambda x: history_entry_object_link(x))
},
],
@@ -64,7 +64,7 @@ def history_for_object(request, app_label, module_name, object_id):
context = {
'object_list': History.objects.filter(content_type=content_type, object_id=object_id),
'title': _(u'history events for: %s') % content_object,
'title': _(u'History events for: %s') % content_object,
'object': content_object,
'hide_object': True,
}
@@ -90,7 +90,7 @@ def history_view(request, object_id):
])
return render_to_response('main/generic_detail.html', {
'title': _(u'details for: %s') % history.get_processed_summary(),
'title': _(u'Details for: %s') % history.get_processed_summary(),
'form': form,
}, context_instance=RequestContext(request))
@@ -101,5 +101,5 @@ def history_type_list(request, history_type_pk):
return history_list(
request,
object_list=History.objects.filter(history_type=history_type),
title=_(u'history events of type: %s') % history_type,
title=_(u'History events of type: %s') % history_type,
)

View File

@@ -34,22 +34,22 @@ def check_first_run():
register_model_list_columns(PropertyNamespace, [
{
'name': _(u'label'),
'name': _(u'Label'),
'attribute': 'label'
},
{
'name': _(u'items'),
'name': _(u'Items'),
'attribute': encapsulate(lambda entry: len(entry.get_properties()))
}
])
register_model_list_columns(Property, [
{
'name': _(u'label'),
'name': _(u'Label'),
'attribute': 'label'
},
{
'name': _(u'value'),
'name': _(u'Value'),
'attribute': 'value'
}
])

View File

@@ -4,6 +4,6 @@ from django.utils.translation import ugettext_lazy as _
from .permissions import PERMISSION_INSTALLATION_DETAILS
link_menu_link = {'text': _(u'installation details'), 'view': 'installation:namespace_list', 'icon': 'interface_preferences.png', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}
link_namespace_list = {'text': _(u'installation property namespaces'), 'view': 'installation:namespace_list', 'famfam': 'layout', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}
link_namespace_details = {'text': _(u'details'), 'view': 'installation:namespace_details', 'args': 'object.id', 'famfam': 'layout_link', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}
link_menu_link = {'text': _(u'Installation details'), 'view': 'installation:namespace_list', 'icon': 'interface_preferences.png', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}
link_namespace_list = {'text': _(u'Installation property namespaces'), 'view': 'installation:namespace_list', 'famfam': 'layout', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}
link_namespace_details = {'text': _(u'Details'), 'view': 'installation:namespace_details', 'args': 'object.id', 'famfam': 'layout_link', 'permissions': [PERMISSION_INSTALLATION_DETAILS]}

View File

@@ -173,4 +173,4 @@ class Installation(SingletonModel):
lock.release()
class Meta:
verbose_name = verbose_name_plural = _(u'installation details')
verbose_name = verbose_name_plural = _(u'Installation details')

View File

@@ -41,6 +41,7 @@ class SmartLinkImageWidget(forms.widgets.Widget):
})
output.append(u'</div>')
# TODO: Move CSS markup outside of forms.py
output.append(u'<div style="white-space:nowrap; overflow: auto;">')
for document in value['documents']:
output.append(u'<div style="display: inline-block; margin: 0px 10px 10px 10px; %s">' % (u'border: 5px solid black; padding: 3px;' if value['current_document'] == document else u''))

View File

@@ -8,18 +8,18 @@ from documents.permissions import PERMISSION_DOCUMENT_VIEW
from .permissions import (PERMISSION_SMART_LINK_CREATE,
PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_EDIT)
smart_link_instance_view_link = {'text': _(u'smart links actions'), 'view': 'linking:smart_link_instance_view', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
smart_link_instances_for_document = {'text': _(u'smart links'), 'view': 'linking:smart_link_instances_for_document', 'args': 'object.pk', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
smart_link_instance_view_link = {'text': _(u'Smart links actions'), 'view': 'linking:smart_link_instance_view', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
smart_link_instances_for_document = {'text': _(u'Smart links'), 'view': 'linking:smart_link_instances_for_document', 'args': 'object.pk', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
smart_link_setup = {'text': _(u'smart links'), 'view': 'linking:smart_link_list', 'icon': 'link.png', 'permissions': [PERMISSION_SMART_LINK_CREATE], 'children_view_regex': [r'smart_link_list', 'smart_link_create', 'smart_link_delete', 'smart_link_edit', 'smart_link_condition_']}
smart_link_list = {'text': _(u'smart links list'), 'view': 'linking:smart_link_list', 'famfam': 'link', 'permissions': [PERMISSION_SMART_LINK_CREATE]}
smart_link_create = {'text': _(u'create new smart link'), 'view': 'linking:smart_link_create', 'famfam': 'link_add', 'permissions': [PERMISSION_SMART_LINK_CREATE]}
smart_link_edit = {'text': _(u'edit'), 'view': 'linking:smart_link_edit', 'args': 'object.pk', 'famfam': 'link_edit', 'permissions': [PERMISSION_SMART_LINK_EDIT]}
smart_link_delete = {'text': _(u'delete'), 'view': 'linking:smart_link_delete', 'args': 'object.pk', 'famfam': 'link_delete', 'permissions': [PERMISSION_SMART_LINK_DELETE]}
smart_link_setup = {'text': _(u'Smart links'), 'view': 'linking:smart_link_list', 'icon': 'link.png', 'permissions': [PERMISSION_SMART_LINK_CREATE], 'children_view_regex': [r'smart_link_list', 'smart_link_create', 'smart_link_delete', 'smart_link_edit', 'smart_link_condition_']}
smart_link_list = {'text': _(u'Smart links list'), 'view': 'linking:smart_link_list', 'famfam': 'link', 'permissions': [PERMISSION_SMART_LINK_CREATE]}
smart_link_create = {'text': _(u'Create new smart link'), 'view': 'linking:smart_link_create', 'famfam': 'link_add', 'permissions': [PERMISSION_SMART_LINK_CREATE]}
smart_link_edit = {'text': _(u'Edit'), 'view': 'linking:smart_link_edit', 'args': 'object.pk', 'famfam': 'link_edit', 'permissions': [PERMISSION_SMART_LINK_EDIT]}
smart_link_delete = {'text': _(u'Delete'), 'view': 'linking:smart_link_delete', 'args': 'object.pk', 'famfam': 'link_delete', 'permissions': [PERMISSION_SMART_LINK_DELETE]}
smart_link_condition_list = {'text': _(u'conditions'), 'view': 'linking:smart_link_condition_list', 'args': 'object.pk', 'famfam': 'cog', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_CREATE]}
smart_link_condition_create = {'text': _(u'create condition'), 'view': 'linking:smart_link_condition_create', 'args': 'object.pk', 'famfam': 'cog_add', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_condition_edit = {'text': _(u'edit'), 'view': 'linking:smart_link_condition_edit', 'args': 'condition.pk', 'famfam': 'cog_edit', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_condition_delete = {'text': _(u'delete'), 'view': 'linking:smart_link_condition_delete', 'args': 'condition.pk', 'famfam': 'cog_delete', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_condition_list = {'text': _(u'Conditions'), 'view': 'linking:smart_link_condition_list', 'args': 'object.pk', 'famfam': 'cog', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_CREATE]}
smart_link_condition_create = {'text': _(u'Create condition'), 'view': 'linking:smart_link_condition_create', 'args': 'object.pk', 'famfam': 'cog_add', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_condition_edit = {'text': _(u'Edit'), 'view': 'linking:smart_link_condition_edit', 'args': 'condition.pk', 'famfam': 'cog_edit', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_condition_delete = {'text': _(u'Delete'), 'view': 'linking:smart_link_condition_delete', 'args': 'condition.pk', 'famfam': 'cog_delete', 'permissions': [PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT]}
smart_link_acl_list = {'text': _(u'ACLs'), 'view': 'linking:smart_link_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}

View File

@@ -9,9 +9,9 @@ from .literals import (OPERATOR_CHOICES, INCLUSION_AND,
class SmartLink(models.Model):
title = models.CharField(max_length=96, verbose_name=_(u'title'))
dynamic_title = models.CharField(blank=True, max_length=96, verbose_name=_(u'dynamic title'), help_text=_(u'This expression will be evaluated against the current selected document. The document metadata is available as variables `metadata` and document properties under the variable `document`.'))
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
title = models.CharField(max_length=96, verbose_name=_(u'Title'))
dynamic_title = models.CharField(blank=True, max_length=96, verbose_name=_(u'Dynamic title'), help_text=_(u'This expression will be evaluated against the current selected document. The document metadata is available as variables `metadata` and document properties under the variable `document`.'))
enabled = models.BooleanField(default=True, verbose_name=_(u'Enabled'))
objects = SmartLinkManager()
@@ -19,22 +19,22 @@ class SmartLink(models.Model):
return self.title
class Meta:
verbose_name = _(u'smart link')
verbose_name_plural = _(u'smart links')
verbose_name = _(u'Smart link')
verbose_name_plural = _(u'Smart links')
class SmartLinkCondition(models.Model):
smart_link = models.ForeignKey(SmartLink, verbose_name=_(u'smart link'))
smart_link = models.ForeignKey(SmartLink, verbose_name=_(u'Smart link'))
inclusion = models.CharField(default=INCLUSION_AND, max_length=16, choices=INCLUSION_CHOICES, help_text=_(u'The inclusion is ignored for the first item.'))
foreign_document_data = models.CharField(max_length=32, verbose_name=_(u'foreign document data'), help_text=_(u'This represents the metadata of all other documents. Available objects: `document.<attribute>` and `metadata.<metadata_type_name>`.'))
foreign_document_data = models.CharField(max_length=32, verbose_name=_(u'Foreign document data'), help_text=_(u'This represents the metadata of all other documents. Available objects: `document.<attribute>` and `metadata.<metadata_type_name>`.'))
operator = models.CharField(max_length=16, choices=OPERATOR_CHOICES)
expression = models.TextField(verbose_name=_(u'expression'), help_text=_(u'This expression will be evaluated against the current selected document. The document metadata is available as variables `metadata` and document properties under the variable `document`.'))
negated = models.BooleanField(default=False, verbose_name=_(u'negated'), help_text=_(u'Inverts the logic of the operator.'))
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
expression = models.TextField(verbose_name=_(u'Expression'), help_text=_(u'This expression will be evaluated against the current selected document. The document metadata is available as variables `metadata` and document properties under the variable `document`.'))
negated = models.BooleanField(default=False, verbose_name=_(u'Negated'), help_text=_(u'Inverts the logic of the operator.'))
enabled = models.BooleanField(default=True, verbose_name=_(u'Enabled'))
def __unicode__(self):
return u'%s foreign %s %s %s %s' % (self.get_inclusion_display(), self.foreign_document_data, _(u'not') if self.negated else u'', self.get_operator_display(), self.expression)
class Meta:
verbose_name = _(u'link condition')
verbose_name_plural = _(u'link conditions')
verbose_name = _(u'Link condition')
verbose_name_plural = _(u'Link conditions')

View File

@@ -55,7 +55,7 @@ def smart_link_instance_view(request, document_id, smart_link_pk):
return document_list(
request,
title=_(u'documents in smart link: %(group)s') % {
title=_(u'Documents in smart link: %(group)s') % {
'group': object_list['title']
},
object_list=object_list['documents'],
@@ -93,7 +93,7 @@ def smart_link_instances_for_document(request, document_id):
subtemplates_list = [{
'name': 'main/generic_form_subtemplate.html',
'context': {
'title': _(u'smart links (%s)') % len(smart_link_instances.keys()),
'title': _(u'Smart links (%s)') % len(smart_link_instances.keys()),
'form': SmartLinkInstanceForm(
smart_link_instances=smart_link_instances, current_document=document,
links=[smart_link_instance_view_link]
@@ -127,11 +127,11 @@ def smart_link_list(request):
qs = AccessEntry.objects.filter_objects_by_access(PERMISSION_SMART_LINK_VIEW, request.user, qs)
return render_to_response('main/generic_list.html', {
'title': _(u'smart links'),
'title': _(u'Smart links'),
'object_list': qs,
'extra_columns': [
{'name': _(u'dynamic title'), 'attribute': 'dynamic_title'},
{'name': _(u'enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
{'name': _(u'Dynamic title'), 'attribute': 'dynamic_title'},
{'name': _(u'Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
],
'hide_link': True,
'list_object_variable_name': 'smart_link',
@@ -223,10 +223,10 @@ def smart_link_condition_list(request, smart_link_pk):
AccessEntry.objects.check_accesses([PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_EDIT], request.user, smart_link)
return render_to_response('main/generic_list.html', {
'title': _(u'conditions for smart link: %s') % smart_link,
'title': _(u'Conditions for smart link: %s') % smart_link,
'object_list': smart_link.smartlinkcondition_set.all(),
'extra_columns': [
{'name': _(u'enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
{'name': _(u'Enabled'), 'attribute': encapsulate(lambda x: two_state_template(x.enabled))},
],
'hide_link': True,
'object': smart_link,
@@ -290,8 +290,8 @@ def smart_link_condition_edit(request, smart_link_condition_pk):
'condition': smart_link_condition,
'object': smart_link_condition.smart_link,
'navigation_object_list': [
{'object': 'object', 'name': _(u'smart link')},
{'object': 'condition', 'name': _(u'condition')}
{'object': 'object', 'name': _(u'Smart link')},
{'object': 'condition', 'name': _(u'Condition')}
],
}, context_instance=RequestContext(request))
@@ -324,8 +324,8 @@ def smart_link_condition_delete(request, smart_link_condition_pk):
'condition': smart_link_condition,
'object': smart_link_condition.smart_link,
'navigation_object_list': [
{'object': 'object', 'name': _(u'smart link')},
{'object': 'condition', 'name': _(u'condition')}
{'object': 'object', 'name': _(u'Smart link')},
{'object': 'condition', 'name': _(u'Condition')}
],
'title': _(u'Are you sure you wish to delete smart link condition: "%s"?') % smart_link_condition,
'next': next,

View File

@@ -9,9 +9,9 @@ from .settings import DEFAULT_LOCK_TIMEOUT
class Lock(models.Model):
creation_datetime = models.DateTimeField(verbose_name=_(u'creation datetime'))
timeout = models.IntegerField(default=DEFAULT_LOCK_TIMEOUT, verbose_name=_(u'timeout'))
name = models.CharField(max_length=48, verbose_name=_(u'name'), unique=True)
creation_datetime = models.DateTimeField(verbose_name=_(u'Creation datetime'))
timeout = models.IntegerField(default=DEFAULT_LOCK_TIMEOUT, verbose_name=_(u'Timeout'))
name = models.CharField(max_length=48, verbose_name=_(u'Name'), unique=True)
objects = LockManager()
@@ -34,5 +34,5 @@ class Lock(models.Model):
pass
class Meta:
verbose_name = _(u'lock')
verbose_name_plural = _(u'locks')
verbose_name = _(u'Lock')
verbose_name_plural = _(u'Locks')

View File

@@ -11,7 +11,7 @@ from .links import admin_site, diagnostics, maintenance_menu, sentry
from .settings import DISABLE_HOME_VIEW
if not DISABLE_HOME_VIEW:
register_top_menu('home', link={'text': _(u'home'), 'view': 'main:home', 'famfam': 'house'}, position=0)
register_top_menu('home', link={'text': _(u'Home'), 'view': 'main:home', 'famfam': 'house'}, position=0)
if 'django.contrib.admin' in django_settings.INSTALLED_APPS:
register_setup(admin_site)
@@ -19,5 +19,6 @@ if 'django.contrib.admin' in django_settings.INSTALLED_APPS:
register_tool(diagnostics)
register_tool(maintenance_menu)
# TODO: Remove this
if 'sentry' in django_settings.INSTALLED_APPS:
register_tool(sentry)

View File

@@ -5,7 +5,7 @@ def is_superuser(context):
return context['request'].user.is_staff or context['request'].user.is_superuser
maintenance_menu = {'text': _(u'maintenance'), 'view': 'main:maintenance_menu', 'famfam': 'wrench', 'icon': 'wrench.png'}
diagnostics = {'text': _(u'diagnostics'), 'view': 'main:diagnostics', 'famfam': 'pill', 'icon': 'pill.png'}
sentry = {'text': _(u'sentry'), 'view': 'main:sentry', 'famfam': 'bug', 'icon': 'bug.png', 'condition': is_superuser}
admin_site = {'text': _(u'admin site'), 'view': 'admin:index', 'famfam': 'keyboard', 'icon': 'keyboard.png', 'condition': is_superuser}
maintenance_menu = {'text': _(u'Maintenance'), 'view': 'main:maintenance_menu', 'famfam': 'wrench', 'icon': 'wrench.png'}
diagnostics = {'text': _(u'Diagnostics'), 'view': 'main:diagnostics', 'famfam': 'pill', 'icon': 'pill.png'}
sentry = {'text': _(u'Sentry'), 'view': 'main:sentry', 'famfam': 'bug', 'icon': 'bug.png', 'condition': is_superuser}
admin_site = {'text': _(u'Admin site'), 'view': 'admin:index', 'famfam': 'keyboard', 'icon': 'keyboard.png', 'condition': is_superuser}

View File

@@ -38,7 +38,7 @@ def maintenance_menu(request):
return render_to_response('main/tools.html', {
'blocks': user_tools,
'title': _(u'maintenance menu')
'title': _(u'Maintenance menu')
}, context_instance=RequestContext(request))

View File

@@ -48,6 +48,6 @@ class_permissions(Document, [
register_model_list_columns(Document, [
{
'name': _(u'metadata'), 'attribute': encapsulate(lambda x: get_metadata_string(x))
'name': _(u'Metadata'), 'attribute': encapsulate(lambda x: get_metadata_string(x))
},
])

View File

@@ -24,7 +24,7 @@ class MetadataForm(forms.Form):
required_string = u''
if required:
self.fields['value'].required = True
required_string = ' (%s)' % _(u'required')
required_string = ' (%s)' % _(u'Required')
else:
# TODO: FIXME: not working correctly
self.fields['value'].required = False

View File

@@ -12,23 +12,23 @@ from .permissions import (PERMISSION_METADATA_DOCUMENT_EDIT,
PERMISSION_METADATA_SET_CREATE, PERMISSION_METADATA_SET_DELETE,
PERMISSION_METADATA_SET_VIEW)
metadata_edit = {'text': _(u'edit metadata'), 'view': 'metadata:metadata_edit', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]}
metadata_view = {'text': _(u'metadata'), 'view': 'metadata:metadata_view', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_VIEW], 'children_view_regex': ['metadata']}
metadata_multiple_edit = {'text': _(u'edit metadata'), 'view': 'metadata:metadata_multiple_edit', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]}
metadata_add = {'text': _(u'add metadata'), 'view': 'metadata:metadata_add', 'args': 'object.pk', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_DOCUMENT_ADD]}
metadata_multiple_add = {'text': _(u'add metadata'), 'view': 'metadata:metadata_multiple_add', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_DOCUMENT_ADD]}
metadata_remove = {'text': _(u'remove metadata'), 'view': 'metadata:metadata_remove', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
metadata_multiple_remove = {'text': _(u'remove metadata'), 'view': 'metadata:metadata_multiple_remove', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
metadata_edit = {'text': _(u'Edit metadata'), 'view': 'metadata:metadata_edit', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]}
metadata_view = {'text': _(u'Metadata'), 'view': 'metadata:metadata_view', 'args': 'object.pk', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_VIEW], 'children_view_regex': ['metadata']}
metadata_multiple_edit = {'text': _(u'Edit metadata'), 'view': 'metadata:metadata_multiple_edit', 'famfam': 'xhtml_go', 'permissions': [PERMISSION_METADATA_DOCUMENT_EDIT]}
metadata_add = {'text': _(u'Add metadata'), 'view': 'metadata:metadata_add', 'args': 'object.pk', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_DOCUMENT_ADD]}
metadata_multiple_add = {'text': _(u'Add metadata'), 'view': 'metadata:metadata_multiple_add', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_DOCUMENT_ADD]}
metadata_remove = {'text': _(u'Remove metadata'), 'view': 'metadata:metadata_remove', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
metadata_multiple_remove = {'text': _(u'Remove metadata'), 'view': 'metadata:metadata_multiple_remove', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_DOCUMENT_REMOVE]}
setup_metadata_type_list = {'text': _(u'metadata types'), 'view': 'metadata:setup_metadata_type_list', 'famfam': 'xhtml_go', 'icon': 'xhtml.png', 'permissions': [PERMISSION_METADATA_TYPE_VIEW]}
setup_metadata_type_edit = {'text': _(u'edit'), 'view': 'metadata:setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]}
setup_metadata_type_delete = {'text': _(u'delete'), 'view': 'metadata:setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]}
setup_metadata_type_create = {'text': _(u'create new'), 'view': 'metadata:setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]}
setup_metadata_type_list = {'text': _(u'Metadata types'), 'view': 'metadata:setup_metadata_type_list', 'famfam': 'xhtml_go', 'icon': 'xhtml.png', 'permissions': [PERMISSION_METADATA_TYPE_VIEW]}
setup_metadata_type_edit = {'text': _(u'Edit'), 'view': 'metadata:setup_metadata_type_edit', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_METADATA_TYPE_EDIT]}
setup_metadata_type_delete = {'text': _(u'Delete'), 'view': 'metadata:setup_metadata_type_delete', 'args': 'object.pk', 'famfam': 'xhtml_delete', 'permissions': [PERMISSION_METADATA_TYPE_DELETE]}
setup_metadata_type_create = {'text': _(u'Create new'), 'view': 'metadata:setup_metadata_type_create', 'famfam': 'xhtml_add', 'permissions': [PERMISSION_METADATA_TYPE_CREATE]}
setup_metadata_set_list = {'text': _(u'metadata sets'), 'view': 'metadata:setup_metadata_set_list', 'famfam': 'table', 'icon': 'table.png', 'permissions': [PERMISSION_METADATA_SET_VIEW]}
setup_metadata_set_edit = {'text': _(u'edit'), 'view': 'metadata:setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
setup_metadata_set_members = {'text': _(u'members'), 'view': 'metadata:setup_metadata_set_members', 'args': 'object.pk', 'famfam': 'table_link', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
setup_metadata_set_delete = {'text': _(u'delete'), 'view': 'metadata:setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]}
setup_metadata_set_create = {'text': _(u'create new'), 'view': 'metadata:setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]}
setup_metadata_set_list = {'text': _(u'Metadata sets'), 'view': 'metadata:setup_metadata_set_list', 'famfam': 'table', 'icon': 'table.png', 'permissions': [PERMISSION_METADATA_SET_VIEW]}
setup_metadata_set_edit = {'text': _(u'Edit'), 'view': 'metadata:setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
setup_metadata_set_members = {'text': _(u'Members'), 'view': 'metadata:setup_metadata_set_members', 'args': 'object.pk', 'famfam': 'table_link', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
setup_metadata_set_delete = {'text': _(u'Delete'), 'view': 'metadata:setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]}
setup_metadata_set_create = {'text': _(u'Create new'), 'view': 'metadata:setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]}
setup_document_type_metadata = {'text': _(u'default metadata'), 'view': 'metadata:setup_document_type_metadata', 'args': 'document_type.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]}
setup_document_type_metadata = {'text': _(u'Default metadata'), 'view': 'metadata:setup_document_type_metadata', 'args': 'document_type.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]}

View File

@@ -12,15 +12,15 @@ class MetadataType(models.Model):
"""
Define a type of metadata
"""
name = models.CharField(unique=True, max_length=48, verbose_name=_(u'name'), help_text=_(u'Do not use python reserved words, or spaces.'))
title = models.CharField(max_length=48, verbose_name=_(u'title'), blank=True, null=True)
name = models.CharField(unique=True, max_length=48, verbose_name=_(u'Name'), help_text=_(u'Do not use python reserved words, or spaces.'))
title = models.CharField(max_length=48, verbose_name=_(u'Title'), blank=True, null=True)
default = models.CharField(max_length=128, blank=True, null=True,
verbose_name=_(u'default'),
verbose_name=_(u'Default'),
help_text=_(u'Enter a string to be evaluated.'))
# TODO: Add enable_lookup boolean to allow users to switch the lookup on and
# off without losing the lookup expression
lookup = models.TextField(blank=True, null=True,
verbose_name=_(u'lookup'),
verbose_name=_(u'Lookup'),
help_text=_(u'Enter a string to be evaluated that returns an iterable.'))
# TODO: Add datatype choice: Date, Time, String, Number
# TODO: Find a different way to let users know what models and functions are
@@ -35,15 +35,15 @@ class MetadataType(models.Model):
class Meta:
ordering = ('title',)
verbose_name = _(u'metadata type')
verbose_name_plural = _(u'metadata types')
verbose_name = _(u'Metadata type')
verbose_name_plural = _(u'Metadata types')
class MetadataSet(models.Model):
"""
Define a group of metadata types
"""
title = models.CharField(max_length=48, verbose_name=_(u'title'), unique=True)
title = models.CharField(max_length=48, verbose_name=_(u'Title'), unique=True)
objects = MetadataSetManager()
@@ -55,8 +55,8 @@ class MetadataSet(models.Model):
class Meta:
ordering = ('title',)
verbose_name = _(u'metadata set')
verbose_name_plural = _(u'metadata set')
verbose_name = _(u'Metadata set')
verbose_name_plural = _(u'Metadata set')
class MetadataSetItem(models.Model):
@@ -65,15 +65,15 @@ class MetadataSetItem(models.Model):
metadata fields
"""
# TODO: is the metadata set model really necessary?
metadata_set = models.ForeignKey(MetadataSet, verbose_name=_(u'metadata set'))
metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'metadata type'))
metadata_set = models.ForeignKey(MetadataSet, verbose_name=_(u'Metadata set'))
metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'Metadata type'))
def __unicode__(self):
return unicode(self.metadata_type)
class Meta:
verbose_name = _(u'metadata set item')
verbose_name_plural = _(u'metadata set items')
verbose_name = _(u'Metadata set item')
verbose_name_plural = _(u'Metadata set items')
class DocumentMetadata(models.Model):
@@ -81,16 +81,16 @@ class DocumentMetadata(models.Model):
Link a document to a specific instance of a metadata type with it's
current value
"""
document = models.ForeignKey(Document, verbose_name=_(u'document'), related_name='metadata')
metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'type'))
value = models.CharField(max_length=255, blank=True, verbose_name=_(u'value'), db_index=True)
document = models.ForeignKey(Document, verbose_name=_(u'Document'), related_name='metadata')
metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'Type'))
value = models.CharField(max_length=255, blank=True, verbose_name=_(u'Value'), db_index=True)
def __unicode__(self):
return unicode(self.metadata_type)
class Meta:
verbose_name = _(u'document metadata')
verbose_name_plural = _(u'document metadata')
verbose_name = _(u'Document metadata')
verbose_name_plural = _(u'Document metadata')
class DocumentTypeDefaults(models.Model):
@@ -98,13 +98,13 @@ class DocumentTypeDefaults(models.Model):
Default preselected metadata types and metadata set per document
type
"""
document_type = models.ForeignKey(DocumentType, verbose_name=_(u'document type'))
default_metadata_sets = models.ManyToManyField(MetadataSet, blank=True, verbose_name=_(u'default metadata sets'))
default_metadata = models.ManyToManyField(MetadataType, blank=True, verbose_name=_(u'default metadata'))
document_type = models.ForeignKey(DocumentType, verbose_name=_(u'Document type'))
default_metadata_sets = models.ManyToManyField(MetadataSet, blank=True, verbose_name=_(u'Default metadata sets'))
default_metadata = models.ManyToManyField(MetadataType, blank=True, verbose_name=_(u'Default metadata'))
def __unicode__(self):
return unicode(self.document_type)
class Meta:
verbose_name = _(u'document type defaults')
verbose_name_plural = _(u'document types defaults')
verbose_name = _(u'Document type defaults')
verbose_name_plural = _(u'Document types defaults')

View File

@@ -272,9 +272,9 @@ def metadata_view(request, document_id):
AccessEntry.objects.check_access(PERMISSION_METADATA_DOCUMENT_VIEW, request.user, document)
return render_to_response('main/generic_list.html', {
'title': _(u'metadata for: %s') % document,
'title': _(u'Metadata for: %s') % document,
'object_list': document.metadata.all(),
'extra_columns': [{'name': _(u'value'), 'attribute': 'value'}],
'extra_columns': [{'name': _(u'Value'), 'attribute': 'value'}],
'hide_link': True,
'object': document,
}, context_instance=RequestContext(request))
@@ -286,11 +286,11 @@ def setup_metadata_type_list(request):
context = {
'object_list': MetadataType.objects.all(),
'title': _(u'metadata types'),
'title': _(u'Metadata types'),
'hide_link': True,
'extra_columns': [
{
'name': _(u'internal name'),
'name': _(u'Internal name'),
'attribute': 'name',
},
]
@@ -319,10 +319,10 @@ def setup_metadata_type_edit(request, metadatatype_id):
form = MetadataTypeForm(instance=metadata_type)
return render_to_response('main/generic_form.html', {
'title': _(u'edit metadata type: %s') % metadata_type,
'title': _(u'Edit metadata type: %s') % metadata_type,
'form': form,
'object': metadata_type,
'object_name': _(u'metadata type'),
'object_name': _(u'Metadata type'),
}, context_instance=RequestContext(request))
@@ -339,7 +339,7 @@ def setup_metadata_type_create(request):
form = MetadataTypeForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create metadata type'),
'title': _(u'Create metadata type'),
'form': form,
}, context_instance=RequestContext(request))
@@ -365,7 +365,7 @@ def setup_metadata_type_delete(request, metadatatype_id):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'metadata type'),
'object_name': _(u'Metadata type'),
'delete_view': True,
'next': next,
'previous': previous,
@@ -383,11 +383,11 @@ def setup_metadata_set_list(request):
context = {
'object_list': MetadataSet.objects.all(),
'title': _(u'metadata sets'),
'title': _(u'Metadata sets'),
'hide_link': True,
'extra_columns': [
{
'name': _(u'members'),
'name': _(u'Members'),
'attribute': encapsulate(lambda x: x.metadatasetitem_set.count()),
},
]
@@ -416,10 +416,10 @@ def setup_metadata_set_edit(request, metadata_set_id):
form = MetadataSetForm(instance=metadata_set)
return render_to_response('main/generic_form.html', {
'title': _(u'edit metadata set: %s') % metadata_set,
'title': _(u'Edit metadata set: %s') % metadata_set,
'form': form,
'object': metadata_set,
'object_name': _(u'metadata set'),
'object_name': _(u'Metadata set'),
}, context_instance=RequestContext(request))
@@ -457,11 +457,11 @@ def setup_metadata_set_members(request, metadata_set_id):
right_list=lambda: generate_choices_w_labels(get_set_members(metadata_set), display_object_type=False),
add_method=lambda x: add_set_member(metadata_set, x),
remove_method=lambda x: remove_set_member(metadata_set, x),
left_list_title=_(u'non members of metadata set: %s') % metadata_set,
right_list_title=_(u'members of metadata set: %s') % metadata_set,
left_list_title=_(u'Non members of metadata set: %s') % metadata_set,
right_list_title=_(u'Members of metadata set: %s') % metadata_set,
extra_context={
'object': metadata_set,
'object_name': _(u'metadata set'),
'object_name': _(u'Metadata set'),
}
)
@@ -479,7 +479,7 @@ def setup_metadata_set_create(request):
form = MetadataSetForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create metadata set'),
'title': _(u'Create metadata set'),
'form': form,
}, context_instance=RequestContext(request))
@@ -505,7 +505,7 @@ def setup_metadata_set_delete(request, metadata_set_id):
return HttpResponseRedirect(previous)
context = {
'object_name': _(u'metadata set'),
'object_name': _(u'Metadata set'),
'delete_view': True,
'next': next,
'previous': previous,
@@ -585,12 +585,12 @@ def setup_document_type_metadata(request, document_type_id):
right_list=lambda: get_document_type_metadata_members(document_type),
add_method=lambda x: add_document_type_metadata(document_type, x),
remove_method=lambda x: remove_document_type_metadata(document_type, x),
left_list_title=_(u'non members of document type: %s') % document_type,
right_list_title=_(u'members of document type: %s') % document_type,
left_list_title=_(u'Non members of document type: %s') % document_type,
right_list_title=_(u'Members of document type: %s') % document_type,
extra_context={
'document_type': document_type,
'navigation_object_name': 'document_type',
'object_name': _(u'document type'),
'object_name': _(u'Document type'),
},
grouped=True,
)

View File

@@ -240,7 +240,7 @@ def get_object_navigation_links(parser, token):
m = re.search(r'("?\w+"?)?.?as (\w+)', arg)
if not m:
raise TemplateSyntaxError("%r tag had invalid arguments" % tag_name)
raise TemplateSyntaxError('%r tag had invalid arguments' % tag_name)
menu_name, var_name = m.groups()
return GetNavigationLinks(menu_name=menu_name, var_name=var_name)
@@ -261,7 +261,7 @@ def get_multi_item_links(parser, token):
tag_name, arg = token.contents.split(None, 1)
m = re.search(r'("?\w+"?)?.?as (\w+)', arg)
if not m:
raise TemplateSyntaxError("%r tag had invalid arguments" % tag_name)
raise TemplateSyntaxError('%r tag had invalid arguments' % tag_name)
menu_name, var_name = m.groups()
return GetNavigationLinks(menu_name=menu_name, links_dict=multi_object_navigation, var_name=var_name)
@@ -296,7 +296,7 @@ def get_sidebar_templates(parser, token):
m = re.search(r'("?\w+"?)?.?as (\w+)', arg)
if not m:
raise TemplateSyntaxError("%r tag had invalid arguments" % tag_name)
raise TemplateSyntaxError('%r tag had invalid arguments' % tag_name)
menu_name, var_name = m.groups()
return GetSidebarTemplatesNone(var_name=var_name)

View File

@@ -44,7 +44,7 @@ def render_widget(request, link):
'icon': link.get('icon', 'link_button.png'),
'static_url': settings.STATIC_URL,
'string': link['text'],
'image_alt': _(u'icon'),
'image_alt': _(u'Icon'),
})
else:
return u''

View File

@@ -6,17 +6,17 @@ from .permissions import (PERMISSION_OCR_DOCUMENT,
PERMISSION_OCR_DOCUMENT_DELETE, PERMISSION_OCR_QUEUE_ENABLE_DISABLE,
PERMISSION_OCR_CLEAN_ALL_PAGES)
submit_document = {'text': _('submit to OCR queue'), 'view': 'ocr:submit_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
submit_document_multiple = {'text': _('submit to OCR queue'), 'view': 'ocr:submit_document_multiple', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_document = {'text': _('re-queue'), 'view': 'ocr:re_queue_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_multiple_document = {'text': _('re-queue'), 'view': 'ocr:re_queue_multiple_document', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
queue_document_delete = {'text': _(u'delete'), 'view': 'ocr:queue_document_delete', 'args': 'object.id', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
queue_document_multiple_delete = {'text': _(u'delete'), 'view': 'ocr:queue_document_multiple_delete', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
submit_document = {'text': _('Submit to OCR queue'), 'view': 'ocr:submit_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
submit_document_multiple = {'text': _('Submit to OCR queue'), 'view': 'ocr:submit_document_multiple', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_document = {'text': _('Re-queue'), 'view': 'ocr:re_queue_document', 'args': 'object.id', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
re_queue_multiple_document = {'text': _('Re-queue'), 'view': 'ocr:re_queue_multiple_document', 'famfam': 'hourglass_add', 'permissions': [PERMISSION_OCR_DOCUMENT]}
queue_document_delete = {'text': _(u'Delete'), 'view': 'ocr:queue_document_delete', 'args': 'object.id', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
queue_document_multiple_delete = {'text': _(u'Delete'), 'view': 'ocr:queue_document_multiple_delete', 'famfam': 'hourglass_delete', 'permissions': [PERMISSION_OCR_DOCUMENT_DELETE]}
document_queue_disable = {'text': _(u'stop queue'), 'view': 'ocr:document_queue_disable', 'args': 'queue.id', 'famfam': 'control_stop_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
document_queue_enable = {'text': _(u'activate queue'), 'view': 'ocr:document_queue_enable', 'args': 'queue.id', 'famfam': 'control_play_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
document_queue_disable = {'text': _(u'Stop queue'), 'view': 'ocr:document_queue_disable', 'args': 'queue.id', 'famfam': 'control_stop_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
document_queue_enable = {'text': _(u'Activate queue'), 'view': 'ocr:document_queue_enable', 'args': 'queue.id', 'famfam': 'control_play_blue', 'permissions': [PERMISSION_OCR_QUEUE_ENABLE_DISABLE]}
all_document_ocr_cleanup = {'text': _(u'clean up pages content'), 'view': 'ocr:all_document_ocr_cleanup', 'famfam': 'text_strikethrough', 'permissions': [PERMISSION_OCR_CLEAN_ALL_PAGES], 'description': _(u'Runs a language filter to remove common OCR mistakes from document pages content.')}
all_document_ocr_cleanup = {'text': _(u'Clean up pages content'), 'view': 'ocr:all_document_ocr_cleanup', 'famfam': 'text_strikethrough', 'permissions': [PERMISSION_OCR_CLEAN_ALL_PAGES], 'description': _(u'Runs a language filter to remove common OCR mistakes from document pages content.')}
queue_document_list = {'text': _(u'queue document list'), 'view': 'ocr:queue_document_list', 'famfam': 'hourglass', 'permissions': [PERMISSION_OCR_DOCUMENT]}
queue_document_list = {'text': _(u'Queue document list'), 'view': 'ocr:queue_document_list', 'famfam': 'hourglass', 'permissions': [PERMISSION_OCR_DOCUMENT]}
ocr_tool_link = {'text': _(u'OCR'), 'view': 'ocr:queue_document_list', 'famfam': 'hourglass', 'icon': 'text.png', 'permissions': [PERMISSION_OCR_DOCUMENT], 'children_view_regex': [r'queue_', r'document_queue']}

View File

@@ -16,39 +16,39 @@ from .managers import DocumentQueueManager
class DocumentQueue(models.Model):
name = models.CharField(max_length=64, unique=True, verbose_name=_(u'name'))
label = models.CharField(max_length=64, verbose_name=_(u'label'))
name = models.CharField(max_length=64, unique=True, verbose_name=_(u'Name'))
label = models.CharField(max_length=64, verbose_name=_(u'Label'))
state = models.CharField(max_length=4,
choices=DOCUMENTQUEUE_STATE_CHOICES,
default=DOCUMENTQUEUE_STATE_ACTIVE,
verbose_name=_(u'state'))
verbose_name=_(u'State'))
objects = DocumentQueueManager()
class Meta:
verbose_name = _(u'document queue')
verbose_name_plural = _(u'document queues')
verbose_name = _(u'Document queue')
verbose_name_plural = _(u'Document queues')
def __unicode__(self):
return self.label
class QueueDocument(models.Model):
document_queue = models.ForeignKey(DocumentQueue, verbose_name=_(u'document queue'))
document = models.ForeignKey(Document, verbose_name=_(u'document'))
datetime_submitted = models.DateTimeField(verbose_name=_(u'date time submitted'), auto_now_add=True, db_index=True)
delay = models.BooleanField(verbose_name=_(u'delay ocr'), default=False)
document_queue = models.ForeignKey(DocumentQueue, verbose_name=_(u'Document queue'))
document = models.ForeignKey(Document, verbose_name=_(u'Document'))
datetime_submitted = models.DateTimeField(verbose_name=_(u'Date time submitted'), auto_now_add=True, db_index=True)
delay = models.BooleanField(verbose_name=_(u'Delay OCR'), default=False)
state = models.CharField(max_length=4,
choices=QUEUEDOCUMENT_STATE_CHOICES,
default=QUEUEDOCUMENT_STATE_PENDING,
verbose_name=_(u'state'))
result = models.TextField(blank=True, null=True, verbose_name=_(u'result'))
node_name = models.CharField(max_length=32, verbose_name=_(u'node name'), blank=True, null=True)
verbose_name=_(u'State'))
result = models.TextField(blank=True, null=True, verbose_name=_(u'Result'))
node_name = models.CharField(max_length=32, verbose_name=_(u'Node name'), blank=True, null=True)
class Meta:
ordering = ('datetime_submitted',)
verbose_name = _(u'queue document')
verbose_name_plural = _(u'queue documents')
verbose_name = _(u'Queue document')
verbose_name_plural = _(u'Queue documents')
def requeue(self):
if self.state == QUEUEDOCUMENT_STATE_PROCESSING:

View File

@@ -30,10 +30,10 @@ def queue_document_list(request, queue_name='default'):
context = {
'object_list': document_queue.queuedocument_set.all(),
'title': _(u'documents in queue: %s') % document_queue,
'title': _(u'Documents in queue: %s') % document_queue,
'hide_object': True,
'queue': document_queue,
'object_name': _(u'document queue'),
'object_name': _(u'Document queue'),
'navigation_object_name': 'queue',
'list_object_variable_name': 'queue_document',
'extra_columns': [
@@ -51,7 +51,7 @@ def queue_document_list(request, queue_name='default'):
'name': 'main/generic_subtemplate.html',
'context': {
'side_bar': True,
'title': _(u'document queue properties'),
'title': _(u'Document queue properties'),
'content': _(u'Current state: %s') % document_queue.get_state_display(),
}
}

View File

@@ -6,12 +6,12 @@ from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT,
PERMISSION_ROLE_CREATE, PERMISSION_ROLE_DELETE,
PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE)
role_list = {'text': _(u'roles'), 'view': 'permissions:role_list', 'famfam': 'medal_gold_1', 'icon': 'medal_gold_1.png', 'permissions': [PERMISSION_ROLE_VIEW], 'children_view_regex': [r'^permission_', r'^role_']}
role_create = {'text': _(u'create new role'), 'view': 'permissions:role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]}
role_edit = {'text': _(u'edit'), 'view': 'permissions:role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]}
role_members = {'text': _(u'members'), 'view': 'permissions:role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]}
role_permissions = {'text': _(u'role permissions'), 'view': 'permissions:role_permissions', 'args': 'object.id', 'famfam': 'key_go', 'permissions': [PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]}
role_delete = {'text': _(u'delete'), 'view': 'permissions:role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]}
role_list = {'text': _(u'Roles'), 'view': 'permissions:role_list', 'famfam': 'medal_gold_1', 'icon': 'medal_gold_1.png', 'permissions': [PERMISSION_ROLE_VIEW], 'children_view_regex': [r'^permission_', r'^role_']}
role_create = {'text': _(u'Create new role'), 'view': 'permissions:role_create', 'famfam': 'medal_gold_add', 'permissions': [PERMISSION_ROLE_CREATE]}
role_edit = {'text': _(u'Edit'), 'view': 'permissions:role_edit', 'args': 'object.id', 'famfam': 'medal_gold_1', 'permissions': [PERMISSION_ROLE_EDIT]}
role_members = {'text': _(u'Members'), 'view': 'permissions:role_members', 'args': 'object.id', 'famfam': 'group_key', 'permissions': [PERMISSION_ROLE_EDIT]}
role_permissions = {'text': _(u'Role permissions'), 'view': 'permissions:role_permissions', 'args': 'object.id', 'famfam': 'key_go', 'permissions': [PERMISSION_PERMISSION_GRANT, PERMISSION_PERMISSION_REVOKE]}
role_delete = {'text': _(u'Delete'), 'view': 'permissions:role_delete', 'args': 'object.id', 'famfam': 'medal_gold_delete', 'permissions': [PERMISSION_ROLE_DELETE]}
permission_grant = {'text': _(u'grant'), 'view': 'permissions:permission_multiple_grant', 'famfam': 'key_add', 'permissions': [PERMISSION_PERMISSION_GRANT]}
permission_revoke = {'text': _(u'revoke'), 'view': 'permissions:permission_multiple_revoke', 'famfam': 'key_delete', 'permissions': [PERMISSION_PERMISSION_REVOKE]}
permission_grant = {'text': _(u'Grant'), 'view': 'permissions:permission_multiple_grant', 'famfam': 'key_add', 'permissions': [PERMISSION_PERMISSION_GRANT]}
permission_revoke = {'text': _(u'Revoke'), 'view': 'permissions:permission_multiple_revoke', 'famfam': 'key_delete', 'permissions': [PERMISSION_PERMISSION_REVOKE]}

View File

@@ -123,16 +123,16 @@ Permission._default_manager = Permission.objects
class StoredPermission(models.Model):
namespace = models.CharField(max_length=64, verbose_name=_(u'namespace'))
name = models.CharField(max_length=64, verbose_name=_(u'name'))
namespace = models.CharField(max_length=64, verbose_name=_(u'Namespace'))
name = models.CharField(max_length=64, verbose_name=_(u'Name'))
objects = StoredPermissionManager()
class Meta:
ordering = ('namespace',)
unique_together = ('namespace', 'name')
verbose_name = _(u'permission')
verbose_name_plural = _(u'permissions')
verbose_name = _(u'Permission')
verbose_name_plural = _(u'Permissions')
def __init__(self, *args, **kwargs):
super(StoredPermission, self).__init__(*args, **kwargs)
@@ -193,7 +193,7 @@ class StoredPermission(models.Model):
class PermissionHolder(models.Model):
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'permission'))
permission = models.ForeignKey(StoredPermission, verbose_name=_(u'Permission'))
holder_type = models.ForeignKey(ContentType,
related_name='permission_holder',
limit_choices_to={'model__in': ('user', 'group', 'role')})
@@ -201,8 +201,8 @@ class PermissionHolder(models.Model):
holder_object = generic.GenericForeignKey(ct_field='holder_type', fk_field='holder_id')
class Meta:
verbose_name = _(u'permission holder')
verbose_name_plural = _(u'permission holders')
verbose_name = _(u'Permission holder')
verbose_name_plural = _(u'Permission holders')
def __unicode__(self):
return u'%s: %s' % (self.holder_type, self.holder_object)
@@ -210,12 +210,12 @@ class PermissionHolder(models.Model):
class Role(models.Model):
name = models.CharField(max_length=64, unique=True)
label = models.CharField(max_length=64, unique=True, verbose_name=_(u'label'))
label = models.CharField(max_length=64, unique=True, verbose_name=_(u'Label'))
class Meta:
ordering = ('label',)
verbose_name = _(u'role')
verbose_name_plural = _(u'roles')
verbose_name = _(u'Role')
verbose_name_plural = _(u'Roles')
def __unicode__(self):
return self.label
@@ -245,7 +245,7 @@ class Role(models.Model):
class RoleMember(models.Model):
role = models.ForeignKey(Role, verbose_name=_(u'role'))
role = models.ForeignKey(Role, verbose_name=_(u'Role'))
member_type = models.ForeignKey(ContentType,
related_name='role_member',
limit_choices_to={
@@ -260,8 +260,8 @@ class RoleMember(models.Model):
objects = RoleMemberManager()
class Meta:
verbose_name = _(u'role member')
verbose_name_plural = _(u'role members')
verbose_name = _(u'Role member')
verbose_name_plural = _(u'Role members')
def __unicode__(self):
return unicode(self.member_object)

View File

@@ -28,7 +28,7 @@ from .permissions import (PERMISSION_ROLE_VIEW, PERMISSION_ROLE_EDIT,
class RoleCreateView(SingleObjectCreateView):
extra_context = {'object_name': _(u'role')}
extra_context = {'object_name': _(u'Role')}
form_class = RoleForm
model = Role
permissions_required = [PERMISSION_ROLE_CREATE]
@@ -39,14 +39,14 @@ class RoleDeleteView(SingleObjectDeleteView):
model = Role
permissions_required = [PERMISSION_ROLE_DELETE]
extra_context = {
'object_name': _(u'role'),
'object_name': _(u'Role'),
'form_icon': u'medal_gold_delete.png'
}
success_url = reverse_lazy('permissions:role_list')
class RoleEditView(SingleObjectEditView):
extra_context = {'object_name': _(u'role')}
extra_context = {'object_name': _(u'Role')}
model = Role
permissions_required = [PERMISSION_ROLE_EDIT]
@@ -56,7 +56,7 @@ def role_list(request):
context = {
'object_list': Role.objects.all(),
'title': _(u'roles'),
'title': _(u'Roles'),
'hide_link': True,
}
@@ -74,13 +74,13 @@ def role_permissions(request, role_id):
{
'name': u'main/generic_list_subtemplate.html',
'context': {
'title': _(u'permissions'),
'title': _(u'Permissions'),
'object_list': Permission.objects.all(),
'extra_columns': [
{'name': _(u'namespace'), 'attribute': encapsulate(lambda x: x.namespace)},
{'name': _(u'name'), 'attribute': encapsulate(lambda x: x.label)},
{'name': _(u'Namespace'), 'attribute': encapsulate(lambda x: x.namespace)},
{'name': _(u'Name'), 'attribute': encapsulate(lambda x: x.label)},
{
'name': _(u'has permission'),
'name': _(u'Has permission'),
'attribute': encapsulate(lambda x: two_state_template(x.requester_has_this(role))),
},
],
@@ -93,7 +93,7 @@ def role_permissions(request, role_id):
return render_to_response('main/generic_detail.html', {
'form': form,
'object': role,
'object_name': _(u'role'),
'object_name': _(u'Role'),
'subtemplates_list': subtemplates_list,
'multi_select_as_buttons': True,
'multi_select_item_properties': {
@@ -134,9 +134,9 @@ def permission_grant(request):
title_suffix = _(u' and ').join([_(u'%(permissions)s to %(requester)s') % {'permissions': ', '.join(['"%s"' % unicode(ps) for ps in p]), 'requester': unicode(r)} for r, p in grouped_items])
if len(grouped_items) == 1 and len(grouped_items[0][1]) == 1:
permissions_label = _(u'permission')
permissions_label = _(u'Permission')
else:
permissions_label = _(u'permissions')
permissions_label = _(u'Permissions')
if request.method == 'POST':
for item in items:
@@ -307,11 +307,11 @@ def role_members(request, role_id):
right_list=lambda: get_role_members(role),
add_method=lambda x: add_role_member(role, x),
remove_method=lambda x: remove_role_member(role, x),
left_list_title=_(u'non members of role: %s') % role,
right_list_title=_(u'members of role: %s') % role,
left_list_title=_(u'Non members of role: %s') % role,
right_list_title=_(u'Members of role: %s') % role,
extra_context={
'object': role,
'object_name': _(u'role'),
'object_name': _(u'Role'),
},
grouped=True,
)

View File

@@ -1,3 +1,3 @@
from django.utils.translation import ugettext_lazy as _
link_setup = {'text': _(u'setup'), 'view': 'project_setup:setup_list', 'famfam': 'cog'}
link_setup = {'text': _(u'Setup'), 'view': 'project_setup:setup_list', 'famfam': 'cog'}

View File

@@ -12,7 +12,7 @@ from .api import setup_items
def setup_list(request):
context = {
'object_list': [button_navigation_widget(request, item) for item in setup_items],
'title': _(u'setup items'),
'title': _(u'Setup items'),
}
return render_to_response('main/generic_list_horizontal.html', context,

View File

@@ -1,3 +1,3 @@
from django.utils.translation import ugettext_lazy as _
link_tools = {'text': _(u'tools'), 'view': 'project_tools:tools_list', 'famfam': 'wrench'}
link_tools = {'text': _(u'Tools'), 'view': 'project_tools:tools_list', 'famfam': 'wrench'}

View File

@@ -12,7 +12,7 @@ from .api import tool_items
def tools_list(request):
context = {
'object_list': [button_navigation_widget(request, item) for item in tool_items],
'title': _(u'tools'),
'title': _(u'Tools'),
}
return render_to_response('main/generic_list_horizontal.html', context,

View File

@@ -18,8 +18,8 @@ class RegistrationSingleton(SingletonModel):
_cached_name = None
_registered = None
registered = models.BooleanField(default=False, verbose_name=_('registered'))
registration_data = models.TextField(verbose_name=_(u'registration data'), blank=True)
registered = models.BooleanField(default=False, verbose_name=_('Registered'))
registration_data = models.TextField(verbose_name=_(u'Registration data'), blank=True)
@classmethod
def registration_state(cls):
@@ -84,4 +84,4 @@ class RegistrationSingleton(SingletonModel):
lock.release()
class Meta:
verbose_name = verbose_name_plural = _(u'registration properties')
verbose_name = verbose_name_plural = _(u'Registration properties')

View File

@@ -5,4 +5,4 @@ def is_superuser(context):
return context['request'].user.is_staff or context['request'].user.is_superuser
check_settings = {'text': _(u'settings'), 'view': 'settings:setting_list', 'famfam': 'cog', 'icon': 'cog.png', 'condition': is_superuser, 'children_view_regex': [r'^setting_']}
check_settings = {'text': _(u'Settings'), 'view': 'settings:setting_list', 'famfam': 'cog', 'icon': 'cog.png', 'condition': is_superuser, 'children_view_regex': [r'^setting_']}

View File

@@ -25,15 +25,15 @@ def setting_list(request):
'default': sub_setting['default'],
})
context = {
'title': _(u'settings'),
'title': _(u'Settings'),
'object_list': new_settings,
'hide_link': True,
'hide_object': True,
'extra_columns': [
{'name': _(u'name'), 'attribute': encapsulate(lambda x: mark_safe(u'<span style="font-weight: bold;">%s</span><br />%s' % (x.get('global_name'), x.get('description'))))},
{'name': _(u'default'), 'attribute': encapsulate(lambda x: return_type(x['default']))},
{'name': _(u'Name'), 'attribute': encapsulate(lambda x: mark_safe(u'<span style="font-weight: bold;">%s</span><br />%s' % (x.get('global_name'), x.get('description'))))},
{'name': _(u'Default'), 'attribute': encapsulate(lambda x: return_type(x['default']))},
{
'name': _(u'value'), 'attribute': encapsulate(lambda x: mark_safe(u'<div class="nowrap">%s&nbsp;%s</div>' % (
'name': _(u'Value'), 'attribute': encapsulate(lambda x: mark_safe(u'<div class="nowrap">%s&nbsp;%s</div>' % (
return_type(getattr(x['module'], x['name'])),
exists_with_famfam(getattr(x['module'], x['name'])) if x['exists'] else ''
)))

View File

@@ -47,7 +47,7 @@ source_views = ['sources:setup_web_form_list', 'sources:setup_staging_folder_lis
register_model_list_columns(StagingFile, [
{
'name': _(u'thumbnail'), 'attribute':
'name': _(u'Thumbnail'), 'attribute':
encapsulate(lambda x: staging_file_thumbnail(x, gallery_name='sources:staging_list', title=x.filename, size='100'))
},
])

View File

@@ -10,25 +10,25 @@ from .permissions import (PERMISSION_SOURCES_SETUP_VIEW,
PERMISSION_SOURCES_SETUP_EDIT, PERMISSION_SOURCES_SETUP_DELETE,
PERMISSION_SOURCES_SETUP_CREATE)
document_create_multiple = {'text': _(u'upload new documents'), 'view': 'sources:document_create_multiple', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_CREATE], 'children_view_regex': [r'upload_interactive']}
document_create_siblings = {'text': _(u'clone metadata'), 'view': 'sources:document_create_siblings', 'args': 'object.id', 'famfam': 'page_copy', 'permissions': [PERMISSION_DOCUMENT_CREATE]}
document_create_multiple = {'text': _(u'Upload new documents'), 'view': 'sources:document_create_multiple', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_CREATE], 'children_view_regex': [r'upload_interactive']}
document_create_siblings = {'text': _(u'Clone metadata'), 'view': 'sources:document_create_siblings', 'args': 'object.id', 'famfam': 'page_copy', 'permissions': [PERMISSION_DOCUMENT_CREATE]}
staging_file_delete = {'text': _(u'delete'), 'view': 'sources:staging_file_delete', 'args': ['source.pk', 'object.encoded_filename'], 'famfam': 'delete', 'keep_query': True, 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
staging_file_delete = {'text': _(u'Delete'), 'view': 'sources:staging_file_delete', 'args': ['source.pk', 'object.encoded_filename'], 'famfam': 'delete', 'keep_query': True, 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION, PERMISSION_DOCUMENT_CREATE]}
setup_sources = {'text': _(u'sources'), 'view': 'sources:setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW], 'children_view_regex': [r'setup_web_form', r'setup_staging_folder', r'setup_source_']}
setup_web_form_list = {'text': _(u'web forms'), 'view': 'sources:setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_staging_folder_list = {'text': _(u'staging folders'), 'view': 'sources:setup_staging_folder_list', 'famfam': 'folder_camera', 'children_classes': [StagingFolder], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_watch_folder_list = {'text': _(u'watch folders'), 'view': 'sources:setup_watch_folder_list', 'famfam': 'folder_magnify', 'children_classes': [WatchFolder], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_sources = {'text': _(u'Sources'), 'view': 'sources:setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW], 'children_view_regex': [r'setup_web_form', r'setup_staging_folder', r'setup_source_']}
setup_web_form_list = {'text': _(u'Web forms'), 'view': 'sources:setup_web_form_list', 'famfam': 'application_form', 'icon': 'application_form.png', 'children_classes': [WebForm], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_staging_folder_list = {'text': _(u'Staging folders'), 'view': 'sources:setup_staging_folder_list', 'famfam': 'folder_camera', 'children_classes': [StagingFolder], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_watch_folder_list = {'text': _(u'Watch folders'), 'view': 'sources:setup_watch_folder_list', 'famfam': 'folder_magnify', 'children_classes': [WatchFolder], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
setup_source_edit = {'text': _(u'edit'), 'view': 'sources:setup_source_edit', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_edit', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_delete = {'text': _(u'delete'), 'view': 'sources:setup_source_delete', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_delete', 'permissions': [PERMISSION_SOURCES_SETUP_DELETE]}
setup_source_create = {'text': _(u'add new source'), 'view': 'sources:setup_source_create', 'args': 'source_type', 'famfam': 'application_form_add', 'permissions': [PERMISSION_SOURCES_SETUP_CREATE]}
setup_source_edit = {'text': _(u'Edit'), 'view': 'sources:setup_source_edit', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_edit', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_delete = {'text': _(u'Delete'), 'view': 'sources:setup_source_delete', 'args': ['source.source_type', 'source.pk'], 'famfam': 'application_form_delete', 'permissions': [PERMISSION_SOURCES_SETUP_DELETE]}
setup_source_create = {'text': _(u'Add new source'), 'view': 'sources:setup_source_create', 'args': 'source_type', 'famfam': 'application_form_add', 'permissions': [PERMISSION_SOURCES_SETUP_CREATE]}
setup_source_transformation_list = {'text': _(u'transformations'), 'view': 'sources:setup_source_transformation_list', 'args': ['source.source_type', 'source.pk'], 'famfam': 'shape_move_front', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_create = {'text': _(u'add transformation'), 'view': 'sources:setup_source_transformation_create', 'args': ['source.source_type', 'source.pk'], 'famfam': 'shape_square_add', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_edit = {'text': _(u'edit'), 'view': 'sources:setup_source_transformation_edit', 'args': 'transformation.pk', 'famfam': 'shape_square_edit', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_delete = {'text': _(u'delete'), 'view': 'sources:setup_source_transformation_delete', 'args': 'transformation.pk', 'famfam': 'shape_square_delete', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_list = {'text': _(u'Transformations'), 'view': 'sources:setup_source_transformation_list', 'args': ['source.source_type', 'source.pk'], 'famfam': 'shape_move_front', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_create = {'text': _(u'Add transformation'), 'view': 'sources:setup_source_transformation_create', 'args': ['source.source_type', 'source.pk'], 'famfam': 'shape_square_add', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_edit = {'text': _(u'Edit'), 'view': 'sources:setup_source_transformation_edit', 'args': 'transformation.pk', 'famfam': 'shape_square_edit', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
setup_source_transformation_delete = {'text': _(u'Delete'), 'view': 'sources:setup_source_transformation_delete', 'args': 'transformation.pk', 'famfam': 'shape_square_delete', 'permissions': [PERMISSION_SOURCES_SETUP_EDIT]}
source_list = {'text': _(u'Document sources'), 'view': 'sources:setup_web_form_list', 'famfam': 'page_add', 'children_url_regex': [r'sources/setup'], 'permissions': [PERMISSION_SOURCES_SETUP_VIEW]}
upload_version = {'text': _(u'upload new version'), 'view': 'sources:upload_version', 'args': 'object.pk', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION]}
upload_version = {'text': _(u'Upload new version'), 'view': 'sources:upload_version', 'args': 'object.pk', 'famfam': 'page_add', 'permissions': [PERMISSION_DOCUMENT_NEW_VERSION]}

View File

@@ -44,13 +44,13 @@ SOURCE_CHOICE_STAGING = 'staging'
SOURCE_CHOICE_WATCH = 'watch'
SOURCE_CHOICES = (
(SOURCE_CHOICE_WEB_FORM, _(u'web form')),
(SOURCE_CHOICE_STAGING, _(u'server staging folder')),
(SOURCE_CHOICE_WATCH, _(u'server watch folder')),
(SOURCE_CHOICE_WEB_FORM, _(u'Web form')),
(SOURCE_CHOICE_STAGING, _(u'Server staging folder')),
(SOURCE_CHOICE_WATCH, _(u'Server watch folder')),
)
SOURCE_CHOICES_PLURAL = (
(SOURCE_CHOICE_WEB_FORM, _(u'web forms')),
(SOURCE_CHOICE_STAGING, _(u'server staging folders')),
(SOURCE_CHOICE_WATCH, _(u'server watch folders')),
(SOURCE_CHOICE_WEB_FORM, _(u'Web forms')),
(SOURCE_CHOICE_STAGING, _(u'Server staging folders')),
(SOURCE_CHOICE_WATCH, _(u'Server watch folders')),
)

View File

@@ -33,10 +33,10 @@ logger = logging.getLogger(__name__)
class BaseModel(models.Model):
title = models.CharField(max_length=64, verbose_name=_(u'title'))
enabled = models.BooleanField(default=True, verbose_name=_(u'enabled'))
whitelist = models.TextField(blank=True, verbose_name=_(u'whitelist'), editable=False)
blacklist = models.TextField(blank=True, verbose_name=_(u'blacklist'), editable=False)
title = models.CharField(max_length=64, verbose_name=_(u'Title'))
enabled = models.BooleanField(default=True, verbose_name=_(u'Enabled'))
whitelist = models.TextField(blank=True, verbose_name=_(u'Whitelist'), editable=False)
blacklist = models.TextField(blank=True, verbose_name=_(u'Blacklist'), editable=False)
@classmethod
def class_fullname(cls):
@@ -141,7 +141,7 @@ class BaseModel(models.Model):
class InteractiveBaseModel(BaseModel):
icon = models.CharField(blank=True, null=True, max_length=24, choices=SOURCE_ICON_CHOICES, verbose_name=_(u'icon'), help_text=_(u'An icon to visually distinguish this source.'))
icon = models.CharField(blank=True, null=True, max_length=24, choices=SOURCE_ICON_CHOICES, verbose_name=_(u'Icon'), help_text=_(u'An icon to visually distinguish this source.'))
def save(self, *args, **kwargs):
if not self.icon:
@@ -157,11 +157,11 @@ class StagingFolder(InteractiveBaseModel):
source_type = SOURCE_CHOICE_STAGING
default_icon = SOURCE_ICON_DRIVE
folder_path = models.CharField(max_length=255, verbose_name=_(u'folder path'), help_text=_(u'Server side filesystem path.'))
preview_width = models.IntegerField(verbose_name=_(u'preview width'), help_text=_(u'Width value to be passed to the converter backend.'))
preview_height = models.IntegerField(blank=True, null=True, verbose_name=_(u'preview height'), help_text=_(u'Height value to be passed to the converter backend.'))
uncompress = models.CharField(max_length=1, choices=SOURCE_INTERACTIVE_UNCOMPRESS_CHOICES, verbose_name=_(u'uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
delete_after_upload = models.BooleanField(default=True, verbose_name=_(u'delete after upload'), help_text=_(u'Delete the file after is has been successfully uploaded.'))
folder_path = models.CharField(max_length=255, verbose_name=_(u'Folder path'), help_text=_(u'Server side filesystem path.'))
preview_width = models.IntegerField(verbose_name=_(u'Preview width'), help_text=_(u'Width value to be passed to the converter backend.'))
preview_height = models.IntegerField(blank=True, null=True, verbose_name=_(u'Preview height'), help_text=_(u'Height value to be passed to the converter backend.'))
uncompress = models.CharField(max_length=1, choices=SOURCE_INTERACTIVE_UNCOMPRESS_CHOICES, verbose_name=_(u'Uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
delete_after_upload = models.BooleanField(default=True, verbose_name=_(u'Delete after upload'), help_text=_(u'Delete the file after is has been successfully uploaded.'))
def get_preview_size(self):
dimensions = []
@@ -182,8 +182,8 @@ class StagingFolder(InteractiveBaseModel):
raise Exception(_(u'Unable get list of staging files: %s') % exception)
class Meta(InteractiveBaseModel.Meta):
verbose_name = _(u'staging folder')
verbose_name_plural = _(u'staging folders')
verbose_name = _(u'Staging folder')
verbose_name_plural = _(u'Staging folders')
class WebForm(InteractiveBaseModel):
@@ -191,22 +191,22 @@ class WebForm(InteractiveBaseModel):
source_type = SOURCE_CHOICE_WEB_FORM
default_icon = SOURCE_ICON_DISK
uncompress = models.CharField(max_length=1, choices=SOURCE_INTERACTIVE_UNCOMPRESS_CHOICES, verbose_name=_(u'uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
uncompress = models.CharField(max_length=1, choices=SOURCE_INTERACTIVE_UNCOMPRESS_CHOICES, verbose_name=_(u'Uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
# Default path
class Meta(InteractiveBaseModel.Meta):
verbose_name = _(u'web form')
verbose_name_plural = _(u'web forms')
verbose_name = _(u'Web form')
verbose_name_plural = _(u'Web forms')
class WatchFolder(BaseModel):
is_interactive = False
source_type = SOURCE_CHOICE_WATCH
folder_path = models.CharField(max_length=255, verbose_name=_(u'folder path'), help_text=_(u'Server side filesystem path.'))
uncompress = models.CharField(max_length=1, choices=SOURCE_UNCOMPRESS_CHOICES, verbose_name=_(u'uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
delete_after_upload = models.BooleanField(default=True, verbose_name=_(u'delete after upload'), help_text=_(u'Delete the file after is has been successfully uploaded.'))
interval = models.PositiveIntegerField(verbose_name=_(u'interval'), help_text=_(u'Inverval in seconds where the watch folder path is checked for new documents.'))
folder_path = models.CharField(max_length=255, verbose_name=_(u'Folder path'), help_text=_(u'Server side filesystem path.'))
uncompress = models.CharField(max_length=1, choices=SOURCE_UNCOMPRESS_CHOICES, verbose_name=_(u'Uncompress'), help_text=_(u'Whether to expand or not compressed archives.'))
delete_after_upload = models.BooleanField(default=True, verbose_name=_(u'Delete after upload'), help_text=_(u'Delete the file after is has been successfully uploaded.'))
interval = models.PositiveIntegerField(verbose_name=_(u'Interval'), help_text=_(u'Inverval in seconds where the watch folder path is checked for new documents.'))
def save(self, *args, **kwargs):
if self.pk:
@@ -230,8 +230,8 @@ class WatchFolder(BaseModel):
print 'execute: %s' % self.internal_name()
class Meta(BaseModel.Meta):
verbose_name = _(u'watch folder')
verbose_name_plural = _(u'watch folders')
verbose_name = _(u'Watch folder')
verbose_name_plural = _(u'Watch folders')
class ArgumentsValidator(object):
@@ -263,9 +263,9 @@ class SourceTransformation(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
order = models.PositiveIntegerField(default=0, blank=True, null=True, verbose_name=_(u'order'), db_index=True)
transformation = models.CharField(choices=get_available_transformations_choices(), max_length=128, verbose_name=_(u'transformation'))
arguments = models.TextField(blank=True, null=True, verbose_name=_(u'arguments'), help_text=_(u'Use dictionaries to indentify arguments, example: %s') % u'{\'degrees\':90}', validators=[ArgumentsValidator()])
order = models.PositiveIntegerField(default=0, blank=True, null=True, verbose_name=_(u'Order'), db_index=True)
transformation = models.CharField(choices=get_available_transformations_choices(), max_length=128, verbose_name=_(u'Transformation'))
arguments = models.TextField(blank=True, null=True, verbose_name=_(u'Arguments'), help_text=_(u'Use dictionaries to indentify arguments, example: %s') % u'{\'degrees\':90}', validators=[ArgumentsValidator()])
objects = models.Manager()
transformations = SourceTransformationManager()
@@ -275,13 +275,13 @@ class SourceTransformation(models.Model):
class Meta:
ordering = ('order',)
verbose_name = _(u'document source transformation')
verbose_name_plural = _(u'document source transformations')
verbose_name = _(u'Document source transformation')
verbose_name_plural = _(u'Document source transformations')
class OutOfProcess(BaseModel):
is_interactive = False
class Meta(BaseModel.Meta):
verbose_name = _(u'out of process')
verbose_name_plural = _(u'out of process')
verbose_name = _(u'Out of process')
verbose_name_plural = _(u'Out of process')

View File

@@ -108,7 +108,7 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
context = {}
if results[SOURCE_CHOICE_WEB_FORM].count() == 0 and results[SOURCE_CHOICE_STAGING].count() == 0:
source_setup_link = mark_safe('<a href="%s">%s</a>' % (reverse('setup_web_form_list'), ugettext(u'here')))
source_setup_link = mark_safe('<a href="%s">%s</a>' % (reverse('setup_web_form_list'), ugettext(u'Here')))
subtemplates_list.append(
{
'name': 'main/generic_subtemplate.html',
@@ -202,9 +202,9 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
instance=document
)
if document:
title = _(u'upload a new version from source: %s') % web_form.title
title = _(u'Upload a new version from source: %s') % web_form.title
else:
title = _(u'upload a local document from source: %s') % web_form.title
title = _(u'Upload a local document from source: %s') % web_form.title
subtemplates_list.append({
'name': 'main/generic_form_subtemplate.html',
@@ -289,9 +289,9 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
staging_filelist = []
finally:
if document:
title = _(u'upload a new version from staging source: %s') % staging_folder.title
title = _(u'Upload a new version from staging source: %s') % staging_folder.title
else:
title = _(u'upload a document from staging source: %s') % staging_folder.title
title = _(u'Upload a document from staging source: %s') % staging_folder.title
subtemplates_list = [
{
@@ -304,7 +304,7 @@ def upload_interactive(request, source_type=None, source_id=None, document_pk=No
{
'name': 'main/generic_list_subtemplate.html',
'context': {
'title': _(u'files in staging path'),
'title': _(u'Files in staging path'),
'object_list': staging_filelist,
'hide_link': True,
}
@@ -451,12 +451,12 @@ def setup_source_edit(request, source_type, source_id):
form = form_class(instance=source)
return render_to_response('main/generic_form.html', {
'title': _(u'edit source: %s') % source.fullname(),
'title': _(u'Edit source: %s') % source.fullname(),
'form': form,
'source': source,
'navigation_object_name': 'source',
'next': next,
'object_name': _(u'source'),
'object_name': _(u'Source'),
'source_type': source_type,
},
context_instance=RequestContext(request))
@@ -496,7 +496,7 @@ def setup_source_delete(request, source_type, source_id):
context = {
'title': _(u'Are you sure you wish to delete the source: %s?') % source.fullname(),
'source': source,
'object_name': _(u'source'),
'object_name': _(u'Source'),
'navigation_object_name': 'source',
'delete_view': True,
'previous': previous,
@@ -556,15 +556,15 @@ def setup_source_transformation_list(request, source_type, source_id):
context = {
'object_list': SourceTransformation.transformations.get_for_object(source),
'title': _(u'transformations for: %s') % source.fullname(),
'title': _(u'Transformations for: %s') % source.fullname(),
'source': source,
'object_name': _(u'source'),
'object_name': _(u'Source'),
'navigation_object_name': 'source',
'list_object_variable_name': 'transformation',
'extra_columns': [
{'name': _(u'order'), 'attribute': 'order'},
{'name': _(u'transformation'), 'attribute': encapsulate(lambda x: x.get_transformation_display())},
{'name': _(u'arguments'), 'attribute': 'arguments'}
{'name': _(u'Order'), 'attribute': 'order'},
{'name': _(u'Transformation'), 'attribute': encapsulate(lambda x: x.get_transformation_display())},
{'name': _(u'Arguments'), 'attribute': 'arguments'}
],
'hide_link': True,
'hide_object': True,
@@ -599,8 +599,8 @@ def setup_source_transformation_edit(request, transformation_id):
'source': source_transformation.content_object,
'transformation': source_transformation,
'navigation_object_list': [
{'object': 'source', 'name': _(u'source')},
{'object': 'transformation', 'name': _(u'transformation')}
{'object': 'source', 'name': _(u'Source')},
{'object': 'transformation', 'name': _(u'Transformation')}
],
'next': next,
},
@@ -629,8 +629,8 @@ def setup_source_transformation_delete(request, transformation_id):
'transformation': source_transformation,
'source': source_transformation.content_object,
'navigation_object_list': [
{'object': 'source', 'name': _(u'source')},
{'object': 'transformation', 'name': _(u'transformation')}
{'object': 'source', 'name': _(u'Source')},
{'object': 'transformation', 'name': _(u'Transformation')}
],
'title': _(u'Are you sure you wish to delete source transformation "%(transformation)s"') % {
'transformation': source_transformation.get_transformation_display(),
@@ -672,7 +672,7 @@ def setup_source_transformation_create(request, source_type, source_id):
return render_to_response('main/generic_form.html', {
'form': form,
'source': source,
'object_name': _(u'source'),
'object_name': _(u'Source'),
'navigation_object_name': 'source',
'title': _(u'Create new transformation for source: %s') % source,
}, context_instance=RequestContext(request))

View File

@@ -38,7 +38,7 @@ def staging_file_thumbnail(staging_file, **kwargs):
def staging_file_html_widget(staging_file, click_view=None, page=DEFAULT_PAGE_NUMBER, zoom=DEFAULT_ZOOM_LEVEL, rotation=DEFAULT_ROTATION, gallery_name=None, fancybox_class='fancybox-staging', image_class='lazy-load', title=None, size=THUMBNAIL_SIZE, nolazyload=False):
result = []
alt_text = _(u'staging file page image')
alt_text = _(u'Staging file page image')
query_dict = {
'page': page,

View File

@@ -23,18 +23,18 @@ from .widgets import (get_tags_inline_widget_simple, single_tag_widget)
register_model_list_columns(Tag, [
{
'name': _(u'preview'),
'name': _(u'Preview'),
'attribute': encapsulate(lambda x: single_tag_widget(x))
},
{
'name': _(u'tagged items'),
'name': _(u'Tagged items'),
'attribute': encapsulate(lambda x: x.taggit_taggeditem_items.count())
}
])
register_model_list_columns(Document, [
{
'name': _(u'tags'), 'attribute':
'name': _(u'Tags'), 'attribute':
encapsulate(lambda x: get_tags_inline_widget_simple(x))
},
])
@@ -42,7 +42,7 @@ register_model_list_columns(Document, [
register_links(Tag, [tag_tagged_item_list, tag_edit, tag_delete, tag_acl_list])
register_multi_item_links(['tags:tag_list'], [tag_multiple_delete])
register_links([Tag, 'tags:tag_list', 'tags:tag_create'], [tag_list, tag_create], menu_name='secondary_menu')
register_top_menu('tags', link={'text': _(u'tags'), 'view': 'tags:tag_list', 'famfam': 'tag_blue'}, children_view_regex=[r'^tag_(list|create|delete|edit|tagged|acl)'])
register_top_menu('tags', link={'text': _(u'Tags'), 'view': 'tags:tag_list', 'famfam': 'tag_blue'}, children_view_regex=[r'^tag_(list|create|delete|edit|tagged|acl)'])
register_links(Document, [tag_document_list], menu_name='form_header')
register_links(['tags:document_tags', 'tags:tag_remove', 'tag_multiple_remove', 'tag_attach'], [tag_attach], menu_name='sidebar')

View File

@@ -7,18 +7,18 @@ from acls.permissions import ACLS_VIEW_ACL
from .permissions import (PERMISSION_TAG_CREATE, PERMISSION_TAG_ATTACH,
PERMISSION_TAG_REMOVE, PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT)
tag_list = {'text': _(u'tag list'), 'view': 'tags:tag_list', 'famfam': 'tag_blue'}
tag_create = {'text': _(u'create new tag'), 'view': 'tags:tag_create', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_CREATE]}
tag_list = {'text': _(u'Tag list'), 'view': 'tags:tag_list', 'famfam': 'tag_blue'}
tag_create = {'text': _(u'Create new tag'), 'view': 'tags:tag_create', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_CREATE]}
tag_attach = {'text': _(u'attach tag'), 'view': 'tags:tag_attach', 'args': 'object.pk', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_ATTACH]}
tag_multiple_attach = {'text': _(u'attach tag'), 'view': 'tags:tag_multiple_attach', 'famfam': 'tag_blue_add'}
tag_attach = {'text': _(u'Attach tag'), 'view': 'tags:tag_attach', 'args': 'object.pk', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_ATTACH]}
tag_multiple_attach = {'text': _(u'Attach tag'), 'view': 'tags:tag_multiple_attach', 'famfam': 'tag_blue_add'}
multiple_documents_selection_tag_remove = {'text': _(u'remove tag'), 'view': 'tags:multiple_documents_selection_tag_remove', 'famfam': 'tag_blue_delete'}
single_document_multiple_tag_remove = {'text': _(u'remove tags'), 'view': 'tags:single_document_multiple_tag_remove', 'args': 'document.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}
multiple_documents_selection_tag_remove = {'text': _(u'Remove tag'), 'view': 'tags:multiple_documents_selection_tag_remove', 'famfam': 'tag_blue_delete'}
single_document_multiple_tag_remove = {'text': _(u'Remove tags'), 'view': 'tags:single_document_multiple_tag_remove', 'args': 'document.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}
tag_document_list = {'text': _(u'tags'), 'view': 'tags:document_tags', 'args': 'object.pk', 'famfam': 'tag_blue', 'permissions': [PERMISSION_TAG_REMOVE, PERMISSION_TAG_ATTACH], 'children_view_regex': ['tag']}
tag_delete = {'text': _(u'delete'), 'view': 'tags:tag_delete', 'args': 'object.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}
tag_edit = {'text': _(u'edit'), 'view': 'tags:tag_edit', 'args': 'object.id', 'famfam': 'tag_blue_edit', 'permissions': [PERMISSION_TAG_EDIT]}
tag_tagged_item_list = {'text': _(u'tagged documents'), 'view': 'tags:tag_tagged_item_list', 'args': 'object.id', 'famfam': 'page'}
tag_multiple_delete = {'text': _(u'delete'), 'view': 'tags:tag_multiple_delete', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}
tag_document_list = {'text': _(u'Tags'), 'view': 'tags:document_tags', 'args': 'object.pk', 'famfam': 'tag_blue', 'permissions': [PERMISSION_TAG_REMOVE, PERMISSION_TAG_ATTACH], 'children_view_regex': ['tag']}
tag_delete = {'text': _(u'Delete'), 'view': 'tags:tag_delete', 'args': 'object.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}
tag_edit = {'text': _(u'Edit'), 'view': 'tags:tag_edit', 'args': 'object.id', 'famfam': 'tag_blue_edit', 'permissions': [PERMISSION_TAG_EDIT]}
tag_tagged_item_list = {'text': _(u'Tagged documents'), 'view': 'tags:tag_tagged_item_list', 'args': 'object.id', 'famfam': 'page'}
tag_multiple_delete = {'text': _(u'Delete'), 'view': 'tags:tag_multiple_delete', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_DELETE]}
tag_acl_list = {'text': _(u'ACLs'), 'view': 'tags:tag_acl_list', 'args': 'object.pk', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}

View File

@@ -10,12 +10,12 @@ from .literals import COLOR_CHOICES, COLOR_CODES
class TagProperties(models.Model):
# TODO: this should be a One to One relation not a ForeignKey
tag = models.ForeignKey(Tag, verbose_name=_(u'tag'), related_name='properties')
color = models.CharField(max_length=3, choices=COLOR_CHOICES, verbose_name=_(u'color'))
tag = models.ForeignKey(Tag, verbose_name=_(u'Tag'), related_name='properties')
color = models.CharField(max_length=3, choices=COLOR_CHOICES, verbose_name=_(u'Color'))
class Meta:
verbose_name = _(u'tag properties')
verbose_name_plural = _(u'tags properties')
verbose_name = _(u'Tag properties')
verbose_name_plural = _(u'Tags properties')
def __unicode__(self):
return unicode(self.tag)

View File

@@ -54,7 +54,7 @@ def tag_create(request):
form = TagForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create tag'),
'title': _(u'Create tag'),
'form': form,
}, context_instance=RequestContext(request))
@@ -97,7 +97,7 @@ def tag_attach(request, document_id=None, document_id_list=None):
form = TagListForm(user=request.user)
context = {
'object_name': _(u'document'),
'object_name': _(u'Document'),
'form': form,
'previous': previous,
'next': next,
@@ -121,7 +121,7 @@ def tag_multiple_attach(request):
def tag_list(request, queryset=None, extra_context=None):
context = {
'title': _(u'tags'),
'title': _(u'Tags'),
'hide_link': True,
'multi_select_as_buttons': True,
'hide_object': True,
@@ -175,7 +175,7 @@ def tag_delete(request, tag_id=None, tag_id_list=None):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'tag'),
'object_name': _(u'Tag'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -224,10 +224,10 @@ def tag_edit(request, tag_id):
})
return render_to_response('main/generic_form.html', {
'title': _(u'edit tag: %s') % tag,
'title': _(u'Edit tag: %s') % tag,
'form': form,
'object': tag,
'object_name': _(u'tag'),
'object_name': _(u'Tag'),
}, context_instance=RequestContext(request))
@@ -244,7 +244,7 @@ class TagTaggedItemListView(DocumentListView):
'hide_links': True,
'multi_select_as_buttons': True,
'object': self.get_tag(),
'object_name': _(u'tag'),
'object_name': _(u'Tag'),
}
@@ -259,7 +259,7 @@ def document_tags(request, document_id):
context = {
'object': document,
'document': document,
'title': _(u'tags for: %s') % document,
'title': _(u'Tags for: %s') % document,
}
return tag_list(request, queryset=document.tags.all(), extra_context=context)

View File

@@ -6,20 +6,20 @@ from .permissions import (PERMISSION_USER_CREATE, PERMISSION_USER_EDIT,
PERMISSION_USER_VIEW, PERMISSION_USER_DELETE, PERMISSION_GROUP_CREATE,
PERMISSION_GROUP_EDIT, PERMISSION_GROUP_VIEW, PERMISSION_GROUP_DELETE)
user_list = {'text': _(u'user list'), 'view': 'user_management:user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]}
user_setup = {'text': _(u'users'), 'view': 'user_management:user_list', 'famfam': 'user', 'icon': 'user.png', 'permissions': [PERMISSION_USER_VIEW], 'children_view_regex': [r'^user_']}
user_edit = {'text': _(u'edit'), 'view': 'user_management:user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_add = {'text': _(u'create new user'), 'view': 'user_management:user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
user_delete = {u'text': _('delete'), 'view': 'user_management:user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_multiple_delete = {u'text': _('delete'), 'view': 'user_management:user_multiple_delete', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_set_password = {u'text': _('reset password'), 'view': 'user_management:user_set_password', 'args': 'object.id', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_multiple_set_password = {u'text': _('reset password'), 'view': 'user_management:user_multiple_set_password', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_groups = {'text': _(u'groups'), 'view': 'user_management:user_groups', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_USER_EDIT]}
user_list = {'text': _(u'User list'), 'view': 'user_management:user_list', 'famfam': 'user', 'permissions': [PERMISSION_USER_VIEW]}
user_setup = {'text': _(u'Users'), 'view': 'user_management:user_list', 'famfam': 'user', 'icon': 'user.png', 'permissions': [PERMISSION_USER_VIEW], 'children_view_regex': [r'^user_']}
user_edit = {'text': _(u'Edit'), 'view': 'user_management:user_edit', 'args': 'object.id', 'famfam': 'user_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_add = {'text': _(u'Create new user'), 'view': 'user_management:user_add', 'famfam': 'user_add', 'permissions': [PERMISSION_USER_CREATE]}
user_delete = {u'text': _('Delete'), 'view': 'user_management:user_delete', 'args': 'object.id', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_multiple_delete = {u'text': _('Delete'), 'view': 'user_management:user_multiple_delete', 'famfam': 'user_delete', 'permissions': [PERMISSION_USER_DELETE]}
user_set_password = {u'text': _('Reset password'), 'view': 'user_management:user_set_password', 'args': 'object.id', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_multiple_set_password = {u'text': _('Reset password'), 'view': 'user_management:user_multiple_set_password', 'famfam': 'lock_edit', 'permissions': [PERMISSION_USER_EDIT]}
user_groups = {'text': _(u'Groups'), 'view': 'user_management:user_groups', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_USER_EDIT]}
group_list = {'text': _(u'group list'), 'view': 'user_management:group_list', 'famfam': 'group', 'permissions': [PERMISSION_GROUP_VIEW]}
group_setup = {'text': _(u'groups'), 'view': 'user_management:group_list', 'famfam': 'group', 'icon': 'group.png', 'permissions': [PERMISSION_GROUP_VIEW], 'children_view_regex': [r'^group_']}
group_edit = {'text': _(u'edit'), 'view': 'user_management:group_edit', 'args': 'object.id', 'famfam': 'group_edit', 'permissions': [PERMISSION_GROUP_EDIT]}
group_add = {'text': _(u'create new group'), 'view': 'user_management:group_add', 'famfam': 'group_add', 'permissions': [PERMISSION_GROUP_CREATE]}
group_delete = {u'text': _('delete'), 'view': 'user_management:group_delete', 'args': 'object.id', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
group_multiple_delete = {u'text': _('delete'), 'view': 'user_management:group_multiple_delete', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
group_members = {'text': _(u'members'), 'view': 'user_management:group_members', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_GROUP_EDIT]}
group_list = {'text': _(u'Group list'), 'view': 'user_management:group_list', 'famfam': 'group', 'permissions': [PERMISSION_GROUP_VIEW]}
group_setup = {'text': _(u'Groups'), 'view': 'user_management:group_list', 'famfam': 'group', 'icon': 'group.png', 'permissions': [PERMISSION_GROUP_VIEW], 'children_view_regex': [r'^group_']}
group_edit = {'text': _(u'Edit'), 'view': 'user_management:group_edit', 'args': 'object.id', 'famfam': 'group_edit', 'permissions': [PERMISSION_GROUP_EDIT]}
group_add = {'text': _(u'Create new group'), 'view': 'user_management:group_add', 'famfam': 'group_add', 'permissions': [PERMISSION_GROUP_CREATE]}
group_delete = {u'text': _('Delete'), 'view': 'user_management:group_delete', 'args': 'object.id', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
group_multiple_delete = {u'text': _('Delete'), 'view': 'user_management:group_multiple_delete', 'famfam': 'group_delete', 'permissions': [PERMISSION_GROUP_DELETE]}
group_members = {'text': _(u'Members'), 'view': 'user_management:group_members', 'args': 'object.id', 'famfam': 'group_link', 'permissions': [PERMISSION_GROUP_EDIT]}

View File

@@ -25,23 +25,23 @@ def user_list(request):
context = {
'object_list': get_user_model().objects.exclude(is_superuser=True).exclude(is_staff=True).order_by('username'),
'title': _(u'users'),
'title': _(u'Users'),
'hide_link': True,
'extra_columns': [
{
'name': _(u'full name'),
'name': _(u'Full name'),
'attribute': 'get_full_name'
},
{
'name': _(u'email'),
'name': _(u'Email'),
'attribute': 'email'
},
{
'name': _(u'active'),
'name': _(u'Active'),
'attribute': encapsulate(lambda x: two_state_template(x.is_active)),
},
{
'name': _(u'has usable password?'),
'name': _(u'Has usable password?'),
'attribute': encapsulate(lambda x: two_state_template(x.has_usable_password())),
},
],
@@ -70,10 +70,10 @@ def user_edit(request, user_id):
form = UserForm(instance=user)
return render_to_response('main/generic_form.html', {
'title': _(u'edit user: %s') % user,
'title': _(u'Edit user: %s') % user,
'form': form,
'object': user,
'object_name': _(u'user'),
'object_name': _(u'User'),
}, context_instance=RequestContext(request))
@@ -92,7 +92,7 @@ def user_add(request):
form = UserForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create new user'),
'title': _(u'Create new user'),
'form': form,
}, context_instance=RequestContext(request))
@@ -129,7 +129,7 @@ def user_delete(request, user_id=None, user_id_list=None):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'user'),
'object_name': _(u'User'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -192,7 +192,7 @@ def user_set_password(request, user_id=None, user_id_list=None):
form = PasswordForm()
context = {
'object_name': _(u'user'),
'object_name': _(u'User'),
'next': next,
'form': form,
}
@@ -231,12 +231,12 @@ def user_groups(request, user_id):
right_list=lambda: generate_choices_w_labels(get_user_groups(user), display_object_type=False),
add_method=lambda x: x.user_set.add(user),
remove_method=lambda x: x.user_set.remove(user),
left_list_title=_(u'non groups of user: %s') % user,
right_list_title=_(u'groups of user: %s') % user,
left_list_title=_(u'Non groups of user: %s') % user,
right_list_title=_(u'Groups of user: %s') % user,
decode_content_type=True,
extra_context={
'object': user,
'object_name': _(u'user'),
'object_name': _(u'User'),
}
)
@@ -248,11 +248,11 @@ def group_list(request):
context = {
'object_list': Group.objects.all(),
'extra_context': {
'title': _(u'groups'),
'title': _(u'Groups'),
'hide_link': True,
'extra_columns': [
{
'name': _(u'members'),
'name': _(u'Members'),
'attribute': 'user_set.count'
},
],
@@ -278,10 +278,10 @@ def group_edit(request, group_id):
form = GroupForm(instance=group)
return render_to_response('main/generic_form.html', {
'title': _(u'edit group: %s') % group,
'title': _(u'Edit group: %s') % group,
'form': form,
'object': group,
'object_name': _(u'group'),
'object_name': _(u'Group'),
},
context_instance=RequestContext(request))
@@ -299,7 +299,7 @@ def group_add(request):
form = GroupForm()
return render_to_response('main/generic_form.html', {
'title': _(u'create new group'),
'title': _(u'Create new group'),
'form': form,
}, context_instance=RequestContext(request))
@@ -333,7 +333,7 @@ def group_delete(request, group_id=None, group_id_list=None):
return HttpResponseRedirect(next)
context = {
'object_name': _(u'group'),
'object_name': _(u'Group'),
'delete_view': True,
'previous': previous,
'next': next,
@@ -373,11 +373,11 @@ def group_members(request, group_id):
right_list=lambda: generate_choices_w_labels(get_group_members(group), display_object_type=False),
add_method=lambda x: group.user_set.add(x),
remove_method=lambda x: group.user_set.remove(x),
left_list_title=_(u'non members of group: %s') % group,
right_list_title=_(u'members of group: %s') % group,
left_list_title=_(u'Non members of group: %s') % group,
right_list_title=_(u'Members of group: %s') % group,
decode_content_type=True,
extra_context={
'object': group,
'object_name': _(u'group'),
'object_name': _(u'Group'),
}
)