diff --git a/apps/common/views.py b/apps/common/views.py index a453c3222c..7f9203fb21 100644 --- a/apps/common/views.py +++ b/apps/common/views.py @@ -51,7 +51,7 @@ def get_obj_from_content_type_string(string): return ct.get_object_for_this_type(pk=pk) -def assign_remove(request, left_list, right_list, add_method, remove_method, left_list_title, right_list_title, obj=None, object_name=None, decode_content_type=False): +def assign_remove(request, left_list, right_list, add_method, remove_method, left_list_title, right_list_title, decode_content_type=False, extra_context=None): left_list_name = u'left_list' right_list_name = u'right_list' @@ -122,19 +122,8 @@ def assign_remove(request, left_list, right_list, add_method, remove_method, lef ], } - if obj: - context.update( - { - 'object': obj - } - ) - - if object_name: - context.update( - { - 'object_name': object_name, - } - ) + if extra_context: + context.update(extra_context) return render_to_response('generic_form.html', context, context_instance=RequestContext(request)) diff --git a/apps/documents/__init__.py b/apps/documents/__init__.py index 1bf3a4c911..d7650b83fa 100644 --- a/apps/documents/__init__.py +++ b/apps/documents/__init__.py @@ -107,16 +107,15 @@ document_missing_list = {'text': _(u'Find missing document files'), 'view': 'doc # Document type related links document_type_list = {'text': _(u'document type list'), 'view': 'document_type_list', 'famfam': 'layout', 'permissions': [PERMISSION_DOCUMENT_VIEW]} -document_type_document_list = {'text': _(u'documents of this type'), 'view': 'document_type_document_list', 'args': 'object.id', 'famfam': 'page_go', 'permissions': [PERMISSION_DOCUMENT_VIEW]} -document_type_edit = {'text': _(u'edit'), 'view': 'document_type_edit', 'args': 'object.id', 'famfam': 'layout_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} -document_type_delete = {'text': _(u'delete'), 'view': 'document_type_delete', 'args': 'object.id', 'famfam': 'layout_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_DELETE]} +document_type_document_list = {'text': _(u'documents of this type'), 'view': 'document_type_document_list', 'args': 'document_type.id', 'famfam': 'page_go', 'permissions': [PERMISSION_DOCUMENT_VIEW]} +document_type_edit = {'text': _(u'edit'), 'view': 'document_type_edit', 'args': 'document_type.id', 'famfam': 'layout_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} +document_type_delete = {'text': _(u'delete'), 'view': 'document_type_delete', 'args': 'document_type.id', 'famfam': 'layout_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_DELETE]} document_type_create = {'text': _(u'create document type'), 'view': 'document_type_create', 'famfam': 'layout_add', 'permissions': [PERMISSION_DOCUMENT_TYPE_CREATE]} -document_type_filename_list = {'text': _(u'filenames'), 'view': 'document_type_filename_list', 'args': 'object.id', 'famfam': 'database', 'permissions': [PERMISSION_DOCUMENT_VIEW]} +document_type_filename_list = {'text': _(u'filenames'), 'view': 'document_type_filename_list', 'args': 'document_type.id', 'famfam': 'database', 'permissions': [PERMISSION_DOCUMENT_VIEW]} document_type_filename_create = {'text': _(u'add filename to document type'), 'view': 'document_type_filename_create', 'args': 'document_type.id', 'famfam': 'database_add', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} -document_type_filename_edit = {'text': _(u'edit'), 'view': 'document_type_filename_edit', 'args': 'object.id', 'famfam': 'database_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} -document_type_filename_delete = {'text': _(u'delete'), 'view': 'document_type_filename_delete', 'args': 'object.id', 'famfam': 'database_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} -document_type_filename_return_to_document_type = {'text': _(u'return to document type filenames'), 'view': 'document_type_filename_list', 'args': 'object.document_type.id', 'famfam': 'database', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} +document_type_filename_edit = {'text': _(u'edit'), 'view': 'document_type_filename_edit', 'args': 'filename.id', 'famfam': 'database_edit', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} +document_type_filename_delete = {'text': _(u'delete'), 'view': 'document_type_filename_delete', 'args': 'filename.id', 'famfam': 'database_delete', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} document_type_views = ['setup_document_type_metadata', 'document_type_list', 'document_type_document_list', 'document_type_edit', 'document_type_delete', 'document_type_create', 'document_type_filename_list', 'document_type_filename_create', 'document_type_filename_edit', 'document_type_filename_delete'] @@ -126,7 +125,6 @@ register_links(DocumentTypeFilename, [document_type_filename_edit, document_type register_links(['setup_document_type_metadata', 'document_type_filename_delete', 'document_type_create', 'document_type_filename_create', 'document_type_filename_edit', 'document_type_filename_list', 'document_type_list', 'document_type_document_list', 'document_type_edit', 'document_type_delete'], [document_type_create], menu_name='sidebar') register_links(['document_type_filename_create', 'document_type_filename_list', 'document_type_filename_edit', 'document_type_filename_delete'], [document_type_filename_create], menu_name='sidebar') -register_links(['document_type_filename_edit', 'document_type_filename_delete'], [document_type_filename_return_to_document_type], menu_name='sidebar') # Register document links register_links(Document, [document_edit, document_print, document_delete, document_download, document_find_duplicates, document_clear_transformations, document_create_siblings]) diff --git a/apps/documents/views.py b/apps/documents/views.py index 70d92e1835..03a34b42e8 100644 --- a/apps/documents/views.py +++ b/apps/documents/views.py @@ -813,6 +813,7 @@ def document_type_list(request): 'object_list': DocumentType.objects.all(), 'title': _(u'document types'), 'hide_link': True, + 'list_object_variable_name': 'document_type', } return render_to_response('generic_list.html', context, @@ -829,8 +830,9 @@ def document_type_document_list(request, document_type_id): object_list=Document.objects.filter(document_type=document_type), title=_(u'documents of type "%s"') % document_type, extra_context={ - 'object': document_type, 'object_name': _(u'document type'), + 'navigation_object_name': 'document_type', + 'document_type': document_type, } ) @@ -856,8 +858,11 @@ def document_type_edit(request, document_type_id): return render_to_response('generic_form.html', { 'title': _(u'edit document type: %s') % document_type, 'form': form, - 'object': document_type, + #'object': document_type, + #'object_name': _(u'document type'), 'object_name': _(u'document type'), + 'navigation_object_name': 'document_type', + 'document_type': document_type, 'next': next }, context_instance=RequestContext(request)) @@ -888,7 +893,11 @@ def document_type_delete(request, document_type_id): 'delete_view': True, 'previous': previous, 'next': next, - 'object': document_type, + + 'object_name': _(u'document type'), + 'navigation_object_name': 'document_type', + 'document_type': document_type, + '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', @@ -928,9 +937,10 @@ 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': 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': [ { @@ -969,10 +979,13 @@ def document_type_filename_edit(request, document_type_filename_id): 'document_type': document_type_filename.document_type, 'filename': document_type_filename }, 'form': form, - 'object': document_type_filename, - 'object_name': _(u'document type filename'), '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')} + ], }, context_instance=RequestContext(request)) @@ -1001,12 +1014,16 @@ def document_type_filename_delete(request, document_type_filename_id): 'delete_view': True, 'previous': previous, 'next': next, - 'object': document_type_filename, + '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')} + ], '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 }, 'form_icon': u'database_delete.png', - 'document_type': document_type_filename.document_type, } return render_to_response('generic_confirm.html', context, @@ -1040,6 +1057,5 @@ def document_type_filename_create(request, document_type_id): 'title': _(u'create filename for document type: %s') % document_type, 'form': form, 'document_type': document_type, - 'object': document_type, }, context_instance=RequestContext(request)) diff --git a/apps/history/__init__.py b/apps/history/__init__.py index c1dea0368f..8453695844 100644 --- a/apps/history/__init__.py +++ b/apps/history/__init__.py @@ -8,6 +8,6 @@ set_namespace_title('history', _(u'History')) register_permission(PERMISSION_HISTORY_VIEW) # TODO: support permissions AND operand -history_list = {'text': _(u'history'), 'view': 'history_list', 'famfam': 'book', 'permissions': [PERMISSION_HISTORY_VIEW]} +history_list = {'text': _(u'history'), 'view': 'history_list', 'famfam': 'book', 'permissions': [PERMISSION_HISTORY_VIEW], 'children_views': ['history_view']} #register_links(['history_view'], [history_list], menu_name='sidebar') diff --git a/apps/history/views.py b/apps/history/views.py index 0af364557f..113f1b818b 100644 --- a/apps/history/views.py +++ b/apps/history/views.py @@ -87,6 +87,5 @@ def history_view(request, object_id): return render_to_response('generic_detail.html', { 'title': _(u'details for: %s') % history.get_processed_summary(), 'form': form, - 'object': history.content_object, }, context_instance=RequestContext(request)) diff --git a/apps/metadata/__init__.py b/apps/metadata/__init__.py index 86a1477b32..96d583a515 100644 --- a/apps/metadata/__init__.py +++ b/apps/metadata/__init__.py @@ -57,7 +57,7 @@ setup_metadata_set_edit = {'text': _(u'edit'), 'view': 'setup_metadata_set_edit' setup_metadata_set_delete = {'text': _(u'delete'), 'view': 'setup_metadata_set_delete', 'args': 'object.pk', 'famfam': 'table_delete', 'permissions': [PERMISSION_METADATA_SET_DELETE]} setup_metadata_set_create = {'text': _(u'create new'), 'view': 'setup_metadata_set_create', 'famfam': 'table_add', 'permissions': [PERMISSION_METADATA_SET_CREATE]} -setup_document_type_metadata = {'text': _(u'default metadata'), 'view': 'setup_document_type_metadata', 'args': 'object.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} +setup_document_type_metadata = {'text': _(u'default metadata'), 'view': 'setup_document_type_metadata', 'args': 'document_type.pk', 'famfam': 'xhtml', 'permissions': [PERMISSION_DOCUMENT_TYPE_EDIT]} #register_links(Document, [metadata_add, metadata_edit, metadata_remove]) register_links(['metadata_add', 'metadata_edit', 'metadata_remove', 'metadata_view'], [metadata_add, metadata_edit, metadata_remove], menu_name='sidebar') diff --git a/apps/metadata/views.py b/apps/metadata/views.py index 14bd08bd21..24f57d0fb5 100644 --- a/apps/metadata/views.py +++ b/apps/metadata/views.py @@ -441,8 +441,10 @@ def setup_metadata_set_edit(request, metadata_set_id): 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, - obj=metadata_set, - object_name=_(u'metadata set'), + extra_context={ + 'object': metadata_set, + 'object_name': _(u'metadata set'), + } ) @@ -551,6 +553,9 @@ def setup_document_type_metadata(request, document_type_id): 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, - obj=document_type, - object_name=_(u'document type'), + extra_context={ + 'document_type': document_type, + 'navigation_object_name': 'document_type', + 'object_name': _(u'document type'), + }, ) diff --git a/apps/permissions/views.py b/apps/permissions/views.py index 0dd542afa4..7da941a4ec 100644 --- a/apps/permissions/views.py +++ b/apps/permissions/views.py @@ -198,6 +198,8 @@ def role_members(request, role_id): 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, - obj=role, - object_name=_(u'role'), + extra_context={ + 'object': role, + 'object_name': _(u'role'), + } ) diff --git a/apps/user_management/views.py b/apps/user_management/views.py index a279ed3045..dce5bdc3fa 100644 --- a/apps/user_management/views.py +++ b/apps/user_management/views.py @@ -344,7 +344,9 @@ def group_members(request, group_id): 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, - obj=group, - object_name=_(u'group'), decode_content_type=True, + extra_context={ + 'object': group, + 'object_name': _(u'group'), + } )