X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/c40ad9de0296b28140f13a01a055108b23cb2e7d..0df788d74232330eea5c2d4854ba0d10796053eb:/app/models/issue.rb diff --git a/app/models/issue.rb b/app/models/issue.rb index a08bfd6a4..7294b07f5 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -7,7 +7,7 @@ # reportable_id :integer not null # reported_user_id :integer not null # status :integer -# issue_type :string +# assigned_role :enum not null # resolved_at :datetime # resolved_by :integer # updated_by :integer @@ -38,6 +38,7 @@ class Issue < ActiveRecord::Base validates :reportable_id, :uniqueness => { :scope => [:reportable_type] } validates :reported_user_id, :presence => true + before_validation :set_default_assigned_role before_validation :set_reported_user # Check if more statuses are needed @@ -89,4 +90,9 @@ class Issue < ActiveRecord::Base reportable.user end end + + def set_default_assigned_role + role = %w[Changeset Note].include?(reportable.class.name) ? "moderator" : "administrator" + self.assigned_role = role if assigned_role.blank? + end end