show halfprice for member fees if entry_year == current_year && start_date >= 1.7. Fixes #616 #629
@ -361,19 +361,36 @@ ASKÖ Ruderverein Donau Linz", self.name),
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let halfprice = if let Some(member_since_date) = &self.member_since_date {
|
||||||
|
let member_since_date =
|
||||||
|
NaiveDate::parse_from_str(member_since_date, "%Y-%m-%d").unwrap();
|
||||||
|
let halfprice_startdate = NaiveDate::from_ymd_opt(Local::now().year(), 7, 1).unwrap();
|
||||||
|
member_since_date >= halfprice_startdate
|
||||||
|
} else {
|
||||||
|
false
|
||||||
|
};
|
||||||
|
|
||||||
if self.has_role(db, "Unterstützend").await {
|
if self.has_role(db, "Unterstützend").await {
|
||||||
fee.add("Unterstützendes Mitglied".into(), UNTERSTUETZEND);
|
fee.add("Unterstützendes Mitglied".into(), UNTERSTUETZEND);
|
||||||
} else if self.has_role(db, "Förderndes Mitglied").await {
|
} else if self.has_role(db, "Förderndes Mitglied").await {
|
||||||
fee.add("Förderndes Mitglied".into(), FOERDERND);
|
fee.add("Förderndes Mitglied".into(), FOERDERND);
|
||||||
} else if Family::find_by_opt_id(db, self.family_id).await.is_none() {
|
} else if Family::find_by_opt_id(db, self.family_id).await.is_none() {
|
||||||
if self.has_role(db, "Student").await || self.has_role(db, "Schüler").await {
|
if self.has_role(db, "Student").await || self.has_role(db, "Schüler").await {
|
||||||
|
if halfprice {
|
||||||
|
fee.add("Schüler/Student (Halbpreis)".into(), STUDENT_OR_PUPIL / 2);
|
||||||
|
} else {
|
||||||
fee.add("Schüler/Student".into(), STUDENT_OR_PUPIL);
|
fee.add("Schüler/Student".into(), STUDENT_OR_PUPIL);
|
||||||
|
}
|
||||||
} else if self.has_role(db, "Ehrenmitglied").await {
|
} else if self.has_role(db, "Ehrenmitglied").await {
|
||||||
fee.add("Ehrenmitglied".into(), 0);
|
fee.add("Ehrenmitglied".into(), 0);
|
||||||
|
} else {
|
||||||
|
if halfprice {
|
||||||
|
fee.add("Mitgliedsbeitrag (Halbpreis)".into(), REGULAR / 2);
|
||||||
} else {
|
} else {
|
||||||
fee.add("Mitgliedsbeitrag".into(), REGULAR);
|
fee.add("Mitgliedsbeitrag".into(), REGULAR);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fee
|
fee
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user