allow moving scheckbuch -> regular
All checks were successful
CI/CD Pipeline / test (push) Successful in 15m20s
CI/CD Pipeline / deploy-staging (push) Has been skipped
CI/CD Pipeline / deploy-main (push) Has been skipped

This commit is contained in:
2025-05-03 12:27:02 +02:00
parent c47b1988b2
commit 9aab07422d
8 changed files with 228 additions and 127 deletions

View File

@ -42,12 +42,20 @@ impl User {
db: &SqlitePool,
updated_by: &ManageUserUser,
new_phone: &str,
) -> Result<(), String> {
) {
let new_phone = new_phone.trim();
let query = if new_phone.is_empty() {
if self.phone.is_none() {
return; // nothing to do
}
sqlx::query!("UPDATE user SET phone = NULL where id = ?", self.id)
} else {
if let Some(old_phone) = &self.phone {
if old_phone == new_phone {
return; //nothing to do
}
}
sqlx::query!("UPDATE user SET phone = ? where id = ?", new_phone, self.id)
};
query.execute(db).await.unwrap(); //Okay, because we can only create a User of a valid id
@ -58,8 +66,6 @@ impl User {
None => format!("{updated_by} has added a phone number for {self}: {new_phone}")
};
Log::create(db, msg).await;
Ok(())
}
pub(crate) async fn update_address(
@ -67,12 +73,20 @@ impl User {
db: &SqlitePool,
updated_by: &ManageUserUser,
new_address: &str,
) -> Result<(), String> {
) {
let new_address = new_address.trim();
let query = if new_address.is_empty() {
if !self.address.is_none() {
return; // nothing to do
}
sqlx::query!("UPDATE user SET address = NULL where id = ?", self.id)
} else {
if let Some(old_address) = &self.address {
if old_address == new_address {
return; //nothing to do
}
}
sqlx::query!(
"UPDATE user SET address = ? where id = ?",
new_address,
@ -87,8 +101,6 @@ impl User {
None => format!("{updated_by} has added an address for {self}: {new_address}")
};
Log::create(db, msg).await;
Ok(())
}
pub(crate) async fn update_nickname(
@ -313,6 +325,9 @@ impl User {
if self.has_membership_pdf(db).await {
return Err(format!("User {self} hat bereits eine Beitrittserklärung."));
}
if membership_pdf.len() == 0 {
return Err(format!("Keine Beitrittserklärung mitgeschickt."));
}
let mut stream = membership_pdf.open().await.unwrap();
let mut buffer = Vec::new();