aboutsummaryrefslogtreecommitdiff
path: root/server/src/ui/admin/user.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/ui/admin/user.rs')
-rw-r--r--server/src/ui/admin/user.rs52
1 files changed, 26 insertions, 26 deletions
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()),
+ ))
}