comparison 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
comparison
equal deleted inserted replaced
1301:ff44f822bfdd 1302:04e7dd6b6f4d
25 25
26 data = self.getRData(request) 26 data = self.getRData(request)
27 data["ticket_id"] = item_id 27 data["ticket_id"] = item_id
28 28
29 29
30 @defer.inlineCallbacks 30 async def prepare_render(self, request):
31 def prepare_render(self, request):
32 data = self.getRData(request) 31 data = self.getRData(request)
33 template_data = request.template_data 32 template_data = request.template_data
34 service, node, ticket_id = ( 33 service, node, ticket_id = (
35 data.get("service", ""), 34 data.get("service", ""),
36 data.get("node", ""), 35 data.get("node", ""),
47 "updated", 46 "updated",
48 "comments_uri", 47 "comments_uri",
49 "request_data", 48 "request_data",
50 "type", 49 "type",
51 ) 50 )
52 tickets = yield self.host.bridgeCall( 51 merge_requests = data_format.deserialise(
53 "mergeRequestsGet", 52 await self.host.bridgeCall(
54 service.full() if service else "", 53 "mergeRequestsGet",
55 node, 54 service.full() if service else "",
56 C.NO_LIMIT, 55 node,
57 [ticket_id], 56 C.NO_LIMIT,
58 "", 57 [ticket_id],
59 {}, 58 "",
60 profile, 59 {},
60 profile,
61 )
61 ) 62 )
62 ticket = [template_xmlui.create(self.host, x, ignore=ignore) for x in tickets[0]][0] 63 ticket = template_xmlui.create(self.host, merge_requests['items'][0], ignore=ignore)
63 64
64 try: 65 try:
65 # small trick to get a one line text input instead of the big textarea 66 # small trick to get a one line text input instead of the big textarea
66 ticket.widgets["labels"].type = "string" 67 ticket.widgets["labels"].type = "string"
67 ticket.widgets["labels"].value = ticket.widgets["labels"].value.replace( 68 ticket.widgets["labels"].value = ticket.widgets["labels"].value.replace(
72 73
73 # same as tickets_edit 74 # same as tickets_edit
74 wid = ticket.widgets['body'] 75 wid = ticket.widgets['body']
75 if wid.type == "xhtmlbox": 76 if wid.type == "xhtmlbox":
76 wid.type = "textbox" 77 wid.type = "textbox"
77 wid.value = yield self.host.bridgeCall( 78 wid.value = await self.host.bridgeCall(
78 "syntaxConvert", wid.value, C.SYNTAX_XHTML, "markdown", 79 "syntaxConvert", wid.value, C.SYNTAX_XHTML, "markdown",
79 False, profile) 80 False, profile)
80 81
81 template_data["new_ticket_xmlui"] = ticket 82 template_data["new_ticket_xmlui"] = ticket
82 83
83 84
84 @defer.inlineCallbacks 85 async def on_data_post(self, request):
85 def on_data_post(self, request):
86 data = self.getRData(request) 86 data = self.getRData(request)
87 service = data["service"] 87 service = data["service"]
88 node = data["node"] 88 node = data["node"]
89 ticket_id = data["ticket_id"] 89 ticket_id = data["ticket_id"]
90 posted_data = self.getAllPostedData(request) 90 posted_data = self.getAllPostedData(request)
95 except (KeyError, IndexError): 95 except (KeyError, IndexError):
96 pass 96 pass
97 profile = self.getProfile(request) 97 profile = self.getProfile(request)
98 98
99 # we convert back body to XHTML 99 # we convert back body to XHTML
100 body = yield self.host.bridgeCall( 100 body = await self.host.bridgeCall(
101 "syntaxConvert", posted_data['body'][0], "markdown", C.SYNTAX_XHTML, 101 "syntaxConvert", posted_data['body'][0], "markdown", C.SYNTAX_XHTML,
102 False, profile) 102 False, profile)
103 posted_data['body'] = ['<div xmlns="{ns}">{body}</div>'.format(ns=C.NS_XHTML, 103 posted_data['body'] = ['<div xmlns="{ns}">{body}</div>'.format(ns=C.NS_XHTML,
104 body=body)] 104 body=body)]
105 105
106 extra = {'update': True} 106 extra = {'update': True}
107 yield self.host.bridgeCall( 107 await self.host.bridgeCall(
108 "mergeRequestSet", 108 "mergeRequestSet",
109 service.full(), 109 service.full(),
110 node, 110 node,
111 "", 111 "",
112 "auto", 112 "auto",