use crate::{ filters, models::{Area, Role, User}, }; use askama::Template; use serde::Deserialize; pub mod delete; pub mod get_changepassword; pub mod get_edit; pub mod get_login; pub mod get_logout; pub mod get_new; pub mod get_overview; pub mod get_profile; pub mod get_register; pub mod get_reset; pub mod post_changepassword; pub mod post_edit; pub mod post_login; pub mod post_new; pub mod post_register; pub mod post_resend_registration; pub mod post_reset; pub mod put_receive_notifications; pub mod put_lock; #[derive(Template)] #[template(path = "user/new_or_edit.html")] pub struct NewOrEditUserTemplate { user: User, areas: Option>, id: Option, email: Option, name: Option, role: Option, is_posten: Option, is_wachhabender: Option, is_fuehrungsassistent: Option, area_id: Option, } #[derive(Deserialize, Debug)] #[cfg_attr(test, derive(serde::Serialize))] struct NewOrEditUserForm { email: String, name: String, role: u8, #[serde(rename = "is-posten")] is_posten: Option, #[serde(rename = "is-wachhabender")] is_wachhabender: Option, #[serde(rename = "is-fuehrungsassistent")] is_fuehrungsassistent: Option, area: Option, } #[derive(Template)] #[template(path = "user/change_password.html")] struct ResetPasswordTemplate<'a> { token: &'a str, title: &'a str, endpoint: &'a str, new_password_label: &'a str, retype_label: &'a str, submit_button_label: &'a str, }