diff libervia/web/pages/events/page_meta.py @ 1518:eb00d593801d

refactoring: rename `libervia` to `libervia.web` + update imports following backend changes
author Goffi <goffi@goffi.org>
date Fri, 02 Jun 2023 16:49:28 +0200
parents libervia/pages/events/page_meta.py@106bae41f5c8
children 1d464c72ac12
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libervia/web/pages/events/page_meta.py	Fri Jun 02 16:49:28 2023 +0200
@@ -0,0 +1,51 @@
+#!/usr/bin/env python3
+
+
+from libervia.backend.core.i18n import _
+from libervia.backend.core.log import getLogger
+from libervia.backend.tools.common import data_format
+from twisted.internet import defer
+
+from libervia.web.server.constants import Const as C
+
+log = getLogger(__name__)
+
+
+name = "events"
+access = C.PAGES_ACCESS_PUBLIC
+template = "event/overview.html"
+
+
+async def prepare_render(self, request):
+    profile = self.get_profile(request)
+    template_data = request.template_data
+    template_data["url_event_new"] = self.get_sub_page_url(request, "event_new")
+    if profile is not None:
+        try:
+            events = data_format.deserialise(
+                await self.host.bridge_call("events_get", "", "", [], "", profile),
+                type_check=list
+            )
+        except Exception as e:
+            log.warning(_("Can't get events list for {profile}: {reason}").format(
+                profile=profile, reason=e))
+        else:
+            own_events = []
+            other_events = []
+            for event in events:
+                if C.bool(event.get("creator", C.BOOL_FALSE)):
+                    own_events.append(event)
+                    event["url"] = self.get_sub_page_url(
+                        request,
+                        "event_admin",
+                    )
+                else:
+                    other_events.append(event)
+                    event["url"] = self.get_sub_page_url(
+                        request,
+                        "event_rsvp",
+                    )
+                if "thumb_url" not in event and "image" in event:
+                    event["thumb_url"] = event["image"]
+
+            template_data["events"] = own_events + other_events