diff options
author | Go MAEDA <maeda@farend.jp> | 2022-01-22 04:04:05 +0000 |
---|---|---|
committer | Go MAEDA <maeda@farend.jp> | 2022-01-22 04:04:05 +0000 |
commit | 8bb06c04ba9f094ba72d6a906d5df921da64647d (patch) | |
tree | 6c7e13481b1689e280537106670c5b91feaef922 /app | |
parent | 5d0798c0d1b970a4d34b61906907014c3c304d51 (diff) | |
download | redmine-8bb06c04ba9f094ba72d6a906d5df921da64647d.tar.gz redmine-8bb06c04ba9f094ba72d6a906d5df921da64647d.zip |
Update session token only once per minute (#29041).
Patch by Pavel Rosický.
git-svn-id: http://svn.redmine.org/redmine/trunk@21376 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/models/user.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 25530541e..8c190374f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -469,7 +469,14 @@ class User < Principal if Setting.session_timeout? scope = scope.where("updated_on > ?", Setting.session_timeout.to_i.minutes.ago) end - scope.update_all(:updated_on => Time.now) == 1 + last_updated = scope.maximum(:updated_on) + if last_updated.nil? + false + elsif last_updated <= 1.minute.ago + scope.update_all(:updated_on => Time.now) == 1 + else + true + end end # Return an array of project ids for which the user has explicitly turned mail notifications on |