changeset 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 ee243d48100e
children b5490fa65348
files src/pages/u/page_meta.py
diffstat 1 files changed, 33 insertions(+), 0 deletions(-) [+]
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)