Compare commits
	
		
			2 Commits
		
	
	
		
			9f57cbaa71
			...
			eec485dced
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| eec485dced | |||
| b48b689aeb | 
@@ -145,47 +145,47 @@ pub struct UserAdd {
 | 
			
		||||
    sex: String,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//#[post("/set-data", data = "<data>")]
 | 
			
		||||
//async fn new_user(db: &State<SqlitePool>, data: Form<UserAdd>, user: User) -> Flash<Redirect> {
 | 
			
		||||
//    if user.has_role(db, "ergo").await {
 | 
			
		||||
//        return Flash::error(Redirect::to("/ergo"), "Du hast deine Daten schon eingegeben. Wenn du sie updaten willst, melde dich bitte bei it@rudernlinz.at");
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    // check data
 | 
			
		||||
//    if data.birthyear < 1900 || data.birthyear > chrono::Utc::now().year() - 5 {
 | 
			
		||||
//        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Geburtsjahr...");
 | 
			
		||||
//    }
 | 
			
		||||
//    if data.weight < 20 || data.weight > 200 {
 | 
			
		||||
//        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Gewicht...");
 | 
			
		||||
//    }
 | 
			
		||||
//    if &data.sex != "f" && &data.sex != "m" {
 | 
			
		||||
//        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Geschlecht...");
 | 
			
		||||
//    }
 | 
			
		||||
//
 | 
			
		||||
//    // set data
 | 
			
		||||
//    user.update_ergo(db, data.birthyear, data.weight, &data.sex)
 | 
			
		||||
//        .await;
 | 
			
		||||
//
 | 
			
		||||
//    // inform all other `ergo` users
 | 
			
		||||
//    let ergo = Role::find_by_name(db, "ergo").await.unwrap();
 | 
			
		||||
//    Notification::create_for_role(
 | 
			
		||||
//        db,
 | 
			
		||||
//        &ergo,
 | 
			
		||||
//        &format!("{} nimmt heuer an der Ergochallenge teil 💪", user.name),
 | 
			
		||||
//        "Ergo Challenge",
 | 
			
		||||
//        None,
 | 
			
		||||
//        None,
 | 
			
		||||
//    )
 | 
			
		||||
//    .await;
 | 
			
		||||
//
 | 
			
		||||
//    // add to `ergo`  group
 | 
			
		||||
//    user.add_role(db, &ergo).await.unwrap();
 | 
			
		||||
//
 | 
			
		||||
//    Flash::success(
 | 
			
		||||
//        Redirect::to("/ergo"),
 | 
			
		||||
//        "Du hast deine Daten erfolgreich eingegeben. Viel Spaß beim Schwitzen :-)",
 | 
			
		||||
//    )
 | 
			
		||||
//}
 | 
			
		||||
#[post("/set-data", data = "<data>")]
 | 
			
		||||
async fn new_user(db: &State<SqlitePool>, data: Form<UserAdd>, user: User) -> Flash<Redirect> {
 | 
			
		||||
    if user.has_role(db, "ergo").await {
 | 
			
		||||
        return Flash::error(Redirect::to("/ergo"), "Du hast deine Daten schon eingegeben. Wenn du sie updaten willst, melde dich bitte bei info@rudernlinz.at");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // check data
 | 
			
		||||
    if data.birthyear < 1900 || data.birthyear > chrono::Utc::now().year() - 5 {
 | 
			
		||||
        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Geburtsjahr...");
 | 
			
		||||
    }
 | 
			
		||||
    if data.weight < 20 || data.weight > 200 {
 | 
			
		||||
        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Gewicht...");
 | 
			
		||||
    }
 | 
			
		||||
    if &data.sex != "f" && &data.sex != "m" {
 | 
			
		||||
        return Flash::error(Redirect::to("/ergo"), "Bitte überprüfe dein Geschlecht...");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // set data
 | 
			
		||||
    user.update_ergo(db, data.birthyear, data.weight, &data.sex)
 | 
			
		||||
        .await;
 | 
			
		||||
 | 
			
		||||
    // inform all other `ergo` users
 | 
			
		||||
    let ergo = Role::find_by_name(db, "ergo").await.unwrap();
 | 
			
		||||
    Notification::create_for_role(
 | 
			
		||||
        db,
 | 
			
		||||
        &ergo,
 | 
			
		||||
        &format!("{} nimmt heuer an der Ergochallenge teil 💪", user.name),
 | 
			
		||||
        "Ergo Challenge",
 | 
			
		||||
        None,
 | 
			
		||||
        None,
 | 
			
		||||
    )
 | 
			
		||||
    .await;
 | 
			
		||||
 | 
			
		||||
    // add to `ergo`  group
 | 
			
		||||
    user.add_role(db, &ergo).await.unwrap();
 | 
			
		||||
 | 
			
		||||
    Flash::success(
 | 
			
		||||
        Redirect::to("/ergo"),
 | 
			
		||||
        "Du hast deine Daten erfolgreich eingegeben. Viel Spaß beim Schwitzen :-)",
 | 
			
		||||
    )
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(FromForm, Debug)]
 | 
			
		||||
pub struct ErgoToAdd<'a> {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user