gitlabhq/app/models/issue.rb
Robert Speicher f36f0dac9d Consolidate functionality shared between Issue and MergeRequest
Any associations, validations, delegates, scopes and methods that
were exactly the same in both Issue and MergeRequest models have been
moved to a new IssueCommonality module (role) that gets included by each
class.

There was actually quite a bit of duplication, because MergeRequests are
basically just specialized Issues.
2012-08-08 21:44:33 -04:00

53 lines
1 KiB
Ruby

class Issue < ActiveRecord::Base
include IssueCommonality
include Upvote
acts_as_taggable_on :labels
belongs_to :milestone
validates :description,
:length => { :within => 0..2000 }
acts_as_list
def self.open_for(user)
opened.assigned(user)
end
def is_assigned?
!!assignee_id
end
def is_being_reassigned?
assignee_id_changed?
end
def is_being_closed?
closed_changed? && closed
end
def is_being_reopened?
closed_changed? && !closed
end
end
# == Schema Information
#
# Table name: issues
#
# id :integer(4) not null, primary key
# title :string(255)
# assignee_id :integer(4)
# author_id :integer(4)
# project_id :integer(4)
# created_at :datetime not null
# updated_at :datetime not null
# closed :boolean(1) default(FALSE), not null
# position :integer(4) default(0)
# critical :boolean(1) default(FALSE), not null
# branch_name :string(255)
# description :text
# milestone_id :integer(4)
#