care-about-einschreibgebuehr #699
@ -10,6 +10,7 @@ INSERT INTO "role" (name) VALUES ('Vorstand');
|
|||||||
INSERT INTO "role" (name) VALUES ('Bootsführer');
|
INSERT INTO "role" (name) VALUES ('Bootsführer');
|
||||||
INSERT INTO "role" (name) VALUES ('schnupperant');
|
INSERT INTO "role" (name) VALUES ('schnupperant');
|
||||||
INSERT INTO "role" (name) VALUES ('kassier');
|
INSERT INTO "role" (name) VALUES ('kassier');
|
||||||
|
INSERT INTO "role" (name) VALUES ('no-einschreibgebuehr');
|
||||||
INSERT INTO "user" (name, pw) VALUES('admin', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$4P4NCw4Ukhv80/eQYTsarHhnw61JuL1KMx/L9dm82YM');
|
INSERT INTO "user" (name, pw) VALUES('admin', '$argon2id$v=19$m=19456,t=2,p=1$dS/X5/sPEKTj4Rzs/CuvzQ$4P4NCw4Ukhv80/eQYTsarHhnw61JuL1KMx/L9dm82YM');
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(1,1);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(1,1);
|
||||||
INSERT INTO "user_role" (user_id, role_id) VALUES(1,2);
|
INSERT INTO "user_role" (user_id, role_id) VALUES(1,2);
|
||||||
|
@ -9,11 +9,7 @@ use serde::Serialize;
|
|||||||
use sqlx::{FromRow, Row, SqlitePool};
|
use sqlx::{FromRow, Row, SqlitePool};
|
||||||
|
|
||||||
use super::{
|
use super::{
|
||||||
notification::Notification,
|
notification::Notification, role::Role, tripdetails::TripDetails, triptype::TripType,
|
||||||
role::Role,
|
|
||||||
trip,
|
|
||||||
tripdetails::{self, TripDetails},
|
|
||||||
triptype::TripType,
|
|
||||||
user::User,
|
user::User,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ const REGULAR: i32 = 22000;
|
|||||||
const UNTERSTUETZEND: i32 = 2500;
|
const UNTERSTUETZEND: i32 = 2500;
|
||||||
const FOERDERND: i32 = 8500;
|
const FOERDERND: i32 = 8500;
|
||||||
pub const SCHECKBUCH: i32 = 3000;
|
pub const SCHECKBUCH: i32 = 3000;
|
||||||
|
const EINSCHREIBGEBUEHR: i32 = 3500;
|
||||||
|
|
||||||
#[derive(FromRow, Serialize, Deserialize, Clone, Debug, Eq, Hash, PartialEq)]
|
#[derive(FromRow, Serialize, Deserialize, Clone, Debug, Eq, Hash, PartialEq)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
@ -361,6 +362,17 @@ ASKÖ Ruderverein Donau Linz", self.name),
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Some(member_since_date) = &self.member_since_date {
|
||||||
|
if let Ok(member_since_date) = NaiveDate::parse_from_str(member_since_date, "%Y-%m-%d")
|
||||||
|
{
|
||||||
|
if member_since_date.year() == Local::now().year()
|
||||||
|
&& !self.has_role(db, "no-einschreibgebuehr").await
|
||||||
|
{
|
||||||
|
fee.add("Einschreibgebühr".into(), EINSCHREIBGEBUEHR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let halfprice = if let Some(member_since_date) = &self.member_since_date {
|
let halfprice = if let Some(member_since_date) = &self.member_since_date {
|
||||||
if let Ok(member_since_date) = NaiveDate::parse_from_str(member_since_date, "%Y-%m-%d")
|
if let Ok(member_since_date) = NaiveDate::parse_from_str(member_since_date, "%Y-%m-%d")
|
||||||
{
|
{
|
||||||
|
@ -437,6 +437,10 @@ async fn schnupper_to_scheckbuch(
|
|||||||
let scheckbuch = Role::find_by_name(db, "scheckbuch").await.unwrap();
|
let scheckbuch = Role::find_by_name(db, "scheckbuch").await.unwrap();
|
||||||
user.add_role(db, &scheckbuch).await;
|
user.add_role(db, &scheckbuch).await;
|
||||||
|
|
||||||
|
if let Some(no_einschreibgebuehr) = Role::find_by_name(db, "no-einschreibgebuehr").await {
|
||||||
|
user.add_role(db, &no_einschreibgebuehr).await;
|
||||||
|
}
|
||||||
|
|
||||||
user.send_welcome_email(db, &config.smtp_pw).await.unwrap();
|
user.send_welcome_email(db, &config.smtp_pw).await.unwrap();
|
||||||
|
|
||||||
Log::create(
|
Log::create(
|
||||||
|
Loading…
Reference in New Issue
Block a user