Created a UI for editting a media's metadata. Had to add a new macro to

wtforms.html in the process.
This commit is contained in:
tilly-Q
2014-05-06 17:00:25 -04:00
parent f0cfd3396e
commit e80596c80e
6 changed files with 167 additions and 7 deletions

View File

@@ -124,12 +124,13 @@ class ChangeEmailForm(wtforms.Form):
"Enter your password to prove you own this account."))
class MetaDataForm(wtforms.Form):
identifier = wtforms.TextField(
_(u'Id'))
value = wtforms.TextField(
_(u'Value'))
identifier = wtforms.TextField('')
value = wtforms.TextField('')
class EditMetaDataForm(wtforms.Form):
media_metadata = wtforms.FieldList(
wtforms.FormField(MetaDataForm)
wtforms.FormField(MetaDataForm, label="")
)
context = wtforms.FieldList(
wtforms.FormField(MetaDataForm, label="")
)

View File

@@ -439,7 +439,22 @@ def change_email(request):
@get_media_entry_by_id
def edit_metadata(request, media):
form = forms.EditMetaDataForm()
if media.media_metadata:
for row in media.media_metadata.iteritems():
if row[0] == "@context": continue
identifier = row[0]
# TODO Will change when we revert the metadata branch
value = row[1]['@value']
form.media_metadata.append_entry({
'identifier':identifier,
'value':value})
for row in media.media_metadata['@context'].iteritems():
identifier, value = row[0:2]
form.context.append_entry({
'identifier':identifier,
'value':value})
return render_to_response(
request,
'mediagoblin/edit/metadata.html',
{'form':form})
{'form':form,
'media':media})