summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-21 12:16:26 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-08-21 12:16:26 +0300
commit625fb2f29d99ab21de2497a36512be69c80e39be (patch)
tree2ca8f7d92d4974425a67a5288ee79e14bc60e01d /app/models
parent0a0b0e1eab251c7e9c9dedc620f14602f8ce3541 (diff)
downloadgitlab-ce-625fb2f29d99ab21de2497a36512be69c80e39be.tar.gz
Add iids to milestones. Moved iids logic to separate concern
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/internal_id.rb17
-rw-r--r--app/models/concerns/issuable.rb11
-rw-r--r--app/models/issue.rb2
-rw-r--r--app/models/merge_request.rb2
-rw-r--r--app/models/milestone.rb2
5 files changed, 21 insertions, 13 deletions
diff --git a/app/models/concerns/internal_id.rb b/app/models/concerns/internal_id.rb
new file mode 100644
index 00000000000..821ed54fb98
--- /dev/null
+++ b/app/models/concerns/internal_id.rb
@@ -0,0 +1,17 @@
+module InternalId
+ extend ActiveSupport::Concern
+
+ included do
+ validate :set_iid, on: :create
+ validates :iid, presence: true, numericality: true
+ end
+
+ def set_iid
+ max_iid = project.send(self.class.name.tableize).maximum(:iid)
+ self.iid = max_iid.to_i + 1
+ end
+
+ def to_param
+ iid.to_s
+ end
+end
diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb
index fb08a5aa750..a05dba7f6b6 100644
--- a/app/models/concerns/issuable.rb
+++ b/app/models/concerns/issuable.rb
@@ -16,8 +16,6 @@ module Issuable
validates :author, presence: true
validates :title, presence: true, length: { within: 0..255 }
- validate :set_iid, on: :create
- validates :iid, presence: true, numericality: true
scope :authored, ->(user) { where(author_id: user) }
scope :assigned_to, ->(u) { where(assignee_id: u.id)}
@@ -47,15 +45,6 @@ module Issuable
end
end
- def set_iid
- max_iid = project.send(self.class.name.tableize).maximum(:iid)
- self.iid = max_iid.to_i + 1
- end
-
- def to_param
- iid.to_s
- end
-
def today?
Date.today == created_at.to_date
end
diff --git a/app/models/issue.rb b/app/models/issue.rb
index ecb881ab597..35b487dc3cf 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -17,8 +17,8 @@
#
class Issue < ActiveRecord::Base
-
include Issuable
+ include InternalId
belongs_to :project
validates :project, presence: true
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index d525ad17537..190f6ab15f4 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -23,8 +23,8 @@ require Rails.root.join("app/models/commit")
require Rails.root.join("lib/static_model")
class MergeRequest < ActiveRecord::Base
-
include Issuable
+ include InternalId
belongs_to :target_project, foreign_key: :target_project_id, class_name: "Project"
belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project"
diff --git a/app/models/milestone.rb b/app/models/milestone.rb
index 023b8ddf04d..cfa47f30bde 100644
--- a/app/models/milestone.rb
+++ b/app/models/milestone.rb
@@ -13,6 +13,8 @@
#
class Milestone < ActiveRecord::Base
+ include InternalId
+
attr_accessible :title, :description, :due_date, :state_event, :author_id_of_changes
attr_accessor :author_id_of_changes