server: only render text/calendar summary table on calendar invites
This commit is contained in:
parent
d143b2715d
commit
cc994df4e5
@ -328,12 +328,6 @@ pub fn extract_alternative(
|
||||
return extract_related(sp, part_addr);
|
||||
}
|
||||
}
|
||||
for sp in &m.subparts {
|
||||
if sp.ctype.mimetype.as_str() == TEXT_HTML {
|
||||
let body = sp.get_body()?;
|
||||
return Ok(Body::html(body));
|
||||
}
|
||||
}
|
||||
for sp in &m.subparts {
|
||||
if sp.ctype.mimetype.as_str() == TEXT_CALENDAR {
|
||||
let body = sp.get_body()?;
|
||||
@ -341,6 +335,12 @@ pub fn extract_alternative(
|
||||
return Ok(Body::html(summary));
|
||||
}
|
||||
}
|
||||
for sp in &m.subparts {
|
||||
if sp.ctype.mimetype.as_str() == TEXT_HTML {
|
||||
let body = sp.get_body()?;
|
||||
return Ok(Body::html(body));
|
||||
}
|
||||
}
|
||||
for sp in &m.subparts {
|
||||
if sp.ctype.mimetype.as_str() == TEXT_PLAIN {
|
||||
let body = sp.get_body()?;
|
||||
@ -1299,7 +1299,7 @@ pub fn render_ical_summary(ical_data: &str) -> Result<String, ServerError> {
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
}
|
||||
@ -1324,10 +1324,10 @@ pub fn render_ical_summary(ical_data: &str) -> Result<String, ServerError> {
|
||||
}
|
||||
|
||||
fn parse_ical_datetime(dt: &str) -> Option<String> {
|
||||
use chrono::{NaiveDateTime, DateTime, Utc};
|
||||
use chrono::{DateTime, NaiveDateTime, Utc};
|
||||
let dt = dt.split(':').last().unwrap_or(dt);
|
||||
if let Ok(ndt) = NaiveDateTime::parse_from_str(dt, "%Y%m%dT%H%M%SZ") {
|
||||
let dt_utc: DateTime<Utc> = DateTime::from_utc(ndt, Utc);
|
||||
let dt_utc: DateTime<Utc> = TimeZone::from_utc_datetime(&Utc, &ndt);
|
||||
return Some(dt_utc.format("%Y-%m-%dT%H:%M:%SZ").to_string());
|
||||
}
|
||||
if let Ok(ndt) = NaiveDateTime::parse_from_str(dt, "%Y%m%dT%H%M%S") {
|
||||
@ -1372,12 +1372,12 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn test_ical_render_2() {
|
||||
let ical = fs::read_to_string("testdata/ical-example-2.ics").unwrap();
|
||||
let html = render_ical_summary(&ical).unwrap();
|
||||
println!("HTML OUTPUT: {}", html);
|
||||
assert!(html.contains("<b>Summary:</b> [tenative] dinner w/ amatute<br>"));
|
||||
assert!(html.contains("<b>Start:</b> 2025-08-13T01:00:00Z<br>"));
|
||||
assert!(html.contains("<b>End:</b> 2025-08-13T03:00:00Z<br>"));
|
||||
assert!(html.contains("<b>Organizer:</b> Family<br>"));
|
||||
let ical = fs::read_to_string("testdata/ical-example-2.ics").unwrap();
|
||||
let html = render_ical_summary(&ical).unwrap();
|
||||
println!("HTML OUTPUT: {}", html);
|
||||
assert!(html.contains("<b>Summary:</b> [tenative] dinner w/ amatute<br>"));
|
||||
assert!(html.contains("<b>Start:</b> 2025-08-13T01:00:00Z<br>"));
|
||||
assert!(html.contains("<b>End:</b> 2025-08-13T03:00:00Z<br>"));
|
||||
assert!(html.contains("<b>Organizer:</b> Family<br>"));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user