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