end
# Returns a string of css classes that apply to the issue
- def css_classes
+ def css_classes(user=User.current)
s = "issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}"
s << ' closed' if closed?
s << ' overdue' if overdue?
s << ' child' if child?
s << ' parent' unless leaf?
s << ' private' if is_private?
- s << ' created-by-me' if User.current.logged? && author_id == User.current.id
- s << ' assigned-to-me' if User.current.logged? && assigned_to_id == User.current.id
+ 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}
+ end
s
end
assert_include 'priority-highest', classes
end
+ def test_css_classes_should_include_user_assignment
+ issue = Issue.generate(:assigned_to_id => 2)
+ assert_include 'assigned-to-me', issue.css_classes(User.find(2))
+ assert_not_include 'assigned-to-me', issue.css_classes(User.find(3))
+ end
+
+ def test_css_classes_should_include_user_group_assignment
+ issue = Issue.generate(:assigned_to_id => 10)
+ assert_include 'assigned-to-my-group', issue.css_classes(Group.find(10).users.first)
+ assert_not_include 'assigned-to-my-group', issue.css_classes(User.find(3))
+ end
+
def test_save_attachments_with_hash_should_save_attachments_in_keys_order
set_tmp_attachments_directory
issue = Issue.generate!