Compare commits
No commits in common. "6b8892788002dfce535c0d2ea03d923dc10b59ea" and "49b2305cdb1282931e7eaf9ea02f1e8413c64572" have entirely different histories.
6b88927880
...
49b2305cdb
@ -76,16 +76,8 @@ impl Trip {
|
|||||||
.await;
|
.await;
|
||||||
if same_starting_datetime.len() > 1 {
|
if same_starting_datetime.len() > 1 {
|
||||||
for notify in same_starting_datetime {
|
for notify in same_starting_datetime {
|
||||||
// don't notify oneself
|
if notify.id != trip_details.id {
|
||||||
if notify.id == trip_details.id {
|
// notify everyone except oneself
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// don't notify people who have cancelled their trip
|
|
||||||
if notify.cancelled(db) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Some(trip) = Trip::find_by_trip_details(db, notify.id).await {
|
if let Some(trip) = Trip::find_by_trip_details(db, notify.id).await {
|
||||||
let user = User::find_by_id(db, trip.cox_id as i32).await.unwrap();
|
let user = User::find_by_id(db, trip.cox_id as i32).await.unwrap();
|
||||||
Notification::create(
|
Notification::create(
|
||||||
@ -104,6 +96,7 @@ impl Trip {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub async fn find_by_trip_details(db: &SqlitePool, tripdetails_id: i64) -> Option<Self> {
|
pub async fn find_by_trip_details(db: &SqlitePool, tripdetails_id: i64) -> Option<Self> {
|
||||||
sqlx::query_as!(
|
sqlx::query_as!(
|
||||||
|
@ -94,10 +94,6 @@ WHERE day = ? AND planned_starting_time = ?
|
|||||||
.await.unwrap()
|
.await.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn cancelled(&self, db: &SqlitePool) -> bool {
|
|
||||||
self.max_people == 0
|
|
||||||
}
|
|
||||||
|
|
||||||
/// This function is called when a person registers to a trip or when the cox changes the
|
/// This function is called when a person registers to a trip or when the cox changes the
|
||||||
/// amount of free places.
|
/// amount of free places.
|
||||||
pub async fn check_free_spaces(&self, db: &SqlitePool) {
|
pub async fn check_free_spaces(&self, db: &SqlitePool) {
|
||||||
@ -106,7 +102,7 @@ WHERE day = ? AND planned_starting_time = ?
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if self.cancelled(db) {
|
if self.max_people == 0 {
|
||||||
// Cox cancelled event, thus it's probably bad weather. Don't bother with sending
|
// Cox cancelled event, thus it's probably bad weather. Don't bother with sending
|
||||||
// notifications
|
// notifications
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user