enable self-enrollment to ergo challenge
This commit is contained in:
		| @@ -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<SqlitePool>, data: Form<UserAdd>, 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<Route> { | ||||
|     routes![ | ||||
|         index, new_thirty, new_dozen, send, reset, update, | ||||
|         // new_user | ||||
|     ] | ||||
|     routes![index, new_thirty, new_dozen, send, reset, update, new_user] | ||||
| } | ||||
|  | ||||
| #[cfg(test)] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user