@@ -18,6 +18,7 @@ pub struct SendChargelogSchema {
1818 pub password : String ,
1919 pub user_uuid : String ,
2020 pub filename : String ,
21+ pub display_name : String ,
2122 pub chargelog : Vec < u8 > ,
2223}
2324
@@ -27,6 +28,7 @@ struct ChargelogDETemplate<'a> {
2728 name : & ' a str ,
2829 month : & ' a str ,
2930 filename : & ' a str ,
31+ display_name : & ' a str ,
3032}
3133
3234#[ derive( Template ) ]
@@ -35,12 +37,14 @@ struct ChargelogENTemplate<'a> {
3537 name : & ' a str ,
3638 month : & ' a str ,
3739 filename : & ' a str ,
40+ display_name : & ' a str ,
3841}
3942
4043fn render_chargelog_email (
4144 user_name : & str ,
4245 month : & str ,
4346 filename : & str ,
47+ display_name : & str ,
4448 lang : & str ,
4549) -> actix_web:: Result < ( String , String ) > {
4650 let ( body, subject) = match lang {
@@ -49,9 +53,13 @@ fn render_chargelog_email(
4953 name : user_name,
5054 month,
5155 filename,
56+ display_name,
5257 } ;
5358 match template. render ( ) {
54- Ok ( b) => ( b, format ! ( "Dein Ladelog für {}" , month) ) ,
59+ Ok ( b) => (
60+ b,
61+ format ! ( "Dein Ladelog für {} von {}" , month, display_name) ,
62+ ) ,
5563 Err ( e) => {
5664 log:: error!(
5765 "Failed to render German chargelog email template for user '{}': {}" ,
@@ -67,9 +75,13 @@ fn render_chargelog_email(
6775 name : user_name,
6876 month,
6977 filename,
78+ display_name,
7079 } ;
7180 match template. render ( ) {
72- Ok ( b) => ( b, format ! ( "Your Charge Log for {}" , month) ) ,
81+ Ok ( b) => (
82+ b,
83+ format ! ( "Your Charge Log for {} from {}" , month, display_name) ,
84+ ) ,
7385 Err ( e) => {
7486 log:: error!(
7587 "Failed to render English chargelog email template for user '{}': {}" ,
@@ -143,7 +155,13 @@ pub async fn send_chargelog(
143155 _ => last_month. format ( "%B %Y" ) . to_string ( ) ,
144156 } ;
145157
146- let ( body, subject) = render_chargelog_email ( & user. name , & month, & payload. filename , & lang_str) ?;
158+ let ( body, subject) = render_chargelog_email (
159+ & user. name ,
160+ & month,
161+ & payload. filename ,
162+ & payload. display_name ,
163+ & lang_str,
164+ ) ?;
147165
148166 send_email_with_attachment (
149167 & user. email ,
@@ -178,6 +196,7 @@ mod tests {
178196 user_uuid : crate :: routes:: user:: tests:: get_test_uuid ( & user. mail )
179197 . unwrap ( )
180198 . to_string ( ) ,
199+ display_name : "Test Device" . to_string ( ) ,
181200 filename : "chargelog.pdf" . to_string ( ) ,
182201 chargelog : vec ! [ 1 , 2 , 3 , 4 , 5 ] ,
183202 } ;
@@ -206,6 +225,7 @@ mod tests {
206225 user_uuid : crate :: routes:: user:: tests:: get_test_uuid ( & user. mail )
207226 . unwrap ( )
208227 . to_string ( ) ,
228+ display_name : "Test Device" . to_string ( ) ,
209229 filename : "chargelog.pdf" . to_string ( ) ,
210230 chargelog : vec ! [ 1 , 2 , 3 , 4 , 5 ] ,
211231 } ;
0 commit comments