Add Open links in new tab setting (#3318)

* Add Open links in new tab setting

* reorder because it fixes tests ?
This commit is contained in:
Simon Bordeyne 2023-07-03 17:10:25 +02:00 committed by GitHub
parent efe98158c0
commit b8ee9315bc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 14 additions and 3 deletions

View file

@ -127,6 +127,7 @@ impl Perform for SaveUserSettings {
.interface_language(data.interface_language.clone()) .interface_language(data.interface_language.clone())
.totp_2fa_secret(totp_2fa_secret) .totp_2fa_secret(totp_2fa_secret)
.totp_2fa_url(totp_2fa_url) .totp_2fa_url(totp_2fa_url)
.open_links_in_new_tab(data.open_links_in_new_tab)
.build(); .build();
let local_user_res = LocalUser::update(context.pool(), local_user_id, &local_user_form).await; let local_user_res = LocalUser::update(context.pool(), local_user_id, &local_user_form).await;

View file

@ -75,9 +75,9 @@ pub struct GetCaptchaResponse {
#[cfg_attr(feature = "full", ts(export))] #[cfg_attr(feature = "full", ts(export))]
/// A captcha response. /// A captcha response.
pub struct CaptchaResponse { pub struct CaptchaResponse {
/// A Base64 encoded png /// A Base64 encoded png
pub png: String, pub png: String,
/// A Base64 encoded wav audio /// A Base64 encoded wav audio
pub wav: String, pub wav: String,
/// The UUID for the captcha item. /// The UUID for the captcha item.
pub uuid: String, pub uuid: String,
@ -109,7 +109,7 @@ pub struct SaveUserSettings {
pub email: Option<Sensitive<String>>, pub email: Option<Sensitive<String>>,
/// Your bio / info, in markdown. /// Your bio / info, in markdown.
pub bio: Option<String>, pub bio: Option<String>,
/// Your matrix user id. Ex: @my_user:matrix.org /// Your matrix user id. Ex: @my_user:matrix.org
pub matrix_user_id: Option<String>, pub matrix_user_id: Option<String>,
/// Whether to show or hide avatars. /// Whether to show or hide avatars.
pub show_avatars: Option<bool>, pub show_avatars: Option<bool>,
@ -131,6 +131,8 @@ pub struct SaveUserSettings {
/// None leaves it as is, true will generate or regenerate it, false clears it out. /// None leaves it as is, true will generate or regenerate it, false clears it out.
pub generate_totp_2fa: Option<bool>, pub generate_totp_2fa: Option<bool>,
pub auth: Sensitive<String>, pub auth: Sensitive<String>,
/// Open links in a new tab
pub open_links_in_new_tab: Option<bool>,
} }
#[derive(Debug, Serialize, Deserialize, Clone, Default)] #[derive(Debug, Serialize, Deserialize, Clone, Default)]

View file

@ -406,6 +406,7 @@ diesel::table! {
accepted_application -> Bool, accepted_application -> Bool,
totp_2fa_secret -> Nullable<Text>, totp_2fa_secret -> Nullable<Text>,
totp_2fa_url -> Nullable<Text>, totp_2fa_url -> Nullable<Text>,
open_links_in_new_tab -> Bool,
} }
} }

View file

@ -51,6 +51,8 @@ pub struct LocalUser {
pub totp_2fa_secret: Option<String>, pub totp_2fa_secret: Option<String>,
/// A URL to add their 2-factor auth. /// A URL to add their 2-factor auth.
pub totp_2fa_url: Option<String>, pub totp_2fa_url: Option<String>,
/// Open links in a new tab.
pub open_links_in_new_tab: bool,
} }
#[derive(Clone, TypedBuilder)] #[derive(Clone, TypedBuilder)]
@ -78,6 +80,7 @@ pub struct LocalUserInsertForm {
pub accepted_application: Option<bool>, pub accepted_application: Option<bool>,
pub totp_2fa_secret: Option<Option<String>>, pub totp_2fa_secret: Option<Option<String>>,
pub totp_2fa_url: Option<Option<String>>, pub totp_2fa_url: Option<Option<String>>,
pub open_links_in_new_tab: Option<bool>,
} }
#[derive(Clone, TypedBuilder)] #[derive(Clone, TypedBuilder)]
@ -102,4 +105,5 @@ pub struct LocalUserUpdateForm {
pub accepted_application: Option<bool>, pub accepted_application: Option<bool>,
pub totp_2fa_secret: Option<Option<String>>, pub totp_2fa_secret: Option<Option<String>>,
pub totp_2fa_url: Option<Option<String>>, pub totp_2fa_url: Option<Option<String>>,
pub open_links_in_new_tab: Option<bool>,
} }

View file

@ -287,6 +287,7 @@ mod tests {
totp_2fa_secret: inserted_sara_local_user.totp_2fa_secret, totp_2fa_secret: inserted_sara_local_user.totp_2fa_secret,
totp_2fa_url: inserted_sara_local_user.totp_2fa_url, totp_2fa_url: inserted_sara_local_user.totp_2fa_url,
password_encrypted: inserted_sara_local_user.password_encrypted, password_encrypted: inserted_sara_local_user.password_encrypted,
open_links_in_new_tab: inserted_sara_local_user.open_links_in_new_tab,
}, },
creator: Person { creator: Person {
id: inserted_sara_person.id, id: inserted_sara_person.id,

View file

@ -0,0 +1 @@
alter table local_user drop column open_links_in_new_tab;

View file

@ -0,0 +1 @@
alter table local_user add column open_links_in_new_tab boolean default false not null;