diff --git a/app/models/group.rb b/app/models/group.rb index 1cfc6b56c..7b2b4342a 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -47,18 +47,12 @@ class Group < Principal 'custom_fields', :if => lambda {|group, user| user.admin? && !group.builtin?}) + alias_attribute :name, :lastname + def to_s name.to_s end - def name - lastname - end - - def name=(arg) - self.lastname = arg - end - def builtin_type nil end diff --git a/app/models/issue.rb b/app/models/issue.rb index 8c8947bac..380f340b6 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -1451,7 +1451,7 @@ class Issue < ActiveRecord::Base # Returns a string of css classes that apply to the issue def css_classes(user=User.current) - s = +"issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}" + s = +"issue tracker-#{tracker_id} status-#{status_id} #{priority&.css_classes}" s << ' closed' if closed? s << ' overdue' if overdue? s << ' child' if child? diff --git a/app/models/issue_query.rb b/app/models/issue_query.rb index 9e1e1c432..2e4fc3932 100644 --- a/app/models/issue_query.rb +++ b/app/models/issue_query.rb @@ -159,7 +159,8 @@ class IssueQuery < Query ) add_available_filter( "priority_id", - :type => :list_with_history, :values => IssuePriority.all.collect{|s| [s.name, s.id.to_s]} + :type => :list_with_history, + :values => IssuePriority.pluck(:name, :id).map {|name, id| [name, id.to_s]} ) add_available_filter( "author_id", @@ -171,11 +172,13 @@ class IssueQuery < Query ) add_available_filter( "member_of_group", - :type => :list_optional, :values => lambda {Group.givable.visible.collect {|g| [g.name, g.id.to_s]}} + :type => :list_optional, + :values => lambda {Group.givable.visible.pluck(:name, :id).map {|name, id| [name, id.to_s]}} ) add_available_filter( "assigned_to_role", - :type => :list_optional, :values => lambda {Role.givable.collect {|r| [r.name, r.id.to_s]}} + :type => :list_optional, + :values => lambda {Role.givable.pluck(:name, :id).map {|name, id| [name, id.to_s]}} ) add_available_filter( "fixed_version_id", @@ -195,7 +198,7 @@ class IssueQuery < Query add_available_filter( "category_id", :type => :list_optional_with_history, - :values => lambda {project.issue_categories.collect{|s| [s.name, s.id.to_s]}} + :values => lambda {project.issue_categories.pluck(:name, :id).map {|name, id| [name, id.to_s]}} ) if project add_available_filter "subject", :type => :text add_available_filter "description", :type => :text diff --git a/app/models/query.rb b/app/models/query.rb index 3208dc535..e00d630a3 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -589,7 +589,7 @@ class Query < ActiveRecord::Base end def subproject_values - project.descendants.visible.collect{|s| [s.name, s.id.to_s]} + project.descendants.visible.pluck(:name, :id).map {|name, id| [name, id.to_s]} end def principals @@ -651,7 +651,7 @@ class Query < ActiveRecord::Base else statuses = IssueStatus.all.sorted end - statuses.collect{|s| [s.name, s.id.to_s]} + statuses.pluck(:name, :id).map {|name, id| [name, id.to_s]} end def watcher_values @@ -996,7 +996,7 @@ class Query < ActiveRecord::Base if field == 'project_id' || (self.type == 'ProjectQuery' && %w[id parent_id].include?(field)) if v.delete('mine') - v += User.current.memberships.map {|m| m.project_id.to_s} + v += User.current.memberships.pluck(:project_id).map(&:to_s) end if v.delete('bookmarks') v += User.current.bookmarked_project_ids diff --git a/app/models/time_entry_query.rb b/app/models/time_entry_query.rb index b586350ca..a2174f565 100644 --- a/app/models/time_entry_query.rb +++ b/app/models/time_entry_query.rb @@ -80,7 +80,7 @@ class TimeEntryQuery < Query "issue.category_id", :type => :list_optional, :name => l("label_attribute_of_issue", :name => l(:field_category)), - :values => lambda {project.issue_categories.collect{|s| [s.name, s.id.to_s]}} + :values => lambda {project.issue_categories.pluck(:name, :id).map {|name, id| [name, id.to_s]}} ) if project add_available_filter( "issue.subject", diff --git a/app/models/user_query.rb b/app/models/user_query.rb index cd3a5172b..8d1bf958a 100644 --- a/app/models/user_query.rb +++ b/app/models/user_query.rb @@ -45,7 +45,7 @@ class UserQuery < Query type: :list_optional, values: ->{ auth_sources_values } add_available_filter "is_member_of_group", type: :list_optional, - values: ->{ Group.givable.visible.map {|g| [g.name, g.id.to_s] } } + values: ->{ Group.givable.visible.pluck(:name, :id).map {|name, id| [name, id.to_s]} } if Setting.twofa? add_available_filter "twofa_scheme", type: :list_optional, @@ -65,9 +65,7 @@ class UserQuery < Query end def auth_sources_values - AuthSource.order(name: :asc).to_a.map do |auth_source| - [auth_source.name, auth_source.id] - end + AuthSource.order(name: :asc).pluck(:name, :id) end def user_statuses_values @@ -131,7 +129,7 @@ class UserQuery < Query def sql_for_is_member_of_group_field(field, operator, value) if ["*", "!*"].include? operator - value = Group.givable.map(&:id) + value = Group.givable.ids end e = operator.start_with?("!") ? "NOT EXISTS" : "EXISTS"