プロジェクト

全般

プロフィール

Vote #74896

完了

Issue#css_classes corrupts user.groups association cache

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Code cleanup/refactoring_30
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
30
version_id:
78
issue_org_id:
16038
author_id:
11192
assigned_to_id:
0
comments:
8
status_id:
5
tracker_id:
1
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

https://github.com/redmine/redmine/pull/27


diff --git a/app/models/issue.rb b/app/models/issue.rb
index debb931..b9a2b20 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -1091,7 +1091,7 @@ def css_classes(user=User.current)
     if user.logged?
       s << ' created-by-me' if author_id == user.id
       s << ' assigned-to-me' if assigned_to_id == user.id
-      s << ' assigned-to-my-group' if user.groups.any? {|g| g.id = assigned_to_id}
+      s << ' assigned-to-my-group' if user.groups.any? {|g| g.id == assigned_to_id}
     end
     s
   end

If user belongs any groups, 'assigned-to-my-group' is set.
It is wrong.


journals

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
It has serious side effect.

<pre>
1.9.3p484 :002 > user = Group.find(10).users.first
1.9.3p484 :004 > user.groups.collect(&:id)
Group Load (1.0ms) SELECT "users".* FROM "users" INNER JOIN "groups_users" ON "users"."id" = "groups_users"."group_id" WHERE "users"."type" IN ('Group') AND "groups_users"."user_id" = 8
=> [10, 11]
1.9.3p484 :005 > assigned_to_id = 1
=> 1
1.9.3p484 :006 > user.groups.any? {|g| g.id == assigned_to_id}
=> false
1.9.3p484 :007 > user.groups.any? {|g| g.id = assigned_to_id}
=> true
1.9.3p484 :008 > user.groups.collect(&:id)
=> [1, 11]
</pre>
--------------------------------------------------------------------------------
But, it seems no effect on database.
<pre>
1.9.3p484 :011 > user.save!
(0.3ms) begin transaction
(0.2ms) commit transaction
=> true
1.9.3p484 :012 > user.groups.collect(&:id)
=> [1, 11]
1.9.3p484 :013 > user.reload
User Load (0.5ms) SELECT "users".* FROM "users" WHERE "users"."type" IN ('User', 'AnonymousUser') AND "users"."id" = ? LIMIT 1 [["id", 8]]
=> #<User id: 8, login: "miscuser8", hashed_password: "8f659c8d7c072f189374edacfa90d6abbc26d8ed", firstname: "User", lastname: "Misc", mail: "miscuser8@foo.bar", admin: false, status: 1, last_login_on: nil, language: "it", auth_source_id: nil, created_on: "2006-07-19 17:33:19", updated_on: "2006-07-19 17:33:19", type: "User", identity_url: nil, mail_notification: "only_my_events", salt: "7599f9963ec07b5a3b55b354407120c0", must_change_passwd: false>
1.9.3p484 :014 > user.groups.collect(&:id)
Group Load (0.5ms) SELECT "users".* FROM "users" INNER JOIN "groups_users" ON "users"."id" = "groups_users"."group_id" WHERE "users"."type" IN ('Group') AND "groups_users"."user_id" = 8
=> [10, 11]

</pre>
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------


related_issues

relates,Closed,12681,Treat group assignments as assigned to me
relates,Closed,16166,Incorrect data on Issues assigned to me on MyPage
duplicates,Closed,16002,Assigned-to-my-group css corrupts user.groups association cache

Admin Redmine さんが3年以上前に更新

  • カテゴリCode cleanup/refactoring_30 にセット
  • 対象バージョン2.4.3_78 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0