From 567f31dd3dbf0509d9c1c6fe3236980a7955da79 Mon Sep 17 00:00:00 2001 From: Philipp Hofer Date: Tue, 7 Oct 2025 19:08:20 +0200 Subject: [PATCH] enable self-enrollment to ergo challenge --- src/tera/ergo.rs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/tera/ergo.rs b/src/tera/ergo.rs index b27ea33..3e9960f 100644 --- a/src/tera/ergo.rs +++ b/src/tera/ergo.rs @@ -1,6 +1,6 @@ use std::env; -use chrono::Utc; +use chrono::{Datelike, Utc}; use rocket::{ form::Form, fs::TempFile, @@ -17,6 +17,7 @@ use sqlx::SqlitePool; use tera::Context; use crate::model::{ + activity::ActivityBuilder, log::Log, notification::Notification, role::Role, @@ -179,7 +180,21 @@ async fn new_user(db: &State, data: Form, user: User) -> Fl .await; // add to `ergo` group - user.add_role(db, &ergo).await.unwrap(); + sqlx::query!( + "INSERT INTO user_role(user_id, role_id) VALUES (?, ?)", + user.id, + ergo.id + ) + .execute(db.inner()) + .await + .unwrap(); + + ActivityBuilder::new(&format!( + "{user} nimmt an der Ergo-Challenge teil und hat gerade die Daten eingegeben." + )) + .user(&user) + .save(db) + .await; Flash::success( Redirect::to("/ergo"), @@ -358,10 +373,7 @@ async fn new_dozen( } pub fn routes() -> Vec { - routes![ - index, new_thirty, new_dozen, send, reset, update, - // new_user - ] + routes![index, new_thirty, new_dozen, send, reset, update, new_user] } #[cfg(test)]