allow admin to create user

This commit is contained in:
2023-04-05 20:56:36 +02:00
parent ed28a50d98
commit f609ee1cb4
4 changed files with 46 additions and 4 deletions

View File

@ -57,6 +57,29 @@ async fn update(
Flash::success(Redirect::to("/admin/user"), "Successfully updated user")
}
pub fn routes() -> Vec<Route> {
routes![index, resetpw, update]
#[derive(FromForm)]
struct UserAddForm {
name: String,
is_guest: bool,
}
#[post("/user/new", data = "<data>")]
async fn create(
db: &State<SqlitePool>,
data: Form<UserAddForm>,
_admin: AdminUser,
) -> Flash<Redirect> {
if User::create(db, data.name.clone(), data.is_guest).await {
//TODO: fix clone() above
Flash::success(Redirect::to("/admin/user"), "Successfully created user")
} else {
Flash::error(
Redirect::to("/admin/user"),
format!("User {} already exists", data.name),
)
}
}
pub fn routes() -> Vec<Route> {
routes![index, resetpw, update, create]
}