Fix #701 Preferable default theme #746

已合併
KitaitiMakoto 4 年之前 將 3 次代碼提交從 preferred-default-theme 合併至 master
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

The pull request has been merged as 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
未選擇里程碑
No Assignees
1 參與者
訊息
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Plume/Plume#746
Loading…
尚未有任何內容