summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorGo MAEDA <maeda@farend.jp>2022-01-22 04:04:05 +0000
committerGo MAEDA <maeda@farend.jp>2022-01-22 04:04:05 +0000
commit8bb06c04ba9f094ba72d6a906d5df921da64647d (patch)
tree6c7e13481b1689e280537106670c5b91feaef922 /app
parent5d0798c0d1b970a4d34b61906907014c3c304d51 (diff)
downloadredmine-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.rb9
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