diff --git a/plume-models/src/users.rs b/plume-models/src/users.rs index d6c31f650..a8243d163 100644 --- a/plume-models/src/users.rs +++ b/plume-models/src/users.rs @@ -54,6 +54,7 @@ pub enum Role { } #[derive(Queryable, Identifiable, Clone, Debug, AsChangeset)] +#[changeset_options(treat_none_as_null = "true")] pub struct User { pub id: i32, pub username: String, diff --git a/src/routes/user.rs b/src/routes/user.rs index 2cc48302d..2a952d1de 100644 --- a/src/routes/user.rs +++ b/src/routes/user.rs @@ -399,7 +399,10 @@ pub fn update( ) .0, ); - user.preferred_theme = form.theme.clone(); + user.preferred_theme = form + .theme + .clone() + .and_then(|t| if &t == "" { None } else { Some(t) }); user.hide_custom_css = form.hide_custom_css; let _: User = user.save_changes(&*conn).map_err(Error::from)?;