// SPDX-FileCopyrightText: 2024 Aravinth Manivannan // // SPDX-License-Identifier: AGPL-3.0-or-later use std::cell::RefCell; use derive_builder::*; use derive_more::*; use serde::*; use tera::Context; use url::Url; pub use super::*; use crate::utils::*; pub const DELETE_ORDER_PAGE: TemplateFile = TemplateFile::new("ordering.delete_order", "ordering/delete_order.html"); pub fn register_templates(t: &mut tera::Tera) { DELETE_ORDER_PAGE.register(t).expect(DELETE_ORDER_PAGE.name); } pub struct DeleteOrderPage { ctx: RefCell, } impl DeleteOrderPage { pub fn new() -> Self { let mut ctx = context(); //ctx.insert(PAYLOAD_KEY, p); let ctx = RefCell::new(ctx); Self { ctx } } pub fn render(&self) -> String { TEMPLATES .render(DELETE_ORDER_PAGE.name, &self.ctx.borrow()) .unwrap() } pub fn page() -> String { let p = Self::new(); p.render() } } #[cfg(test)] mod tests { use super::*; #[test] fn render_page_and_write() { const FILE: &str = "./tmp/ordering-delete_order.html"; let tw = TestWriterBuilder::default() .file(FILE.into()) .contents(DeleteOrderPage::page()) .build() .unwrap(); tw.write(); } }