Merge pull request 'show owner of boat in boat km list' (#344) from staging into main
Reviewed-on: #344
This commit was merged in pull request #344.
	This commit is contained in:
		@@ -343,6 +343,14 @@ ORDER BY amount_seats DESC
 | 
			
		||||
        Ok(())
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn owner(&self, db: &SqlitePool) -> Option<User> {
 | 
			
		||||
        if let Some(owner_id) = self.owner {
 | 
			
		||||
            Some(User::find_by_id(db, owner_id as i32).await.unwrap())
 | 
			
		||||
        } else {
 | 
			
		||||
            None
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    pub async fn delete(&self, db: &SqlitePool) {
 | 
			
		||||
        sqlx::query!("DELETE FROM boat WHERE id=?", self.id)
 | 
			
		||||
            .execute(db)
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@ use chrono::Datelike;
 | 
			
		||||
use serde::Serialize;
 | 
			
		||||
use sqlx::{FromRow, Row, SqlitePool};
 | 
			
		||||
 | 
			
		||||
use super::boat::Boat;
 | 
			
		||||
 | 
			
		||||
#[derive(Serialize, Clone)]
 | 
			
		||||
pub struct BoatStat {
 | 
			
		||||
    pot_years: Vec<i32>,
 | 
			
		||||
@@ -26,7 +28,7 @@ impl BoatStat {
 | 
			
		||||
        let rows = sqlx::query(
 | 
			
		||||
            "
 | 
			
		||||
        SELECT 
 | 
			
		||||
            boat.name, 
 | 
			
		||||
            boat.id, 
 | 
			
		||||
            location.name AS location,
 | 
			
		||||
            CAST(strftime('%Y', arrival) AS INTEGER) AS year, 
 | 
			
		||||
            CAST(SUM(distance_in_km) AS INTEGER) AS rowed_km
 | 
			
		||||
@@ -49,7 +51,14 @@ impl BoatStat {
 | 
			
		||||
        .unwrap();
 | 
			
		||||
 | 
			
		||||
        for row in rows {
 | 
			
		||||
            let name: String = row.get("name");
 | 
			
		||||
            let id: i32 = row.get("id");
 | 
			
		||||
            let boat = Boat::find_by_id(db, id).await.unwrap();
 | 
			
		||||
            let owner = if let Some(owner) = boat.owner(db).await {
 | 
			
		||||
                owner.name
 | 
			
		||||
            } else {
 | 
			
		||||
                String::from("Verein")
 | 
			
		||||
            };
 | 
			
		||||
            let name = format!("{} ({})", boat.name, owner);
 | 
			
		||||
            let location: String = row.get("location");
 | 
			
		||||
            let year: i32 = row.get("year");
 | 
			
		||||
            if year == 0 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user