30 lines
1.0 KiB
Rust
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),
|
|
))
|
|
}
|