Add view to edit an existing metadata set
This commit is contained in:
@@ -35,6 +35,7 @@ setup_metadata_type_create = {'text': _(u'create new'), 'view': 'setup_metadata_
|
||||
|
||||
setup_metadata_set_list = {'text': _(u'metadata sets'), 'view': 'setup_metadata_set_list', 'famfam': 'table', 'icon': 'table.png', 'permissions': [PERMISSION_METADATA_SET_VIEW]}
|
||||
setup_metadata_set_edit = {'text': _(u'edit'), 'view': 'setup_metadata_set_edit', 'args': 'object.pk', 'famfam': 'table_edit', 'permissions': [PERMISSION_METADATA_SET_EDIT]}
|
||||
setup_metadata_set_members = {'text': _(u'members'), 'view': 'setup_metadata_set_members', 'args': 'object.pk', 'famfam': 'table_link', 'permissions': [PERMISSION_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]}
|
||||
|
||||
@@ -47,14 +48,11 @@ register_multi_item_links(['document_find_duplicates', 'folder_view', 'index_ins
|
||||
register_links(MetadataType, [setup_metadata_type_edit, setup_metadata_type_delete])
|
||||
register_links([MetadataType, 'setup_metadata_type_list', 'setup_metadata_type_create'], [setup_metadata_type_list, setup_metadata_type_create], menu_name='secondary_menu')
|
||||
|
||||
register_links(MetadataSet, [setup_metadata_set_edit, setup_metadata_set_delete])
|
||||
register_links(MetadataSet, [setup_metadata_set_edit, setup_metadata_set_members, setup_metadata_set_delete])
|
||||
register_links([MetadataSet, 'setup_metadata_set_list', 'setup_metadata_set_create'], [setup_metadata_set_list, setup_metadata_set_create], menu_name='secondary_menu')
|
||||
|
||||
register_links(DocumentType, [setup_document_type_metadata])
|
||||
|
||||
metadata_type_setup_views = ['setup_metadata_type_list', 'setup_metadata_type_edit', 'setup_metadata_type_delete', 'setup_metadata_type_create']
|
||||
metadata_set_setup_views = ['setup_metadata_set_list', 'setup_metadata_set_edit', 'setup_metadata_set_delete', 'setup_metadata_set_create']
|
||||
|
||||
register_sidebar_template(['setup_metadata_type_list'], 'metadata_type_help.html')
|
||||
register_sidebar_template(['setup_metadata_set_list'], 'metadata_set_help.html')
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ urlpatterns = patterns('metadata.views',
|
||||
url(r'^setup/set/list/$', 'setup_metadata_set_list', (), 'setup_metadata_set_list'),
|
||||
url(r'^setup/set/create/$', 'setup_metadata_set_create', (), 'setup_metadata_set_create'),
|
||||
url(r'^setup/set/(?P<metadata_set_id>\d+)/edit/$', 'setup_metadata_set_edit', (), 'setup_metadata_set_edit'),
|
||||
url(r'^setup/set/(?P<metadata_set_id>\d+)/members/$', 'setup_metadata_set_members', (), 'setup_metadata_set_members'),
|
||||
url(r'^setup/set/(?P<metadata_set_id>\d+)/delete/$', 'setup_metadata_set_delete', (), 'setup_metadata_set_delete'),
|
||||
|
||||
url(r'^setup/document/type/(?P<document_type_id>\d+)/metadata/default/edit/$', 'setup_document_type_metadata', (), 'setup_document_type_metadata'),
|
||||
|
||||
@@ -427,6 +427,33 @@ def setup_metadata_set_list(request):
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def setup_metadata_set_edit(request, metadata_set_id):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_TYPE_EDIT])
|
||||
|
||||
metadata_set = get_object_or_404(MetadataSet, pk=metadata_set_id)
|
||||
|
||||
if request.method == 'POST':
|
||||
form = MetadataSetForm(instance=metadata_set, data=request.POST)
|
||||
if form.is_valid():
|
||||
try:
|
||||
form.save()
|
||||
messages.success(request, _(u'Metadata set edited successfully'))
|
||||
return HttpResponseRedirect(reverse('setup_metadata_set_list'))
|
||||
except Exception, e:
|
||||
messages.error(request, _(u'Error editing metadata set; %s') % e)
|
||||
pass
|
||||
else:
|
||||
form = MetadataSetForm(instance=metadata_set)
|
||||
|
||||
return render_to_response('generic_form.html', {
|
||||
'title': _(u'edit metadata set: %s') % metadata_set,
|
||||
'form': form,
|
||||
'object': metadata_set,
|
||||
'object_name': _(u'metadata set'),
|
||||
},
|
||||
context_instance=RequestContext(request))
|
||||
|
||||
|
||||
def get_set_members(metadata_set):
|
||||
return [item.metadata_type for item in metadata_set.metadatasetitem_set.all()]
|
||||
|
||||
@@ -450,7 +477,7 @@ def remove_set_member(metadata_set, selection):
|
||||
member.delete()
|
||||
|
||||
|
||||
def setup_metadata_set_edit(request, metadata_set_id):
|
||||
def setup_metadata_set_members(request, metadata_set_id):
|
||||
Permission.objects.check_permissions(request.user, [PERMISSION_METADATA_SET_EDIT])
|
||||
|
||||
metadata_set = get_object_or_404(MetadataSet, pk=metadata_set_id)
|
||||
|
||||
Reference in New Issue
Block a user