Add view to edit an existing metadata set

This commit is contained in:
Roberto Rosario
2012-10-09 12:35:32 -04:00
parent 5a5721c618
commit ace21841fc
3 changed files with 31 additions and 5 deletions

View File

@@ -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')

View File

@@ -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'),

View File

@@ -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)