EinsatzOnline/src/modules/member_management/view/member_management_selection...

30 lines
1.0 KiB
Rust

use crate::helper::session_cookies::model::SessionCookie;
use crate::helper::settings::Settings;
use crate::helper::sitebuilder::model::general::{Footer, Header};
use crate::modules::member_management::controller::render::get_selection_context;
use crate::modules::member_management::model::member_module::MemberModuleSelection;
use rocket::http::Status;
use rocket::State;
use rocket_contrib::templates::Template;
#[get("/portal/mm")]
pub fn member_management_selection_get(
cookie: SessionCookie,
settings: State<Settings>,
) -> Result<Template, Status> {
let member = match cookie.member {
//Unwraps member from cookie or send user to login if no member specified (user skipped member selection)
Some(member) => member,
None => return Err(Status::Unauthorized),
};
if !member.has_permission("modules.member_management.list.view".to_string()) {
return Err(Status::Forbidden);
}
Ok(Template::render(
"module_member_management_selection",
get_selection_context(member, &settings),
))
}