Adding user view

closes #7
This commit is contained in:
2021-02-09 14:06:34 +01:00
parent 5d28707e18
commit 10933dd48b
4 changed files with 64 additions and 1 deletions
+2 -1
View File
@@ -130,7 +130,8 @@ async fn main() -> std::io::Result<()> {
.service(
web::scope("/profile")
.route("/{user_id}", web::get().to(views::view_profile)),
),
)
.route("/users/", web::get().to(views::index_users)),
)
.service(
web::scope("/edit")
+21
View File
@@ -67,6 +67,27 @@ pub(crate) async fn index(
}
}
/// Show the list of all available links if a user is authenticated
pub(crate) async fn index_users(
tera: web::Data<Tera>,
id: Identity,
) -> Result<HttpResponse, ServerError> {
use super::schema::users::dsl::users;
if let Some(id) = id.identity() {
let connection = establish_connection()?;
let all_users: Vec<User> = users.load(&connection)?;
let mut data = Context::new();
data.insert("name", &id);
data.insert("title", "Benutzer der Freien Hochschule Stuttgart");
data.insert("users", &all_users);
let rendered = tera.render("index_users.html", &data)?;
Ok(HttpResponse::Ok().body(rendered))
} else {
Ok(redirect_builder("/admin/login/"))
}
}
pub(crate) async fn view_link(
tera: web::Data<Tera>,
id: Identity,