def __init__(self, options, backend=None): super(StaticPageTransform, self).__init__(options) if backend is None: from adhocracy.lib.staticpage import get_backend backend = get_backend() self._backend = backend
def index(self): try: data = { 'static_pages': get_backend().all() } return render('/static/index.html', data) except NotImplementedError: abort(404)
def edit(self, key, lang, errors=None): backend = get_backend() sp = backend.get(key, lang) if not sp: return ret_abort(_('Cannot find static page to edit'), code=404) data = {'staticpage': sp} defaults = { 'title': sp.title, 'body': sp.body, } defaults.update(dict(request.params)) defaults['_tok'] = csrf.token_id() return htmlfill.render(render('/static/edit.html', data), defaults=defaults, errors=errors)
def update(self, key, lang): backend = get_backend() sp = backend.get(key, lang) if not sp: return ret_abort(_('Cannot find static page to edit'), code=404) try: form_result = EditForm().to_python(request.params) except Invalid as i: return self.edit(errors=i.unpack_errors()) sp.title = form_result.get('title') sp.body = form_result.get('body') sp.commit() helpers.flash(_('Page updated'), 'notice') return redirect(helpers.base_url('/static/'))
def edit(self, key, lang, errors=None, format=u'html'): backend = get_backend() sp = backend.get(key, lang) if not sp: return ret_abort(_('Cannot find static page to edit'), code=404) data = {'staticpage': sp} defaults = { 'title': sp.title, 'body': sp.body, } defaults.update(dict(request.params)) defaults['_tok'] = csrf.token_id() return htmlfill.render(render('/static/edit.html', data, overlay=format == u'overlay'), defaults=defaults, errors=errors)
def make_new(self): try: form_result = NewForm().to_python(request.params) except Invalid as i: return self.new(errors=i.unpack_errors()) key = form_result.get('key') lang = form_result.get('lang') backend = get_backend() if backend.get(key, lang) is not None: msg = _('Page does already exist. Select another key or language.') helpers.flash(msg, 'error') return self.new() backend.create(key, lang, form_result.get('title'), form_result.get('body')) helpers.flash(_('Page updated'), 'notice') return redirect(helpers.base_url('/static/'))
def index(self): data = { 'static_pages': get_backend().all() } return render('/static/index.html', data)
def index(self): data = {'static_pages': get_backend().all()} return render('/static/index.html', data)
def index(self): try: data = {'static_pages': get_backend().all()} return render('/static/index.html', data) except NotImplementedError: abort(404)