Mercurial > libervia-web
annotate libervia/pages/tickets/page_meta.py @ 1258:92ff09cdd6dd
server: gather themes data:
- the new LiberviaRootResource's `site_themes` attribute is a set of available themes for
a site, it is set a template variable for pages.
- if `browser_meta` are available for a theme, the metadata are merged with pages root
`_browser` data
- if python files are found in `browser_path`, they are added to be handled by brython
task.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 03 May 2020 19:28:14 +0200 |
parents | f511f8fbbf8a |
children | 04e7dd6b6f4d |
rev | line source |
---|---|
1216 | 1 #!/usr/bin/env python3 |
1239 | 2 |
967 | 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 | |
1216 | 13 name = "tickets" |
967 | 14 access = C.PAGES_ACCESS_PUBLIC |
1216 | 15 template = "ticket/overview.html" |
967 | 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) |
1216 | 21 service, node = data["service"], data["node"] |
1078
296bda6b7ed0
pages (tickets): tickets discovery:
Goffi <goffi@goffi.org>
parents:
1043
diff
changeset
|
22 if node is None: |
1216 | 23 self.pageRedirect("tickets_disco", request) |
24 if node == "@": | |
25 node = data["node"] = "" | |
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 |
1216 | 27 template_data["url_tickets_list"] = self.getURL(service.full(), node or "@") |
28 template_data["url_tickets_new"] = self.getSubPageURL(request, "tickets_new") | |
1113
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 | |
1216 | 35 service, node = data["service"], data["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) |
1216 | 41 extra["labels_as_list"] = C.BOOL_TRUE |
1142
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", |
1216 | 45 service.full() if service else "", |
1113
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 ) |
1216 | 53 template_data["tickets"] = [template_xmlui.create(self.host, x) for x in tickets] |
54 template_data["on_ticket_click"] = data_objects.OnClick( | |
55 url=self.getSubPageURL(request, "tickets_view") + "/{item.id}" | |
1113
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) |