diff options
author | metamuffin <metamuffin@disroot.org> | 2025-05-31 13:38:01 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-05-31 13:38:01 +0200 |
commit | 72a8d6c8cff8869019c3ce0cb1a38f806d964604 (patch) | |
tree | eae26a41700a9001eee715b4a4cf0c08deb1e0dd /server/src/ui/admin | |
parent | 373243a81f8c44fcfc6a3612ba46da2c6a3286c6 (diff) | |
download | jellything-72a8d6c8cff8869019c3ce0cb1a38f806d964604.tar jellything-72a8d6c8cff8869019c3ce0cb1a38f806d964604.tar.bz2 jellything-72a8d6c8cff8869019c3ce0cb1a38f806d964604.tar.zst |
convert all manual message stuff to FlashMessage
Diffstat (limited to 'server/src/ui/admin')
-rw-r--r-- | server/src/ui/admin/mod.rs | 4 | ||||
-rw-r--r-- | server/src/ui/admin/user.rs | 52 |
2 files changed, 27 insertions, 29 deletions
diff --git a/server/src/ui/admin/mod.rs b/server/src/ui/admin/mod.rs index e124a13..02a7605 100644 --- a/server/src/ui/admin/mod.rs +++ b/server/src/ui/admin/mod.rs @@ -28,8 +28,6 @@ pub async fn r_admin_dashboard( flash: Option<FlashMessage<'_>>, ) -> MyResult<RawHtml<String>> { ri.session.assert_admin()?; - let flash = None; - let invites = list_invites(&ri.session)?; let last_import_err = get_import_errors(&ri.session).await; @@ -44,7 +42,7 @@ pub async fn r_admin_dashboard( busy, last_import_err: &last_import_err, invites: &invites, - flash, + flash: &flash.map(FlashMessage::into_inner), lang: &ri.lang, }, ri.render_info(), diff --git a/server/src/ui/admin/user.rs b/server/src/ui/admin/user.rs index afbe8f0..fa84f52 100644 --- a/server/src/ui/admin/user.rs +++ b/server/src/ui/admin/user.rs @@ -5,13 +5,22 @@ */ use crate::{helper::RequestInfo, ui::error::MyResult}; use anyhow::Context; -use jellycommon::user::UserPermission; +use jellycommon::{ + routes::{u_admin_user, u_admin_users}, + user::UserPermission, +}; use jellylogic::admin::user::{admin_users, delete_user, get_user, update_user_perms, GrantState}; use jellyui::{ admin::user::{AdminUserPage, AdminUsersPage}, + locale::tr, render_page, }; -use rocket::{form::Form, get, post, response::content::RawHtml, FromForm, FromFormField}; +use rocket::{ + form::Form, + get, post, + response::{content::RawHtml, Flash, Redirect}, + FromForm, FromFormField, +}; #[get("/admin/users")] pub fn r_admin_users(ri: RequestInfo) -> MyResult<RawHtml<String>> { @@ -19,7 +28,7 @@ pub fn r_admin_users(ri: RequestInfo) -> MyResult<RawHtml<String>> { let r = admin_users(&ri.session)?; Ok(RawHtml(render_page( &AdminUsersPage { - flash: None, + flash: &None, lang: &ri.lang, users: &r.users, }, @@ -34,7 +43,7 @@ pub fn r_admin_user<'a>(ri: RequestInfo, name: &'a str) -> MyResult<RawHtml<Stri Ok(RawHtml(render_page( &AdminUserPage { - flash: None, + flash: &None, lang: &ri.lang, user: &user, }, @@ -60,7 +69,7 @@ pub fn r_admin_user_permission( ri: RequestInfo, form: Form<UserPermissionForm>, name: &str, -) -> MyResult<RawHtml<String>> { +) -> MyResult<Flash<Redirect>> { ri.session.assert_admin()?; let perm = serde_json::from_str::<UserPermission>(&form.permission) .context("parsing provided permission")?; @@ -76,30 +85,21 @@ pub fn r_admin_user_permission( }, )?; - let user = get_user(&ri.session, name)?; - - Ok(RawHtml(render_page( - &AdminUserPage { - flash: Some(Ok("Permissions updated".to_string())), - lang: &ri.lang, - user: &user, - }, - ri.render_info(), - ))) + Ok(Flash::success( + Redirect::to(u_admin_user(name)), + tr( + ri.lang, + &"admin.users.permission_update_success".to_string(), + ), + )) } #[post("/admin/<name>/remove")] -pub fn r_admin_remove_user(ri: RequestInfo, name: &str) -> MyResult<RawHtml<String>> { +pub fn r_admin_remove_user(ri: RequestInfo, name: &str) -> MyResult<Flash<Redirect>> { ri.session.assert_admin()?; delete_user(&ri.session, name)?; - let r = admin_users(&ri.session)?; - - Ok(RawHtml(render_page( - &AdminUsersPage { - flash: Some(Ok("User removed".to_string())), - lang: &ri.lang, - users: &r.users, - }, - ri.render_info(), - ))) + Ok(Flash::success( + Redirect::to(u_admin_users()), + tr(ri.lang, &"admin.users.remove_success".to_string()), + )) } |