From 434c034159f584348b56a322dbcda8dc65b812f2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 19 Aug 2013 22:53:11 +0300 Subject: [PATCH] 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 | 2 +- app/models/concerns/issuable.rb | 2 +- app/models/event.rb | 8 ++++++++ app/views/search/_result.html.haml | 4 ++-- lib/tasks/migrate/migrate_iids.rake | 6 ++++-- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index b93b1502b34..a35fd1ea808 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -109,7 +109,7 @@ module EventsHelper else link_to event_note_target_path(event) do content_tag :strong do - "#{event.note_target_type} ##{truncate event.note_target_id}" + "#{event.note_target_type} ##{truncate event.note_target_iid}" end end end diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index 158c226480f..fb08a5aa750 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -16,6 +16,7 @@ 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) } @@ -25,7 +26,6 @@ module Issuable scope :unassigned, -> { where("assignee_id IS NULL") } scope :of_projects, ->(ids) { where(project_id: ids) } - validate :set_iid, on: :create delegate :name, :email, diff --git a/app/models/event.rb b/app/models/event.rb index 5839a834e78..702891f13dc 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -284,6 +284,14 @@ class Event < ActiveRecord::Base end end + def note_target_iid + if note_target.respond_to?(:iid) + note_target.iid + else + note_target_id + end.to_s + end + def wall_note? target.noteable_type.blank? end diff --git a/app/views/search/_result.html.haml b/app/views/search/_result.html.haml index fac5fdfd0b1..5f7540d1b16 100644 --- a/app/views/search/_result.html.haml +++ b/app/views/search/_result.html.haml @@ -23,7 +23,7 @@ %li merge request: = link_to [merge_request.target_project, merge_request] do - %span ##{merge_request.id} + %span ##{merge_request.iid} %strong.term = truncate merge_request.title, length: 50 - if merge_request.for_fork? @@ -37,7 +37,7 @@ %li issue: = link_to [issue.project, issue] do - %span ##{issue.id} + %span ##{issue.iid} %strong.term = truncate issue.title, length: 50 %span.light (#{issue.project.name_with_namespace}) diff --git a/lib/tasks/migrate/migrate_iids.rake b/lib/tasks/migrate/migrate_iids.rake index 4d2d49dd6d8..aef2b319df9 100644 --- a/lib/tasks/migrate/migrate_iids.rake +++ b/lib/tasks/migrate/migrate_iids.rake @@ -4,7 +4,7 @@ task migrate_iids: :environment do Issue.where(iid: nil).find_each(batch_size: 100) do |issue| begin issue.set_iid - if issue.save + if issue.update_attribute(:iid, mr.iid) print '.' else print 'F' @@ -19,7 +19,7 @@ task migrate_iids: :environment do MergeRequest.where(iid: nil).find_each(batch_size: 100) do |mr| begin mr.set_iid - if mr.save + if mr.update_attribute(:iid, mr.iid) print '.' else print 'F' @@ -28,4 +28,6 @@ task migrate_iids: :environment do print 'F' end end + + puts 'done' end -- GitLab