view libervia/web/pages/events/page_meta.py @ 1557:855729ef75f2

browser (calls): improve call buttons: - following template change, there are now a call button for video and one for audio, and no more "switch" button, this is more intuitive - search items have been customised with a 3 dots menu to show a dropdown, which let select the "video" or "audio" call mode. By defaut, a click on a search item will do a video call.
author Goffi <goffi@goffi.org>
date Tue, 15 Aug 2023 17:16:45 +0200
parents eb00d593801d
children 1d464c72ac12
line wrap: on
line source

#!/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