self.redirect(
Path('/', PAGENAME_EDIT_STRUCTURED, self.path_toks[2]))
return
+ ctx: dict[str, Any] = {}
if self.pagename.endswith('.js'):
- self.get_js()
+ if self.pagename.startswith(PAGENAME_EDIT_STRUCTURED):
+ block = self.server.ledger.blocks[int(self.path_toks[2])]
+ ctx['raw_gap_lines'] = [dl.raw for dl in block.gap.lines]
+ ctx['booking_lines'] = (
+ [block.booking.intro_line.as_dict]
+ + [tf_line.as_dict
+ for tf_line in block.booking.transfer_lines]
+ ) if block.booking else []
+ self.send_http(
+ bytes(self.server.jinja.get_template(self.pagename
+ ).render(**ctx),
+ encoding='utf8'),
+ [('Content-Type', 'text/javascript')])
return
- ctx = {'unsaved_changes': self.server.ledger.tainted,
- 'path': self.path}
- self._send_rendered(self.pagename,
- ctx | render_ctx_on_path(self.server.ledger,
- self.path_toks[1:]))
-
- def get_js(self) -> None:
- 'Deliver .js module.'
- ctx = {}
- if self.pagename == PAGENAME_EDIT_STRUCTURED + '.js':
- block = self.server.ledger.blocks[int(self.path_toks[2])]
- ctx['raw_gap_lines'] = [dl.raw for dl in block.gap.lines]
- ctx['booking_lines'] = (
- [block.booking.intro_line.as_dict]
- + [tf_line.as_dict for tf_line in block.booking.transfer_lines]
- ) if block.booking else []
- self.send_http(
- bytes(self.server.jinja.get_template(self.pagename).render(**ctx),
- encoding='utf8'),
- [('Content-Type', 'text/javascript')])
+ ctx['path'] = self.path
+ ctx['unsaved_changes'] = self.server.ledger.tainted
+ ctx |= render_ctx_on_path(self.server.ledger, self.path_toks[1:])
+ self._send_rendered(self.pagename, ctx)