Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
6d5eef36b04f
Commit
6d5eef36
authored
Jan 10, 2012
by
Dmitriy Zaporozhets
Browse files
per line comments display
parent
5b2be54072df
Changes
7
Hide whitespace changes
Inline
Side-by-side
app/assets/stylesheets/projects.css.scss
View file @
6d5eef36
...
...
@@ -693,3 +693,31 @@
top
:
0
;
}
}
tr
.line_notes_row
{
&
:hover
{
background
:none
;
}
td
{
margin
:
0px
;
padding
:
0px
;
border-bottom
:
1px
solid
#DEE2E3
;
ul
{
display
:block
;
list-style
:none
;
margin
:
0px
;
padding
:
0px
;
li
{
border-top
:
1px
solid
#DEE2E3
;
padding
:
10px
;
.delete-note
{
display
:none
;
}
}
}
}
}
app/controllers/commits_controller.rb
View file @
6d5eef36
...
...
@@ -27,6 +27,8 @@
@notes
=
project
.
commit_notes
(
@commit
).
fresh
.
limit
(
20
)
@note
=
@project
.
build_commit_note
(
@commit
)
@line_notes
=
project
.
commit_line_notes
(
@commit
)
respond_to
do
|
format
|
format
.
html
format
.
js
{
respond_with_notes
}
...
...
app/models/note.rb
View file @
6d5eef36
...
...
@@ -53,6 +53,23 @@
noteable
end
end
def
line_file_id
@line_file_id
||=
line_code
.
split
(
"_"
)[
1
].
to_i
if
line_code
end
def
line_type_id
@line_type_id
||=
line_code
.
split
(
"_"
).
first
if
line_code
end
def
line_number
@line_number
||=
line_code
.
split
(
"_"
).
last
.
to_i
if
line_code
end
def
for_line?
(
file_id
,
old_line
,
new_line
)
line_file_id
==
file_id
&&
((
line_type_id
==
"NEW"
&&
line_number
==
new_line
)
||
(
line_type_id
==
"OLD"
&&
line_number
==
old_line
))
end
end
# == Schema Information
#
...
...
app/models/project.rb
View file @
6d5eef36
...
...
@@ -166,7 +166,11 @@
end
def
commit_notes
(
commit
)
notes
.
where
(
:noteable_id
=>
commit
.
id
,
:noteable_type
=>
"Commit"
)
notes
.
where
(
:noteable_id
=>
commit
.
id
,
:noteable_type
=>
"Commit"
,
:line_code
=>
nil
)
end
def
commit_line_notes
(
commit
)
notes
.
where
(
:noteable_id
=>
commit
.
id
,
:noteable_type
=>
"Commit"
).
where
(
"line_code not null"
)
end
def
has_commits?
...
...
app/views/commits/_text_file.html.haml
View file @
6d5eef36
...
...
@@ -19,6 +19,13 @@
%td
.new_line
=
link_to
raw
(
diff_line_class
(
line
)
==
"old"
?
" "
:
line_new
)
,
"#NEW
#{
index
}
-
#{
line_new
}
"
,
:id
=>
"NEW
#{
index
}
-
#{
line_new
}
"
%td
.line_content
{
:class
=>
diff_line_class
(
full_line
)}=
raw
"
#{
full_line
}
"
-
comments
=
@line_notes
.
select
{
|
n
|
n
.
for_line?
(
index
,
line_old
,
line_new
)
}.
sort_by
(
&
:created_at
).
reverse
-
unless
comments
.
empty?
%tr
.line_notes_row
%td
{
:colspan
=>
3
}
%ul
-
comments
.
each
do
|
note
|
=
render
:partial
=>
"notes/show"
,
:locals
=>
{
:note
=>
note
}
-
if
line
[
0
]
==
"+"
-
line_new
+=
1
-
elsif
line
[
0
]
==
"-"
...
...
db/migrate/20120110180749_add_line_number_to_note.rb
0 → 100644
View file @
6d5eef36
class
AddLineNumberToNote
<
ActiveRecord
::
Migration
def
change
add_column
:notes
,
:line_code
,
:string
,
:null
=>
true
end
end
db/schema.rb
View file @
6d5eef36
...
...
@@ -11,7 +11,19 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
:version
=>
20111220190817
)
do
ActiveRecord
::
Schema
.
define
(
:version
=>
20120110180749
)
do
create_table
"features"
,
:force
=>
true
do
|
t
|
t
.
string
"name"
t
.
string
"branch_name"
t
.
integer
"assignee_id"
t
.
integer
"author_id"
t
.
integer
"project_id"
t
.
datetime
"created_at"
t
.
datetime
"updated_at"
t
.
string
"version"
t
.
integer
"status"
,
:default
=>
0
,
:null
=>
false
end
create_table
"issues"
,
:force
=>
true
do
|
t
|
t
.
string
"title"
...
...
@@ -56,6 +68,7 @@
t
.
datetime
"updated_at"
t
.
integer
"project_id"
t
.
string
"attachment"
t
.
string
"line_code"
end
create_table
"projects"
,
:force
=>
true
do
|
t
|
...
...
Write
Preview
Supports
Markdown
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