Compare commits
	
		
			5 Commits
		
	
	
		
			387acdbd09
			...
			1b6aec8d89
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 1b6aec8d89 | |||
| 1bf1cc9c68 | |||
| 02e1f77f65 | |||
| d819462b0d | |||
| fc49e6c977 | 
| @@ -240,11 +240,29 @@ INNER JOIN trip_details ON planned_event.trip_details_id = trip_details.id", | ||||
|         .unwrap(); //Okay, as planned_event can only be created with proper DB backing | ||||
|     } | ||||
|  | ||||
|     pub async fn delete(&self, db: &SqlitePool) { | ||||
|     pub async fn delete(&self, db: &SqlitePool) -> Result<(), String> { | ||||
|         if Registration::all_rower(db, self.trip_details_id) | ||||
|             .await | ||||
|             .len() | ||||
|             > 0 | ||||
|         { | ||||
|             return Err( | ||||
|                 "Event kann nicht gelöscht werden, weil mind. 1 Ruderer angemeldet ist.".into(), | ||||
|             ); | ||||
|         } | ||||
|         if Registration::all_cox(db, self.trip_details_id).await.len() > 0 { | ||||
|             return Err( | ||||
|                 "Event kann nicht gelöscht werden, weil mind. 1 Steuerperson angemeldet ist." | ||||
|                     .into(), | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         sqlx::query!("DELETE FROM planned_event WHERE id = ?", self.id) | ||||
|             .execute(db) | ||||
|             .await | ||||
|             .unwrap(); //Okay, as PlannedEvent can only be created with proper DB backing | ||||
|  | ||||
|         Ok(()) | ||||
|     } | ||||
|  | ||||
|     pub async fn get_ics_feed(db: &SqlitePool) -> String { | ||||
|   | ||||
| @@ -78,12 +78,13 @@ async fn update( | ||||
|  | ||||
| #[get("/planned-event/<id>/delete")] | ||||
| async fn delete(db: &State<SqlitePool>, id: i64, _admin: PlannedEventUser) -> Flash<Redirect> { | ||||
|     match PlannedEvent::find_by_id(db, id).await { | ||||
|         Some(planned_event) => { | ||||
|             planned_event.delete(db).await; | ||||
|             Flash::success(Redirect::to("/planned"), "Event gelöscht") | ||||
|         } | ||||
|         None => Flash::error(Redirect::to("/planned"), "PlannedEvent does not exist"), | ||||
|     let Some(event) = PlannedEvent::find_by_id(db, id).await else { | ||||
|         return Flash::error(Redirect::to("/planned"), "PlannedEvent does not exist"); | ||||
|     }; | ||||
|  | ||||
|     match event.delete(db).await { | ||||
|         Ok(()) => Flash::success(Redirect::to("/planned"), "Event gelöscht"), | ||||
|         Err(e) => Flash::error(Redirect::to("/planned"), e), | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user