Fix #701 Preferable default theme #746

Samengevoegd
KitaitiMakoto heeft 3 commits samengevoegd van preferred-default-theme naar master 4 jaren geleden
KitaitiMakoto reageerde 4 jaren geleden (Gemigreerd van 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] reageerde 4 jaren geleden (Gemigreerd van 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 (Gemigreerd van github.com) beoordeeld 4 jaren geleden
elegaanz (Gemigreerd van github.com) heeft een reactie achtergelaten

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 (Gemigreerd van github.com) heeft deze veranderingen 4 jaren geleden goedgekeurd
elegaanz (Gemigreerd van github.com) heeft een reactie achtergelaten

Woops, forgot to approve

Woops, forgot to approve
KitaitiMakoto reageerde 4 jaren geleden (Gemigreerd van github.com)

Thank you for merging!

Thank you for merging!
verymilan reageerde 4 jaren geleden (Gemigreerd van 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 reageerde 4 jaren geleden (Gemigreerd van github.com)

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

@verymilan Can you re-save configuration again, please?
verymilan reageerde 4 jaren geleden (Gemigreerd van 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 reageerde 4 jaren geleden (Gemigreerd van 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 reageerde 4 jaren geleden (Gemigreerd van 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 reageerde 4 jaren geleden (Gemigreerd van 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

De pull request is samengevoegd als b834d1c282.
Je kunt ook command line instructies bekijken.

Stap 1:

Vanuit het project, check een branch uit en test de veranderingen.
git checkout -b preferred-default-theme master
git pull origin preferred-default-theme

Stap 2:

Voeg de wijzigingen samen en update ze op Forgejo.
git checkout master
git merge --no-ff preferred-default-theme
git push origin master
Log in om deel te nemen aan deze discussie.
Geen beoordelaars
Geen mijlpaal
Niet toegewezen
1 deelnemers
Notificaties
Vervaldatum
De deadline is ongeldig of buiten bereik. Gebruik het formaat 'jjjj-mm-dd'.

Geen vervaldatum ingesteld.

Afhankelijkheden

Geen afhankelijkheden ingesteld.

Referentie: Plume/Plume#746
Laden…
Er is nog geen inhoud.