Commit 434c034159f584348b56a322dbcda8dc65b812f2
1 parent
20397091
Exists in
master
and in
4 other branches
Iid improvemets
* call set_iid before validation * make rake task pass event if objects are invalid * show iid in comment event at dashboard
Showing
5 changed files
with
16 additions
and
6 deletions
Show diff stats
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 |