When a user has 2FA enabled the WebDAV digest won't be created on sign
in. The reason is in RedmineDmsf::Hooks::Controllers::
AccountControllerHooks#controller_account_success_authentication_after
where the digest will be created only if the controller parameter
':password' is present. This works for a user authentication with login
name and password only. A user with 2fa enabled runs differently through
the authentication process and crosses the hook not before the 2fa
token was checked. Hence, there won't be a password parameter anymore.
Instead of manipulating controller params to provide the password
only the button text for reseting the digest will be changed if the
user has 2FA but no digest yet. This would make it more explicit that
the token is not expected to exist and can be created if missing.
With redmine_products (and its dependency redmine_contacts) installed,
SystemStackError occurs when going to administrative settings:
I, [2024-07-18T20:22:39.380403 #1] INFO -- : Started GET "/settings" for 172.17.0.1 at 2024-07-18 20:22:39 +0000
I, [2024-07-18T20:22:39.381060 #1] INFO -- : Processing by SettingsController#index as HTML
I, [2024-07-18T20:22:39.384106 #1] INFO -- : Current user: admin (id=1)
I, [2024-07-18T20:22:39.396807 #1] INFO -- : Completed 500 Internal Server Error in 16ms (ActiveRecord: 0.4ms | Allocations: 11130)
F, [2024-07-18T20:22:39.532960 #1] FATAL -- :
SystemStackError (stack level too deep):
plugins/redmine_products/lib/redmine_products/patches/notifiable_patch.rb:35:in `all_with_products'
plugins/redmine_dmsf/lib/redmine_dmsf/patches/notifiable_patch.rb:37:in `all'
...
plugins/redmine_products/lib/redmine_products/patches/notifiable_patch.rb:35:in `all_with_products'
plugins/redmine_dmsf/lib/redmine_dmsf/patches/notifiable_patch.rb:37:in `all'
app/controllers/settings_controller.rb:37:in `edit'
app/controllers/settings_controller.rb:32:in `index'
lib/redmine/sudo_mode.rb:61:in `sudo_mode'
Fixes: 648bed260cdf ("Adminstration-settings cannot open after dmsf installed #1506")
Fixesdanmunn/redmine_dmsf#1537
Related to danmunn/redmine_dmsf#1506
When an issue with a custom field format DmsfFileRevision
should be created by a non-member an exception would be
raised without this commit.
A non-member could always be an admin or in fact a non-member
in case of a public project.