# HG changeset patch # User Goffi # Date 1592578070 -7200 # Node ID 4385a75e3962d500fbeade10528c9cfbb39bbd41 # Parent 2e4fcd31f2a92a3f90e2a164efba223d31e031de pages (photos/new): photo album creation diff -r 2e4fcd31f2a9 -r 4385a75e3962 libervia/pages/photos/new/page_meta.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libervia/pages/photos/new/page_meta.py Fri Jun 19 16:47:50 2020 +0200 @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 + +from libervia.server.constants import Const as C +from twisted.internet import defer +from sat.core.log import getLogger +from sat.core.i18n import D_ +from sat.tools.common import date_utils, data_format + +"""creation of new events""" + +name = "photos_new" +access = C.PAGES_ACCESS_PROFILE +template = "photo/create.html" +log = getLogger(__name__) + + +async def on_data_post(self, request): + request_data = self.getRData(request) + profile = self.getProfile(request) + name = self.getPostedData(request, "name") + if profile is None: + self.pageError(request, C.HTTP_BAD_REQUEST) + fis_ns = self.host.ns_map["fis"] + http_upload_ns = self.host.ns_map["http_upload"] + entities_services, __, __ = await self.host.bridgeCall( + "discoFindByFeatures", + [fis_ns, http_upload_ns], + [], + False, + True, + False, + False, + False, + profile + ) + try: + fis_service = next(iter(entities_services)) + except StopIteration: + raise DataError(D_( + "You server has no service to create a photo album, please ask your server" + "administrator to add one")) + + await self.host.bridgeCall( + "interestsRegisterFileSharing", + fis_service, + "photos", + f"photo-album:{name}", + "", + name, + "", + profile + ) + log.info(f"album {name} created") + request_data["post_redirect_page"] = self.getPageByName("photos") + defer.returnValue(C.POST_NO_CONFIRM) diff -r 2e4fcd31f2a9 -r 4385a75e3962 libervia/pages/photos/page_meta.py --- a/libervia/pages/photos/page_meta.py Fri Jun 19 16:47:50 2020 +0200 +++ b/libervia/pages/photos/page_meta.py Fri Jun 19 16:47:50 2020 +0200 @@ -43,6 +43,8 @@ template_data['interests'] = filtered_interests + template_data["url_photos_new"] = self.getSubPageURL(request, "photos_new") + @defer.inlineCallbacks def on_data_post(self, request):