Commit 3e695acfa2f4035431cb325645b3114d06e43105

Authored by Andrew8xx8
1 parent e3351287

Notes fixed

1 GIT 1 GIT
  2 + remote: https://github.com/ctran/annotate_models.git
  3 + revision: be4e26825b521f0b2d86b181e2dff89901aa9b1e
  4 + specs:
  5 + annotate (2.6.0.beta1)
  6 + activerecord (>= 2.3.0)
  7 + rake (>= 0.8.7)
  8 +
  9 +GIT
  10 + remote: https://github.com/gitlabhq/raphael-rails.git
  11 + revision: cb2c92a040b9b941a5f1aa1ea866cc26e944fe58
  12 + specs:
  13 + raphael-rails (2.1.0)
  14 +
  15 +GIT
2 remote: https://github.com/gollum/gollum.git 16 remote: https://github.com/gollum/gollum.git
3 revision: 5dcd3c8c8f68158e43ff79861279088ee56d0ebe 17 revision: 5dcd3c8c8f68158e43ff79861279088ee56d0ebe
4 ref: 5dcd3c8c8f 18 ref: 5dcd3c8c8f
@@ -15,20 +29,6 @@ GIT @@ -15,20 +29,6 @@ GIT
15 stringex (~> 1.5.1) 29 stringex (~> 1.5.1)
16 useragent (~> 0.4.16) 30 useragent (~> 0.4.16)
17 31
18 -GIT  
19 - remote: https://github.com/ctran/annotate_models.git  
20 - revision: be4e26825b521f0b2d86b181e2dff89901aa9b1e  
21 - specs:  
22 - annotate (2.6.0.beta1)  
23 - activerecord (>= 2.3.0)  
24 - rake (>= 0.8.7)  
25 -  
26 -GIT  
27 - remote: https://github.com/gitlabhq/raphael-rails.git  
28 - revision: cb2c92a040b9b941a5f1aa1ea866cc26e944fe58  
29 - specs:  
30 - raphael-rails (2.1.0)  
31 -  
32 GEM 32 GEM
33 remote: https://rubygems.org/ 33 remote: https://rubygems.org/
34 specs: 34 specs:
app/models/event.rb
@@ -259,6 +259,10 @@ class Event < ActiveRecord::Base @@ -259,6 +259,10 @@ class Event < ActiveRecord::Base
259 target.noteable_type == "Commit" 259 target.noteable_type == "Commit"
260 end 260 end
261 261
  262 + def note_project_snippet?
  263 + target.noteable_type == "Snippet"
  264 + end
  265 +
262 def note_target 266 def note_target
263 target.noteable 267 target.noteable
264 end 268 end
app/models/note.rb
@@ -170,4 +170,10 @@ class Note < ActiveRecord::Base @@ -170,4 +170,10 @@ class Note < ActiveRecord::Base
170 "wall" 170 "wall"
171 end 171 end
172 end 172 end
  173 +
  174 + # FIXME: Hack for polymorphic associations with STI
  175 + # For more information wisit http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#label-Polymorphic+Associations
  176 + def noteable_type=(sType)
  177 + super(sType.to_s.classify.constantize.base_class.to_s)
  178 + end
173 end 179 end
app/models/snippet.rb
@@ -20,6 +20,7 @@ class Snippet < ActiveRecord::Base @@ -20,6 +20,7 @@ class Snippet < ActiveRecord::Base
20 attr_accessible :title, :content, :file_name, :expires_at, :private 20 attr_accessible :title, :content, :file_name, :expires_at, :private
21 21
22 belongs_to :author, class_name: "User" 22 belongs_to :author, class_name: "User"
  23 +
23 has_many :notes, as: :noteable, dependent: :destroy 24 has_many :notes, as: :noteable, dependent: :destroy
24 25
25 delegate :name, :email, to: :author, prefix: true, allow_nil: true 26 delegate :name, :email, to: :author, prefix: true, allow_nil: true
app/views/events/event/_note.html.haml
@@ -5,6 +5,10 @@ @@ -5,6 +5,10 @@
5 - if event.note_commit? 5 - if event.note_commit?
6 = event.note_target_type 6 = event.note_target_type
7 = link_to event.note_short_commit_id, project_commit_path(event.project, event.note_commit_id), class: "commit_short_id" 7 = link_to event.note_short_commit_id, project_commit_path(event.project, event.note_commit_id), class: "commit_short_id"
  8 + - if event.note_project_snippet?
  9 + = link_to project_snippet_path(event.project, event.note_target) do
  10 + %strong
  11 + #{event.note_target_type} ##{truncate event.note_target_id}
8 - else 12 - else
9 = link_to [event.project, event.note_target] do 13 = link_to [event.project, event.note_target] do
10 %strong 14 %strong