Mercurial > libervia-web
annotate libervia/pages/tickets/page_meta.py @ 1177:75c5e8d21c7d
server: catch "not-allowed" error from bridge and show the appropriate error page in this case
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 03 May 2019 20:54:34 +0200 |
parents | 29eb15062416 |
children | b2d067339de3 |
rev | line source |
---|---|
967 | 1 #!/usr/bin/env python2.7 |
2 # -*- coding: utf-8 -*- | |
3 | |
4 from libervia.server.constants import Const as C | |
5 from twisted.internet import defer | |
6 from sat.tools.common import template_xmlui | |
7 from sat.tools.common import data_objects | |
8 from sat.core.log import getLogger | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
9 |
1145
29eb15062416
pages: set __name__ for imported pages
Goffi <goffi@goffi.org>
parents:
1142
diff
changeset
|
10 log = getLogger(__name__) |
967 | 11 """ticket handling pages""" |
12 | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
13 name = u"tickets" |
967 | 14 access = C.PAGES_ACCESS_PUBLIC |
15 template = u"ticket/overview.html" | |
16 | |
17 | |
18 def parse_url(self, request): | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
19 self.getPathArgs(request, ["service", "node"], service="jid") |
1078
296bda6b7ed0
pages (tickets): tickets discovery:
Goffi <goffi@goffi.org>
parents:
1043
diff
changeset
|
20 data = self.getRData(request) |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
21 service, node = data[u"service"], data[u"node"] |
1078
296bda6b7ed0
pages (tickets): tickets discovery:
Goffi <goffi@goffi.org>
parents:
1043
diff
changeset
|
22 if node is None: |
296bda6b7ed0
pages (tickets): tickets discovery:
Goffi <goffi@goffi.org>
parents:
1043
diff
changeset
|
23 self.pageRedirect(u"tickets_disco", request) |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
24 if node == u"@": |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
25 node = data[u"node"] = u"" |
973
2e75dc986e03
pages (tickets): URLs for list and new are set in the template for the whole subhierarchy
Goffi <goffi@goffi.org>
parents:
967
diff
changeset
|
26 template_data = request.template_data |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
27 template_data[u"url_tickets_list"] = self.getURL(service.full(), node or u"@") |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
28 template_data[u"url_tickets_new"] = self.getSubPageURL(request, "tickets_new") |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
29 |
967 | 30 |
31 @defer.inlineCallbacks | |
32 def prepare_render(self, request): | |
33 data = self.getRData(request) | |
34 template_data = request.template_data | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
35 service, node = data[u"service"], data[u"node"] |
967 | 36 profile = self.getProfile(request) or C.SERVICE_PROFILE |
37 | |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
38 self.checkCache(request, C.CACHE_PUBSUB, service=service, node=node, short="tickets") |
1021
b39c527f208c
pages (tickets): check cache in prepare_render instead of parse_url
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
39 |
1142
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
40 extra = self.getPubsubExtra(request) |
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
41 extra[u"labels_as_list"] = C.BOOL_TRUE |
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
42 |
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
43 tickets, metadata = yield self.host.bridgeCall( |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
44 "ticketsGet", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
45 service.full() if service else u"", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
46 node, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
47 C.NO_LIMIT, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
48 [], |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
49 "", |
1142
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
50 extra, |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
51 profile, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
52 ) |
1142
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
53 template_data[u"tickets"] = [template_xmlui.create(self.host, x) for x in tickets] |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
54 template_data[u"on_ticket_click"] = data_objects.OnClick( |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
55 url=self.getSubPageURL(request, u"tickets_view") + u"/{item.id}" |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
56 ) |
1142
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
57 metadata = data_objects.parsePubSubMetadata(metadata, tickets) |
003597f895a0
pages (tickets): use the new getPubsubExtra and setPagination methods to handle pagination
Goffi <goffi@goffi.org>
parents:
1137
diff
changeset
|
58 self.setPagination(request, metadata) |