""" open/dulcinea/lib/ui/user/motd.qpy """ from dulcinea.misc import get_misc_db from dulcinea.util import format_text, SAFE_TAGS from qp.fill.directory import Directory from qp.fill.form import Form from qp.pub.common import redirect, get_user, page def format_motd:xml(motd): '
%s
' % format_text(motd) class MotdUI (Directory): def get_exports(self): if get_user() and get_misc_db(): yield ('', '_q_index', 'Signin Message', 'Message-of-the-day') if get_user().is_admin(): yield ('edit', 'edit', 'Edit', 'Edit message-of-the-day') def _q_index:xml(self): return page('Signin Message', format_motd(get_misc_db().get_motd())) def edit(self): form = Form() form.add_text('motd', value=get_misc_db().get_motd(), rows=30, cols=90, hint=("The message-of-the-day may include the following " "HTML tags: %s. " % ', '.join(SAFE_TAGS))) form.add_submit('update', 'Update') form.add_submit('preview', 'Preview') form.add_submit('cancel', 'Cancel') if form.get('cancel'): redirect('.') if not form.is_submitted() or form.has_errors(): return page('Edit: Message of the Day', form.render()) if form.get('preview'): return page('Preview: Message of the Day', format_motd(form['motd']), form.render()) if form.get('update'): get_misc_db().set_motd(form['motd']) redirect('.')