Mercurial > libervia-web
diff src/pages/u/page_meta.py @ 929:2345577da5ca
pages (u): added u page for user public pages, for now it display blog items
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 16 Apr 2017 18:25:59 +0200 |
parents | |
children | 1c9b6d2c30b5 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/pages/u/page_meta.py Sun Apr 16 18:25:59 2017 +0200 @@ -0,0 +1,33 @@ +#!/usr/bin/env python2.7 +# -*- coding: utf-8 -*- + +from libervia.server.constants import Const as C +from twisted.internet import defer +from twisted.words.protocols.jabber import jid + +"""page used to target a user profile, e.g. for public blog""" + +name = u"user" +access = C.PAGES_ACCESS_PUBLIC # can be a callable +template = u"blog/articles.html" + + +@defer.inlineCallbacks +def parse_url(self, request): + try: + prof_requested = self.nextPath(request) + except IndexError: + self.pageError(request) + + data = self.getRData(request) + + target_profile = yield self.host.bridge.profileNameGet(prof_requested) + request.template_data[u'target_profile'] = target_profile + target_jid = yield self.host.bridge.asyncGetParamA('JabberID', 'Connection', 'value', profile_key=target_profile) + target_jid = jid.JID(target_jid) + data[u'service'] = target_jid + + +@defer.inlineCallbacks +def prepare_render(self, request): + self.pageRedirect(u'blog', request)