admin: add popup to change form title

This commit is contained in:
Frédéric Péters 2012-08-14 10:20:11 +02:00
parent aff50fc5d7
commit 7441d3bdc5
2 changed files with 31 additions and 1 deletions

View File

@ -275,7 +275,7 @@ class FormDefPage(Directory):
'archive', 'invite', 'enable', 'workflow', 'category',
'recipient', ('workflow-options', 'workflow_options'),
('workflow-status-remapping', 'workflow_status_remapping'),
'roles']
'roles', 'title']
def __init__(self, component):
try:
@ -293,6 +293,7 @@ class FormDefPage(Directory):
'<h2>%s - ' % _('Form')
self.formdef.name
' <span class="change">(<a rel="popup" href="title">%s</a>)</span>' % _('change title')
'</h2>'
'<div class="splitcontent-left">'
@ -477,6 +478,31 @@ class FormDefPage(Directory):
self.formdef.store()
redirect('.')
def title [html] (self):
form = Form(enctype='multipart/form-data')
form.add(StringWidget, 'name', title=_('Form Title'), required=True,
size=40, value=self.formdef.name)
form.add_submit('submit', _('Submit'))
form.add_submit('cancel', _('Cancel'))
if form.get_widget('cancel').parse():
return redirect('.')
if form.is_submitted() and not form.has_errors():
new_name = form.get_widget('name').parse()
formdefs_name = [x.name for x in FormDef.select(ignore_errors=True)
if x.id != self.formdef.id]
if new_name in formdefs_name:
form.get_widget('name').set_error(_('This name is already used'))
else:
self.formdef.name = new_name
self.formdef.store()
redirect('.')
get_response().breadcrumb.append( ('title', _('Title')) )
html_top('forms', title=self.formdef.name)
'<p>%s</p>' % _('Choose a title for this form')
form.render()
def workflow [html] (self):
form = Form(enctype='multipart/form-data')
workflows = get_workflows(condition=lambda x: x.possible_status)

View File

@ -647,3 +647,7 @@ table#substvars td {
-webkit-column-count: 2;
-webkit-column-gap: 1em;
}
h2 span.change {
font-size: 60%;
}