diff libervia/pages/merge-requests/edit/page_meta.py @ 1302:04e7dd6b6f4d

pages (blog, tickets, merge-requests): updated code to handle new serialisation, following backend changes
author Goffi <goffi@goffi.org>
date Thu, 16 Jul 2020 09:08:47 +0200
parents f511f8fbbf8a
children e3e303a30a74
line wrap: on
line diff
--- a/libervia/pages/merge-requests/edit/page_meta.py	Fri Jun 19 16:47:51 2020 +0200
+++ b/libervia/pages/merge-requests/edit/page_meta.py	Thu Jul 16 09:08:47 2020 +0200
@@ -27,8 +27,7 @@
     data["ticket_id"] = item_id
 
 
-@defer.inlineCallbacks
-def prepare_render(self, request):
+async def prepare_render(self, request):
     data = self.getRData(request)
     template_data = request.template_data
     service, node, ticket_id = (
@@ -49,17 +48,19 @@
         "request_data",
         "type",
     )
-    tickets = yield self.host.bridgeCall(
-        "mergeRequestsGet",
-        service.full() if service else "",
-        node,
-        C.NO_LIMIT,
-        [ticket_id],
-        "",
-        {},
-        profile,
+    merge_requests = data_format.deserialise(
+        await self.host.bridgeCall(
+            "mergeRequestsGet",
+            service.full() if service else "",
+            node,
+            C.NO_LIMIT,
+            [ticket_id],
+            "",
+            {},
+            profile,
+        )
     )
-    ticket = [template_xmlui.create(self.host, x, ignore=ignore) for x in tickets[0]][0]
+    ticket = template_xmlui.create(self.host, merge_requests['items'][0], ignore=ignore)
 
     try:
         # small trick to get a one line text input instead of the big textarea
@@ -74,15 +75,14 @@
     wid = ticket.widgets['body']
     if wid.type == "xhtmlbox":
         wid.type = "textbox"
-        wid.value =  yield self.host.bridgeCall(
+        wid.value =  await self.host.bridgeCall(
             "syntaxConvert", wid.value, C.SYNTAX_XHTML, "markdown",
             False, profile)
 
     template_data["new_ticket_xmlui"] = ticket
 
 
-@defer.inlineCallbacks
-def on_data_post(self, request):
+async def on_data_post(self, request):
     data = self.getRData(request)
     service = data["service"]
     node = data["node"]
@@ -97,14 +97,14 @@
     profile = self.getProfile(request)
 
     # we convert back body to XHTML
-    body = yield self.host.bridgeCall(
+    body = await self.host.bridgeCall(
         "syntaxConvert", posted_data['body'][0], "markdown", C.SYNTAX_XHTML,
         False, profile)
     posted_data['body'] = ['<div xmlns="{ns}">{body}</div>'.format(ns=C.NS_XHTML,
                                                                      body=body)]
 
     extra = {'update': True}
-    yield self.host.bridgeCall(
+    await self.host.bridgeCall(
         "mergeRequestSet",
         service.full(),
         node,