Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
e84d90c1
Commit
e84d90c1
authored
Oct 15, 2012
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1692 from riyad/saner-note-methods
Small Note code cleanup
parents
bd5dbe14
b1461de9
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
39 additions
and
18 deletions
+39
-18
app/helpers/notes_helper.rb
app/helpers/notes_helper.rb
+1
-3
app/mailers/notify.rb
app/mailers/notify.rb
+1
-1
app/models/note.rb
app/models/note.rb
+9
-8
app/roles/static_model.rb
app/roles/static_model.rb
+8
-0
app/views/notes/_note.html.haml
app/views/notes/_note.html.haml
+3
-3
spec/mailers/notify_spec.rb
spec/mailers/notify_spec.rb
+1
-1
spec/models/note_spec.rb
spec/models/note_spec.rb
+16
-2
No files found.
app/helpers/notes_helper.rb
View file @
e84d90c1
...
@@ -13,9 +13,7 @@ module NotesHelper
...
@@ -13,9 +13,7 @@ module NotesHelper
end
end
def
link_to_commit_diff_line_note
(
note
)
def
link_to_commit_diff_line_note
(
note
)
return
unless
note
.
line_note?
commit
=
note
.
noteable
commit
=
note
.
target
diff_index
,
diff_old_line
,
diff_new_line
=
note
.
line_code
.
split
(
'_'
)
diff_index
,
diff_old_line
,
diff_new_line
=
note
.
line_code
.
split
(
'_'
)
link_file
=
commit
.
diffs
[
diff_index
.
to_i
].
new_path
link_file
=
commit
.
diffs
[
diff_index
.
to_i
].
new_path
...
...
app/mailers/notify.rb
View file @
e84d90c1
...
@@ -29,7 +29,7 @@ class Notify < ActionMailer::Base
...
@@ -29,7 +29,7 @@ class Notify < ActionMailer::Base
def
note_commit_email
(
recipient_id
,
note_id
)
def
note_commit_email
(
recipient_id
,
note_id
)
@note
=
Note
.
find
(
note_id
)
@note
=
Note
.
find
(
note_id
)
@commit
=
@note
.
target
@commit
=
@note
.
noteable
@commit
=
CommitDecorator
.
decorate
(
@commit
)
@commit
=
CommitDecorator
.
decorate
(
@commit
)
@project
=
@note
.
project
@project
=
@note
.
project
mail
(
to:
recipient
(
recipient_id
),
subject:
subject
(
"note for commit
#{
@commit
.
short_id
}
"
,
@commit
.
title
))
mail
(
to:
recipient
(
recipient_id
),
subject:
subject
(
"note for commit
#{
@commit
.
short_id
}
"
,
@commit
.
title
))
...
...
app/models/note.rb
View file @
e84d90c1
...
@@ -48,11 +48,12 @@ class Note < ActiveRecord::Base
...
@@ -48,11 +48,12 @@ class Note < ActiveRecord::Base
@notify_author
||=
false
@notify_author
||=
false
end
end
def
target
# override to return commits, which are not active record
if
commit?
def
noteable
if
for_commit?
project
.
commit
(
noteable_id
)
project
.
commit
(
noteable_id
)
else
else
noteable
super
end
end
# Temp fix to prevent app crash
# Temp fix to prevent app crash
# if note commit id doesnt exist
# if note commit id doesnt exist
...
@@ -74,22 +75,22 @@ class Note < ActiveRecord::Base
...
@@ -74,22 +75,22 @@ class Note < ActiveRecord::Base
# Boolean
# Boolean
#
#
def
notify_only_author?
(
user
)
def
notify_only_author?
(
user
)
commit?
&&
commit_author
&&
for_
commit?
&&
commit_author
&&
commit_author
.
email
!=
user
.
email
commit_author
.
email
!=
user
.
email
end
end
def
commit?
def
for_
commit?
noteable_type
==
"Commit"
noteable_type
==
"Commit"
end
end
def
line_not
e?
def
for_diff_lin
e?
line_code
.
present?
line_code
.
present?
end
end
def
commit_author
def
commit_author
@commit_author
||=
@commit_author
||=
project
.
users
.
find_by_email
(
target
.
author_email
)
||
project
.
users
.
find_by_email
(
noteable
.
author_email
)
||
project
.
users
.
find_by_name
(
target
.
author_name
)
project
.
users
.
find_by_name
(
noteable
.
author_name
)
rescue
rescue
nil
nil
end
end
...
...
app/roles/static_model.rb
View file @
e84d90c1
...
@@ -36,4 +36,12 @@ module StaticModel
...
@@ -36,4 +36,12 @@ module StaticModel
def
destroyed?
def
destroyed?
false
false
end
end
def
==
(
other
)
if
other
.
is_a?
StaticModel
id
==
other
.
id
else
super
end
end
end
end
app/views/notes/_note.html.haml
View file @
e84d90c1
...
@@ -8,10 +8,10 @@
...
@@ -8,10 +8,10 @@
ago
ago
-
unless
note_for_main_target?
(
note
)
-
unless
note_for_main_target?
(
note
)
-
if
note
.
commit?
-
if
note
.
for_
commit?
%span
.cgray
%span
.cgray
on
#{
link_to
note
.
target
.
short_id
,
project_commit_path
(
@project
,
note
.
target
)
}
on
#{
link_to
note
.
noteable
.
short_id
,
project_commit_path
(
@project
,
note
.
noteable
)
}
=
link_to_commit_diff_line_note
(
note
)
if
note
.
line_not
e?
=
link_to_commit_diff_line_note
(
note
)
if
note
.
for_diff_lin
e?
-# only show vote if it's a note for the main target
-# only show vote if it's a note for the main target
-
if
note_for_main_target?
(
note
)
-
if
note_for_main_target?
(
note
)
...
...
spec/mailers/notify_spec.rb
View file @
e84d90c1
...
@@ -235,7 +235,7 @@ describe Notify do
...
@@ -235,7 +235,7 @@ describe Notify do
commit
.
stub
(
:safe_message
).
and_return
(
'some message'
)
commit
.
stub
(
:safe_message
).
and_return
(
'some message'
)
end
end
end
end
before
(
:each
)
{
note
.
stub
(
:
target
).
and_return
(
commit
)
}
before
(
:each
)
{
note
.
stub
(
:
noteable
).
and_return
(
commit
)
}
subject
{
Notify
.
note_commit_email
(
recipient
.
id
,
note
.
id
)
}
subject
{
Notify
.
note_commit_email
(
recipient
.
id
,
note
.
id
)
}
...
...
spec/models/note_spec.rb
View file @
e84d90c1
...
@@ -85,9 +85,19 @@ describe Note do
...
@@ -85,9 +85,19 @@ describe Note do
noteable_type:
"Commit"
noteable_type:
"Commit"
end
end
it
"should be accessible through #noteable"
do
@note
.
noteable_id
.
should
==
commit
.
id
@note
.
noteable
.
should
be_a
(
Commit
)
@note
.
noteable
.
should
==
commit
end
it
"should save a valid note"
do
it
"should save a valid note"
do
@note
.
noteable_id
.
should
==
commit
.
id
@note
.
noteable_id
.
should
==
commit
.
id
@note
.
target
.
id
.
should
==
commit
.
id
@note
.
noteable
==
commit
end
it
"should be recognized by #for_commit?"
do
@note
.
should
be_for_commit
end
end
end
end
...
@@ -101,7 +111,11 @@ describe Note do
...
@@ -101,7 +111,11 @@ describe Note do
it
"should save a valid note"
do
it
"should save a valid note"
do
@note
.
noteable_id
.
should
==
commit
.
id
@note
.
noteable_id
.
should
==
commit
.
id
@note
.
target
.
id
.
should
==
commit
.
id
@note
.
noteable
.
id
.
should
==
commit
.
id
end
it
"should be recognized by #for_diff_line?"
do
@note
.
should
be_for_diff_line
end
end
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment