Fix #701 Preferable default theme #746

Обединени
KitaitiMakoto обедини 3 ревизии от preferred-default-theme във master преди 4 години
KitaitiMakoto коментира преди 4 години (Migrated from github.com)

This patch fixes #701 .

The issue occurs because form value of email is empty string "" when user selects "Default theme" and it is set as preferred theme name. There's no theme named "", so any theme is not applied. By setting NULL to users.preferred_theme when "Default theme" is selected, instance theme is used as the user's preferred theme.

I used Diesel's #[changeset_options(treat_none_as_null="true")] attribute on User model. This may not be preferred but save_changes doesn't have option to set NULL sometimes and keep current value otherwise(See http://diesel.rs/guides/all-about-updates/ . It says "Diesel doesn't currently provide a way to explicitly assign a field to its default value"). This is the reason why I used that attribute, but it may have too wide inpact. Could you consider?

This patch fixes #701 . The issue occurs because form value of `email` is empty string `""` when user selects "Default theme" and it is set as preferred theme name. There's no theme named `""`, so any theme is not applied. By setting `NULL` to `users.preferred_theme` when "Default theme" is selected, instance theme is used as the user's preferred theme. I used Diesel's `#[changeset_options(treat_none_as_null="true")]` attribute on `User` model. This may not be preferred but `save_changes` doesn't have option to set `NULL` sometimes and keep current value otherwise(See http://diesel.rs/guides/all-about-updates/ . It says "Diesel doesn't currently provide a way to explicitly assign a field to its default value"). This is the reason why I used that attribute, but it may have too wide inpact. Could you consider?
codecov[bot] коментира преди 4 години (Migrated from github.com)

Codecov Report

Merging #746 into master will not change coverage by %.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master     #746   +/-   ##
=======================================
  Coverage   39.00%   39.00%           
=======================================
  Files          73       73           
  Lines        9699     9699           
  Branches     2229     2229           
=======================================
  Hits         3783     3783           
- Misses       4754     4787   +33     
+ Partials     1162     1129   -33     
# [Codecov](https://codecov.io/gh/Plume-org/Plume/pull/746?src=pr&el=h1) Report > Merging [#746](https://codecov.io/gh/Plume-org/Plume/pull/746?src=pr&el=desc) into [master](https://codecov.io/gh/Plume-org/Plume/commit/506fe9955dbda055f70655c8e862c77678e9c567&el=desc) will **not change** coverage by `%`. > The diff coverage is `0.00%`. ```diff @@ Coverage Diff @@ ## master #746 +/- ## ======================================= Coverage 39.00% 39.00% ======================================= Files 73 73 Lines 9699 9699 Branches 2229 2229 ======================================= Hits 3783 3783 - Misses 4754 4787 +33 + Partials 1162 1129 -33 ```
elegaanz (Migrated from github.com) reviewed преди 4 години
elegaanz (Migrated from github.com) left a comment

I did a quick check to see if it could impact something else, but it looks like it is safe. Thanks for contributing!

I did a quick check to see if it could impact something else, but it looks like it is safe. Thanks for contributing!
elegaanz (Migrated from github.com) approved these changes преди 4 години
elegaanz (Migrated from github.com) left a comment

Woops, forgot to approve

Woops, forgot to approve
KitaitiMakoto коментира преди 4 години (Migrated from github.com)

Thank you for merging!

Thank you for merging!
verymilan коментира преди 4 години (Migrated from github.com)

Sadly a new user of mine still just ran into missing CSS on 0.5.0 :(

Sadly a new user of mine still just ran into missing CSS on 0.5.0 :(
KitaitiMakoto коментира преди 4 години (Migrated from github.com)

@verymilan Can you re-save configuration again, please?

@verymilan Can you re-save configuration again, please?
verymilan коментира преди 4 години (Migrated from github.com)

I am not sure what you mean, but as usual, i have made them selecting a theme and save, which was fixing their issue as always

I am not sure what you mean, but as usual, i have made them selecting a theme and save, which was fixing their issue as always
KitaitiMakoto коментира преди 4 години (Migrated from github.com)

Sorry for my poor English. What I did mean is...

Can you have your users select "Default theme" and save it? It might be fix the issue?

Under the hood, their current theme is saved as empty string "" but re-saving theme makes it NULL. And then default theme is applied.

Sorry for my poor English. What I did mean is... Can you have your users select "Default theme" and save it? It might be fix the issue? Under the hood, their current theme is saved as empty string `""` but re-saving theme makes it `NULL`. And then default theme is applied.
verymilan коментира преди 4 години (Migrated from github.com)

Yes, i know, and this is how we did it - i was just ~expecting~ assuming that this workaround wasn't needed anymore.

Yes, i know, and this is how we did it - i was just ~expecting~ assuming that this workaround wasn't needed anymore.
KitaitiMakoto коментира преди 4 години (Migrated from github.com)

Ah, sorry, I missed your point.

i was just ~expecting~ assuming that this workaround wasn't needed anymore.

Yes, your realization is correct.

Ah, sorry, I missed your point. > i was just ~expecting~ assuming that this workaround wasn't needed anymore. Yes, your realization is correct.

Reviewers

Тази заявка за сливане е била обединена като b834d1c282.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b preferred-default-theme master
git pull origin preferred-default-theme

Step 2:

Merge the changes and update on Forgejo.
git checkout master
git merge --no-ff preferred-default-theme
git push origin master
Впишете се за да се присъедините към разговора.
No reviewers
Няма етап
Няма изпълнители
1 участника
Известия
Due Date
Крайният срок е невалиден или извън обхват. Моля използвайте форматът 'гггг-мм-дд'.

No due date set.

Зависимости

No dependencies set.

Reference: Plume/Plume#746
Зареждане…
Все още няма съдържание.