Compare commits
No commits in common. "eb02906b1012d29e1627caa16db16562fa47a70c" and "cf8d4f8087539a1799cb14d329c4cdbf44d63479" have entirely different histories.
eb02906b10
...
cf8d4f8087
@ -6,7 +6,6 @@ INSERT INTO "role" (name) VALUES ('Donau Linz');
|
|||||||
INSERT INTO "role" (name) VALUES ('planned_event');
|
INSERT INTO "role" (name) VALUES ('planned_event');
|
||||||
INSERT INTO "role" (name) VALUES ('Rennrudern');
|
INSERT INTO "role" (name) VALUES ('Rennrudern');
|
||||||
INSERT INTO "role" (name) VALUES ('paid');
|
INSERT INTO "role" (name) VALUES ('paid');
|
||||||
INSERT INTO "role" (name) VALUES ('Vorstand');
|
|
||||||
INSERT INTO "user" (name, pw) VALUES('admin', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$4P4NCw4Ukhv80/eQYTsarHhnw61JuL1KMx/L9dm82YM');
|
INSERT INTO "user" (name, pw) VALUES('admin', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$4P4NCw4Ukhv80/eQYTsarHhnw61JuL1KMx/L9dm82YM');
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(1,1);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(1,1);
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(1,2);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(1,2);
|
||||||
@ -31,9 +30,6 @@ INSERT INTO "user_role" (user_id, role_id) VALUES(7,5);
|
|||||||
INSERT INTO "user" (name, pw) VALUES('teen', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$jWKzDmI0jqT2dqINFt6/1NjVF4Dx15n07PL1ZMBmFsY');
|
INSERT INTO "user" (name, pw) VALUES('teen', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$jWKzDmI0jqT2dqINFt6/1NjVF4Dx15n07PL1ZMBmFsY');
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(8,5);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(8,5);
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(8,7);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(8,7);
|
||||||
INSERT INTO "user" (name, pw) VALUES('Vorstandsmitglied', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$jWKzDmI0jqT2dqINFt6/1NjVF4Dx15n07PL1ZMBmFsY');
|
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(9,5);
|
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(9,9);
|
|
||||||
|
|
||||||
INSERT INTO "trip_details" (planned_starting_time, max_people, day, notes) VALUES('10:00', 2, '1970-01-01', 'trip_details for a planned event');
|
INSERT INTO "trip_details" (planned_starting_time, max_people, day, notes) VALUES('10:00', 2, '1970-01-01', 'trip_details for a planned event');
|
||||||
INSERT INTO "planned_event" (name, planned_amount_cox, trip_details_id) VALUES('test-planned-event', 2, 1);
|
INSERT INTO "planned_event" (name, planned_amount_cox, trip_details_id) VALUES('test-planned-event', 2, 1);
|
||||||
|
@ -865,7 +865,7 @@ impl<'r> FromRequest<'r> for VorstandUser {
|
|||||||
if user.has_role(db, "Vorstand").await {
|
if user.has_role(db, "Vorstand").await {
|
||||||
Outcome::Success(VorstandUser(user))
|
Outcome::Success(VorstandUser(user))
|
||||||
} else {
|
} else {
|
||||||
Outcome::Forward(Status::Forbidden)
|
Outcome::Error((Status::Forbidden, LoginError::NotACox))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Outcome::Error(f) => Outcome::Error(f),
|
Outcome::Error(f) => Outcome::Error(f),
|
||||||
|
@ -49,39 +49,6 @@ async fn index(
|
|||||||
Template::render("admin/user/index", context.into_json())
|
Template::render("admin/user/index", context.into_json())
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/user", rank = 2)]
|
|
||||||
async fn index_admin(
|
|
||||||
db: &State<SqlitePool>,
|
|
||||||
user: AdminUser,
|
|
||||||
flash: Option<FlashMessage<'_>>,
|
|
||||||
) -> Template {
|
|
||||||
let user_futures: Vec<_> = User::all(db)
|
|
||||||
.await
|
|
||||||
.into_iter()
|
|
||||||
.map(|u| async move { UserWithRoles::from_user(u, db).await })
|
|
||||||
.collect();
|
|
||||||
|
|
||||||
let user: User = user.user;
|
|
||||||
let allowed_to_edit = user.has_role(db, "admin").await;
|
|
||||||
|
|
||||||
let users: Vec<UserWithRoles> = join_all(user_futures).await;
|
|
||||||
|
|
||||||
let roles = Role::all(db).await;
|
|
||||||
let families = Family::all_with_members(db).await;
|
|
||||||
|
|
||||||
let mut context = Context::new();
|
|
||||||
if let Some(msg) = flash {
|
|
||||||
context.insert("flash", &msg.into_inner());
|
|
||||||
}
|
|
||||||
context.insert("allowed_to_edit", &allowed_to_edit);
|
|
||||||
context.insert("users", &users);
|
|
||||||
context.insert("roles", &roles);
|
|
||||||
context.insert("families", &families);
|
|
||||||
context.insert("loggedin_user", &UserWithRoles::from_user(user, db).await);
|
|
||||||
|
|
||||||
Template::render("admin/user/index", context.into_json())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[get("/user/fees")]
|
#[get("/user/fees")]
|
||||||
async fn fees(
|
async fn fees(
|
||||||
db: &State<SqlitePool>,
|
db: &State<SqlitePool>,
|
||||||
@ -226,14 +193,5 @@ async fn create(
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn routes() -> Vec<Route> {
|
pub fn routes() -> Vec<Route> {
|
||||||
routes![
|
routes![index, resetpw, update, create, delete, fees, fees_paid]
|
||||||
index,
|
|
||||||
index_admin,
|
|
||||||
resetpw,
|
|
||||||
update,
|
|
||||||
create,
|
|
||||||
delete,
|
|
||||||
fees,
|
|
||||||
fees_paid
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if "admin" in loggedin_user.roles or "Vorstand" in loggedin_user.roles %}
|
{% if "admin" in loggedin_user.roles %}
|
||||||
<a href="/admin/user"
|
<a href="/admin/user"
|
||||||
class="inline-flex justify-center rounded-md bg-primary-600 mx-1 px-3 py-2 text-sm font-semibold text-white hover:bg-primary-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600 cursor-pointer">
|
class="inline-flex justify-center rounded-md bg-primary-600 mx-1 px-3 py-2 text-sm font-semibold text-white hover:bg-primary-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600 cursor-pointer">
|
||||||
<svg class="inline h-4"
|
<svg class="inline h-4"
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<div class="text-sm p-3">
|
<div class="text-sm p-3">
|
||||||
<ul class="list-disc ms-2">
|
<ul class="list-disc ms-2">
|
||||||
<li class="py-1">
|
<li class="py-1">
|
||||||
<a href="https://wiki.rudernlinz.at/ruderassistent#faq"
|
<a href="https://rudernlinz.at/termin"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
class="link-primary">FAQ (extern)</a>
|
class="link-primary">FAQ (extern)</a>
|
||||||
</li>
|
</li>
|
||||||
|
Loading…
Reference in New Issue
Block a user