Commit 434c034159f584348b56a322dbcda8dc65b812f2

Authored by Dmitriy Zaporozhets
1 parent 20397091

Iid improvemets

* call set_iid before validation
* make rake task pass event if objects are invalid
* show iid in comment event at dashboard
app/helpers/events_helper.rb
@@ -109,7 +109,7 @@ module EventsHelper @@ -109,7 +109,7 @@ module EventsHelper
109 else 109 else
110 link_to event_note_target_path(event) do 110 link_to event_note_target_path(event) do
111 content_tag :strong do 111 content_tag :strong do
112 - "#{event.note_target_type} ##{truncate event.note_target_id}" 112 + "#{event.note_target_type} ##{truncate event.note_target_iid}"
113 end 113 end
114 end 114 end
115 end 115 end
app/models/concerns/issuable.rb
@@ -16,6 +16,7 @@ module Issuable @@ -16,6 +16,7 @@ module Issuable
16 16
17 validates :author, presence: true 17 validates :author, presence: true
18 validates :title, presence: true, length: { within: 0..255 } 18 validates :title, presence: true, length: { within: 0..255 }
  19 + validate :set_iid, on: :create
19 validates :iid, presence: true, numericality: true 20 validates :iid, presence: true, numericality: true
20 21
21 scope :authored, ->(user) { where(author_id: user) } 22 scope :authored, ->(user) { where(author_id: user) }
@@ -25,7 +26,6 @@ module Issuable @@ -25,7 +26,6 @@ module Issuable
25 scope :unassigned, -> { where("assignee_id IS NULL") } 26 scope :unassigned, -> { where("assignee_id IS NULL") }
26 scope :of_projects, ->(ids) { where(project_id: ids) } 27 scope :of_projects, ->(ids) { where(project_id: ids) }
27 28
28 - validate :set_iid, on: :create  
29 29
30 delegate :name, 30 delegate :name,
31 :email, 31 :email,
app/models/event.rb
@@ -284,6 +284,14 @@ class Event < ActiveRecord::Base @@ -284,6 +284,14 @@ class Event < ActiveRecord::Base
284 end 284 end
285 end 285 end
286 286
  287 + def note_target_iid
  288 + if note_target.respond_to?(:iid)
  289 + note_target.iid
  290 + else
  291 + note_target_id
  292 + end.to_s
  293 + end
  294 +
287 def wall_note? 295 def wall_note?
288 target.noteable_type.blank? 296 target.noteable_type.blank?
289 end 297 end
app/views/search/_result.html.haml
@@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
23 %li 23 %li
24 merge request: 24 merge request:
25 = link_to [merge_request.target_project, merge_request] do 25 = link_to [merge_request.target_project, merge_request] do
26 - %span ##{merge_request.id} 26 + %span ##{merge_request.iid}
27 %strong.term 27 %strong.term
28 = truncate merge_request.title, length: 50 28 = truncate merge_request.title, length: 50
29 - if merge_request.for_fork? 29 - if merge_request.for_fork?
@@ -37,7 +37,7 @@ @@ -37,7 +37,7 @@
37 %li 37 %li
38 issue: 38 issue:
39 = link_to [issue.project, issue] do 39 = link_to [issue.project, issue] do
40 - %span ##{issue.id} 40 + %span ##{issue.iid}
41 %strong.term 41 %strong.term
42 = truncate issue.title, length: 50 42 = truncate issue.title, length: 50
43 %span.light (#{issue.project.name_with_namespace}) 43 %span.light (#{issue.project.name_with_namespace})
lib/tasks/migrate/migrate_iids.rake
@@ -4,7 +4,7 @@ task migrate_iids: :environment do @@ -4,7 +4,7 @@ task migrate_iids: :environment do
4 Issue.where(iid: nil).find_each(batch_size: 100) do |issue| 4 Issue.where(iid: nil).find_each(batch_size: 100) do |issue|
5 begin 5 begin
6 issue.set_iid 6 issue.set_iid
7 - if issue.save 7 + if issue.update_attribute(:iid, mr.iid)
8 print '.' 8 print '.'
9 else 9 else
10 print 'F' 10 print 'F'
@@ -19,7 +19,7 @@ task migrate_iids: :environment do @@ -19,7 +19,7 @@ task migrate_iids: :environment do
19 MergeRequest.where(iid: nil).find_each(batch_size: 100) do |mr| 19 MergeRequest.where(iid: nil).find_each(batch_size: 100) do |mr|
20 begin 20 begin
21 mr.set_iid 21 mr.set_iid
22 - if mr.save 22 + if mr.update_attribute(:iid, mr.iid)
23 print '.' 23 print '.'
24 else 24 else
25 print 'F' 25 print 'F'
@@ -28,4 +28,6 @@ task migrate_iids: :environment do @@ -28,4 +28,6 @@ task migrate_iids: :environment do
28 print 'F' 28 print 'F'
29 end 29 end
30 end 30 end
  31 +
  32 + puts 'done'
31 end 33 end