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
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
12782adf
Commit
12782adf
authored
Nov 15, 2011
by
gitlabhq
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of dev.gitlabhq.com:gitlabhq
parents
6b9f221a
d63f04ab
Changes
66
Show whitespace changes
Inline
Side-by-side
Showing
66 changed files
with
493 additions
and
440 deletions
+493
-440
app/assets/javascripts/application.js
app/assets/javascripts/application.js
+7
-5
app/assets/javascripts/commits.js
app/assets/javascripts/commits.js
+10
-12
app/assets/javascripts/note.js
app/assets/javascripts/note.js
+12
-15
app/assets/javascripts/projects.js
app/assets/javascripts/projects.js
+0
-1
app/assets/stylesheets/application.css
app/assets/stylesheets/application.css
+4
-3
app/assets/stylesheets/issues.css.scss
app/assets/stylesheets/issues.css.scss
+3
-4
app/assets/stylesheets/notes.css.scss
app/assets/stylesheets/notes.css.scss
+0
-1
app/assets/stylesheets/projects.css.scss
app/assets/stylesheets/projects.css.scss
+20
-22
app/assets/stylesheets/style.scss
app/assets/stylesheets/style.scss
+215
-244
app/assets/stylesheets/tags.css.css
app/assets/stylesheets/tags.css.css
+5
-7
app/controllers/application_controller.rb
app/controllers/application_controller.rb
+2
-2
app/controllers/commits_controller.rb
app/controllers/commits_controller.rb
+3
-3
app/controllers/issues_controller.rb
app/controllers/issues_controller.rb
+3
-2
app/controllers/projects_controller.rb
app/controllers/projects_controller.rb
+2
-2
app/controllers/tags_controller.rb
app/controllers/tags_controller.rb
+8
-8
app/helpers/application_helper.rb
app/helpers/application_helper.rb
+2
-2
app/helpers/dashboard_helper.rb
app/helpers/dashboard_helper.rb
+3
-3
app/models/issue.rb
app/models/issue.rb
+2
-2
app/models/note.rb
app/models/note.rb
+2
-2
app/models/project.rb
app/models/project.rb
+3
-3
app/models/repository.rb
app/models/repository.rb
+1
-1
app/models/user.rb
app/models/user.rb
+3
-1
app/views/admin/projects/_form.html.haml
app/views/admin/projects/_form.html.haml
+2
-3
app/views/commits/index.atom.builder
app/views/commits/index.atom.builder
+23
-0
app/views/commits/index.html.haml
app/views/commits/index.html.haml
+1
-3
app/views/dashboard/index.html.haml
app/views/dashboard/index.html.haml
+2
-2
app/views/issues/_show.html.haml
app/views/issues/_show.html.haml
+1
-1
app/views/issues/index.atom.builder
app/views/issues/index.atom.builder
+23
-0
app/views/issues/index.html.haml
app/views/issues/index.html.haml
+0
-1
app/views/issues/show.html.haml
app/views/issues/show.html.haml
+2
-3
app/views/layouts/_head_panel.html.erb
app/views/layouts/_head_panel.html.erb
+1
-1
app/views/layouts/profile.html.haml
app/views/layouts/profile.html.haml
+1
-1
app/views/layouts/project.html.haml
app/views/layouts/project.html.haml
+4
-0
app/views/notes/_form.html.haml
app/views/notes/_form.html.haml
+1
-1
app/views/notes/_load.js.haml
app/views/notes/_load.js.haml
+0
-1
app/views/notes/_show.html.haml
app/views/notes/_show.html.haml
+1
-1
app/views/notify/new_issue_email.html.haml
app/views/notify/new_issue_email.html.haml
+1
-3
app/views/projects/_feed.html.haml
app/views/projects/_feed.html.haml
+2
-2
app/views/projects/_form.html.haml
app/views/projects/_form.html.haml
+2
-2
app/views/projects/_list.html.haml
app/views/projects/_list.html.haml
+0
-1
app/views/projects/_refs.html.haml
app/views/projects/_refs.html.haml
+0
-1
app/views/projects/_tile.html.haml
app/views/projects/_tile.html.haml
+1
-1
app/views/projects/_tree.html.haml
app/views/projects/_tree.html.haml
+1
-2
app/views/projects/index.html.haml
app/views/projects/index.html.haml
+1
-1
app/views/projects/new.html.haml
app/views/projects/new.html.haml
+7
-7
app/views/snippets/index.html.haml
app/views/snippets/index.html.haml
+1
-1
app/views/tags/index.html.haml
app/views/tags/index.html.haml
+2
-3
config/initializers/devise.rb
config/initializers/devise.rb
+2
-2
config/routes.rb
config/routes.rb
+2
-5
db/migrate/20111027152724_issue_conten_to_note.rb
db/migrate/20111027152724_issue_conten_to_note.rb
+4
-4
db/migrate/20111111093150_remove_content_from_issues.rb
db/migrate/20111111093150_remove_content_from_issues.rb
+9
-0
db/migrate/20111115063954_add_authentication_token_to_users.rb
...grate/20111115063954_add_authentication_token_to_users.rb
+5
-0
db/schema.rb
db/schema.rb
+2
-2
lib/assets/javascripts/branch-graph.js
lib/assets/javascripts/branch-graph.js
+4
-4
lib/graph_commit.rb
lib/graph_commit.rb
+10
-10
spec/models/project_spec.rb
spec/models/project_spec.rb
+5
-5
spec/models/user_spec.rb
spec/models/user_spec.rb
+8
-3
spec/requests/commits_spec.rb
spec/requests/commits_spec.rb
+19
-0
spec/requests/dashboard_spec.rb
spec/requests/dashboard_spec.rb
+3
-3
spec/requests/issues_spec.rb
spec/requests/issues_spec.rb
+27
-8
spec/requests/projects_spec.rb
spec/requests/projects_spec.rb
+1
-1
spec/requests/tags_spec.rb
spec/requests/tags_spec.rb
+0
-4
spec/requests/top_panel_spec.rb
spec/requests/top_panel_spec.rb
+2
-2
vendor/assets/javascripts/chosen.js
vendor/assets/javascripts/chosen.js
+0
-0
vendor/assets/javascripts/modernizr.js
vendor/assets/javascripts/modernizr.js
+0
-0
vendor/assets/stylesheets/chosen.css
vendor/assets/stylesheets/chosen.css
+0
-0
No files found.
app/assets/javascripts/application.js
View file @
12782adf
...
@@ -10,6 +10,8 @@
...
@@ -10,6 +10,8 @@
//= require jquery.ui.selectmenu
//= require jquery.ui.selectmenu
//= require jquery.tagify
//= require jquery.tagify
//= require jquery.cookie
//= require jquery.cookie
//= require modernizr
//= require chosen
//= require raphael
//= require raphael
//= require branch-graph
//= require branch-graph
//= require_tree .
//= require_tree .
...
...
app/assets/javascripts/commits.js
View file @
12782adf
...
@@ -8,8 +8,6 @@ $(document).ready(function(){
...
@@ -8,8 +8,6 @@ $(document).ready(function(){
});
});
});
});
var
CommitsList
=
{
var
CommitsList
=
{
ref
:
null
,
ref
:
null
,
...
...
app/assets/javascripts/note.js
View file @
12782adf
...
@@ -39,7 +39,6 @@ replace:
...
@@ -39,7 +39,6 @@ replace:
this
.
initLoadMore
();
this
.
initLoadMore
();
},
},
prepend
:
prepend
:
function
(
id
,
html
)
{
function
(
id
,
html
)
{
if
(
id
!=
this
.
last_id
)
{
if
(
id
!=
this
.
last_id
)
{
...
@@ -68,8 +67,6 @@ refresh:
...
@@ -68,8 +67,6 @@ refresh:
dataType
:
"
script
"
});
dataType
:
"
script
"
});
},
},
initRefresh
:
initRefresh
:
function
()
{
function
()
{
// init timer
// init timer
...
...
app/assets/javascripts/projects.js
View file @
12782adf
...
@@ -48,7 +48,6 @@ function taggifyForm(){
...
@@ -48,7 +48,6 @@ function taggifyForm(){
source
:
'
/tags.json
'
source
:
'
/tags.json
'
});
});
$
(
'
form
'
).
submit
(
function
()
{
$
(
'
form
'
).
submit
(
function
()
{
var
tag_field
=
$
(
'
#tag_field
'
)
var
tag_field
=
$
(
'
#tag_field
'
)
tag_field
.
val
(
tag_field
.
tagify
(
'
serialize
'
)
);
tag_field
.
val
(
tag_field
.
tagify
(
'
serialize
'
)
);
...
...
app/assets/stylesheets/application.css
View file @
12782adf
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
*= require jquery-ui/jquery-ui
*= require jquery-ui/jquery-ui
*= require jquery-ui/jquery.ui.selectmenu
*= require jquery-ui/jquery.ui.selectmenu
*= require jquery-ui/jquery.tagify
*= require jquery-ui/jquery.tagify
*= require chosen
*= require_self
*= require_self
*= require_tree .
*= require_tree .
*/
*/
...
...
app/assets/stylesheets/issues.css.scss
View file @
12782adf
...
@@ -45,4 +45,3 @@
...
@@ -45,4 +45,3 @@
}
}
.issue
:hover
.action-links
{
display
:block
;
}
.issue
:hover
.action-links
{
display
:block
;
}
app/assets/stylesheets/notes.css.scss
View file @
12782adf
...
@@ -14,7 +14,6 @@
...
@@ -14,7 +14,6 @@
}
}
}
}
/* Note textare */
/* Note textare */
#note_note
{
#note_note
{
height
:
100px
;
height
:
100px
;
...
...
app/assets/stylesheets/projects.css.scss
View file @
12782adf
...
@@ -120,7 +120,6 @@ table.highlighttable pre{
...
@@ -120,7 +120,6 @@ table.highlighttable pre{
font-size
:
12px
!
important
;
font-size
:
12px
!
important
;
}
}
table
.highlighttable
.linenodiv
pre
{
table
.highlighttable
.linenodiv
pre
{
text-align
:
right
;
text-align
:
right
;
padding-right
:
4px
;
padding-right
:
4px
;
...
@@ -235,7 +234,6 @@ input.ssh_project_url {
...
@@ -235,7 +234,6 @@ input.ssh_project_url {
}
}
}
}
#user_projects_limit
{
#user_projects_limit
{
width
:
60px
;
width
:
60px
;
}
}
...
...
app/assets/stylesheets/style.scss
View file @
12782adf
...
@@ -60,7 +60,6 @@ input:invalid, textarea:invalid { background-color: #f0dddd; }
...
@@ -60,7 +60,6 @@ input:invalid, textarea:invalid { background-color: #f0dddd; }
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
}
table
{
border-collapse
:
collapse
;
border-spacing
:
0
;
}
td
{
vertical-align
:
top
;
}
td
{
vertical-align
:
top
;
}
/* ==|== primary styles =====================================================
/* ==|== primary styles =====================================================
Author: Ricardo Rauch
Author: Ricardo Rauch
========================================================================== */
========================================================================== */
...
@@ -127,7 +126,6 @@ table thead .image{width:100px}
...
@@ -127,7 +126,6 @@ table thead .image{width:100px}
table
tr
:hover
,
.listed_items
tr
.odd
:hover
{
background-color
:
#FFFFCF
}
table
tr
:hover
,
.listed_items
tr
.odd
:hover
{
background-color
:
#FFFFCF
}
/* eo Tables */
/* eo Tables */
/* Buttons */
/* Buttons */
.grey-button
{
.grey-button
{
border-radius
:
5px
;
border-radius
:
5px
;
...
@@ -216,7 +214,6 @@ input.button{margin-bottom: 1.5em}
...
@@ -216,7 +214,6 @@ input.button{margin-bottom: 1.5em}
font-size
:
12px
;
font-size
:
12px
;
}
}
.ui-box
.data
{
padding
:
.5em
1em
}
.ui-box
.data
{
padding
:
.5em
1em
}
.ui-box
.buttons
{
background-color
:
#f7f8f9
;
padding
:
1em
;
.ui-box
.buttons
{
background-color
:
#f7f8f9
;
padding
:
1em
;
...
@@ -282,7 +279,6 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
...
@@ -282,7 +279,6 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
.login-box
a
.forgot
{
float
:
right
;
padding-top
:
6px
}
.login-box
a
.forgot
{
float
:
right
;
padding-top
:
6px
}
/* Icons */
/* Icons */
.directory
,
.file
{
.directory
,
.file
{
display
:
inline-block
;
display
:
inline-block
;
...
@@ -324,8 +320,6 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
...
@@ -324,8 +320,6 @@ body.login-page{background-color: #f1f1f1; padding-top: 10%}
#container
{
background-color
:
white
;
overflow
:
hidden
;
}
#container
{
background-color
:
white
;
overflow
:
hidden
;
}
body
.collapsed
#container
{
margin
:
auto
;
width
:
980px
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,.
22
);
border-top
:
0
;
box-shadow
:
0
0
0px
4px
rgba
(
0
,
0
,
0
,.
04
)}
body
.collapsed
#container
{
margin
:
auto
;
width
:
980px
;
border
:
1px
solid
rgba
(
0
,
0
,
0
,.
22
);
border-top
:
0
;
box-shadow
:
0
0
0px
4px
rgba
(
0
,
0
,
0
,.
04
)}
/* Header */
/* Header */
header
{
background
:
#474D57
url('bg-header.png')
repeat-x
bottom
;
z-index
:
10000
;
height
:
44px
;
padding
:
10px
2%
6px
2%
;
position
:
relative
}
header
{
background
:
#474D57
url('bg-header.png')
repeat-x
bottom
;
z-index
:
10000
;
height
:
44px
;
padding
:
10px
2%
6px
2%
;
position
:
relative
}
header
a
{
color
:
white
;
text-shadow
:
0
-1px
0
black
}
header
a
{
color
:
white
;
text-shadow
:
0
-1px
0
black
}
...
@@ -345,8 +339,6 @@ header h1.logo a{
...
@@ -345,8 +339,6 @@ header h1.logo a{
text-indent
:
-1000em
;
text-indent
:
-1000em
;
}
}
header
nav
{
border-radius
:
4px
;
box-shadow
:
0
1px
2px
black
;
width
:
294px
;
margin
:
auto
;
header
nav
{
border-radius
:
4px
;
box-shadow
:
0
1px
2px
black
;
width
:
294px
;
margin
:
auto
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595d63
)
,
to
(
#31363e
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
30
,
color-stop
(
0
.066
,
#595d63
)
,
to
(
#31363e
));
background-image
:
-webkit-linear-gradient
(
#595d63
6
.6%
,
#31363e
);
background-image
:
-webkit-linear-gradient
(
#595d63
6
.6%
,
#31363e
);
...
@@ -369,7 +361,6 @@ header nav a:active{
...
@@ -369,7 +361,6 @@ header nav a:active{
box-shadow
:
0
1px
4px
rgba
(
0
,
0
,
0
,.
8
)
inset
;
box-shadow
:
0
1px
4px
rgba
(
0
,
0
,
0
,.
8
)
inset
;
}
}
header
nav
a
.dashboard
{
header
nav
a
.dashboard
{
-webkit-border-top-left-radius
:
4px
;
-webkit-border-top-left-radius
:
4px
;
-webkit-border-bottom-left-radius
:
4px
;
-webkit-border-bottom-left-radius
:
4px
;
...
@@ -388,7 +379,6 @@ header nav a.admin{
...
@@ -388,7 +379,6 @@ header nav a.admin{
border-bottom-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
}
}
header
.search
{
display
:
inline-block
;
float
:
right
;
margin-right
:
46px
}
header
.search
{
display
:
inline-block
;
float
:
right
;
margin-right
:
46px
}
header
nav
a
span
{
width
:
20px
;
height
:
20px
;
display
:
inline-block
;
background
:
red
;
position
:
absolute
;
left
:
8px
;
top
:
6px
;}
header
nav
a
span
{
width
:
20px
;
height
:
20px
;
display
:
inline-block
;
background
:
red
;
position
:
absolute
;
left
:
8px
;
top
:
6px
;}
...
@@ -397,7 +387,6 @@ header nav a.dashboard span{background: url('images.png') no-repeat -161px 0;}
...
@@ -397,7 +387,6 @@ header nav a.dashboard span{background: url('images.png') no-repeat -161px 0;}
header
nav
a
.admin
span
{
background
:
url('images.png')
no-repeat
-184px
0
;}
header
nav
a
.admin
span
{
background
:
url('images.png')
no-repeat
-184px
0
;}
header
nav
a
.project
span
{
background
:
url('images.png')
no-repeat
-209px
-1px
;
top
:
7px
}
header
nav
a
.project
span
{
background
:
url('images.png')
no-repeat
-209px
-1px
;
top
:
7px
}
header
.login-top
{
float
:
right
;
width
:
180px
;
header
.login-top
{
float
:
right
;
width
:
180px
;
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
62
,
color-stop
(
0
.032
,
#464c56
)
,
to
(
#363c45
));
background-image
:
-webkit-gradient
(
linear
,
0
0
,
0
62
,
color-stop
(
0
.032
,
#464c56
)
,
to
(
#363c45
));
background-image
:
-webkit-linear-gradient
(
#464c56
3
.2%
,
#363c45
);
background-image
:
-webkit-linear-gradient
(
#464c56
3
.2%
,
#363c45
);
...
@@ -419,7 +408,6 @@ header{margin-bottom: 0; clear: both; }
...
@@ -419,7 +408,6 @@ header{margin-bottom: 0; clear: both; }
.page-title
a
.grey-button
{
float
:
right
;}
.page-title
a
.grey-button
{
float
:
right
;}
.right
{
float
:
right
;}
.right
{
float
:
right
;}
/* Account box */
/* Account box */
header
.account-box
{
position
:
absolute
;
right
:
0
;
top
:
8px
;
z-index
:
10000
;
width
:
128px
;
font-size
:
11px
;
float
:
right
;
display
:
block
;
cursor
:
pointer
;}
header
.account-box
{
position
:
absolute
;
right
:
0
;
top
:
8px
;
z-index
:
10000
;
width
:
128px
;
font-size
:
11px
;
float
:
right
;
display
:
block
;
cursor
:
pointer
;}
header
.account-box
img
{
border-radius
:
4px
;
right
:
20px
;
position
:
absolute
;
width
:
38px
;
height
:
38px
;
display
:
block
;
box-shadow
:
0
1px
2px
black
}
header
.account-box
img
{
border-radius
:
4px
;
right
:
20px
;
position
:
absolute
;
width
:
38px
;
height
:
38px
;
display
:
block
;
box-shadow
:
0
1px
2px
black
}
...
@@ -462,7 +450,6 @@ header .account-links:before {
...
@@ -462,7 +450,6 @@ header .account-links:before {
z-index
:
10
;
z-index
:
10
;
}
}
/* Inspired by http://maxvoltar.com/temp/nowplaying/ */
/* Inspired by http://maxvoltar.com/temp/nowplaying/ */
header
.account-links
{
background
:
white
;
display
:
none
;
z-index
:
100000
;
border-radius
:
5px
;
width
:
100px
;
position
:
absolute
;
right
:
20px
;
top
:
46px
;
margin-top
:
0
;
float
:
right
;
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,.
2
);
}
header
.account-links
{
background
:
white
;
display
:
none
;
z-index
:
100000
;
border-radius
:
5px
;
width
:
100px
;
position
:
absolute
;
right
:
20px
;
top
:
46px
;
margin-top
:
0
;
float
:
right
;
box-shadow
:
0
1px
1px
rgba
(
0
,
0
,
0
,.
2
);
}
header
.account-links
a
{
color
:
#666
;
padding
:
6px
10px
;
display
:
block
;
text-shadow
:
none
;
border-bottom
:
1px
solid
#eee
}
header
.account-links
a
{
color
:
#666
;
padding
:
6px
10px
;
display
:
block
;
text-shadow
:
none
;
border-bottom
:
1px
solid
#eee
}
...
@@ -509,13 +496,10 @@ input.search-input:focus{ background-color: white; width: 216px;}
...
@@ -509,13 +496,10 @@ input.search-input:focus{ background-color: white; width: 216px;}
input
.
search-input
:
:-
webkit-input-placeholder
{
color
:
#666
}
input
.
search-input
:
:-
webkit-input-placeholder
{
color
:
#666
}
/* eo Header */
/* eo Header */
h2
.icon
{
position
:
relative
;
padding-left
:
40px
;
float
:
left
;
}
h2
.icon
{
position
:
relative
;
padding-left
:
40px
;
float
:
left
;
}
/*h2 a{font-weight: normal;}*/
/*h2 a{font-weight: normal;}*/
h2
.icon
span
{
background
:
#E3E5EA
url('images.png')
;
height
:
32px
;
width
:
32px
;
left
:
0
;
top
:
-5px
;
border-radius
:
4px
;
display
:
inline-block
;
position
:
absolute
}
h2
.icon
span
{
background
:
#E3E5EA
url('images.png')
;
height
:
32px
;
width
:
32px
;
left
:
0
;
top
:
-5px
;
border-radius
:
4px
;
display
:
inline-block
;
position
:
absolute
}
/* Dashboard Page */
/* Dashboard Page */
html
,
body
{
height
:
100%
;
}
html
,
body
{
height
:
100%
;
}
...
@@ -545,7 +529,6 @@ body.dashboard-page .news-feed .project-updates a.project-update span.update-aut
...
@@ -545,7 +529,6 @@ body.dashboard-page .news-feed .project-updates a.project-update span.update-aut
body
.dashboard-page
.news-feed
.project-updates
a
.project-update
span
.update-author
strong
{
font-weight
:
bold
;
font-style
:
normal
;}
body
.dashboard-page
.news-feed
.project-updates
a
.project-update
span
.update-author
strong
{
font-weight
:
bold
;
font-style
:
normal
;}
/* eo Dashboard Page */
/* eo Dashboard Page */
.grey-button.right
{
margin-top
:
20px
}
.grey-button.right
{
margin-top
:
20px
}
/* Project Page */
/* Project Page */
...
@@ -561,8 +544,6 @@ body.project-page h2.icon .project-name i.arrow{float: right;
...
@@ -561,8 +544,6 @@ body.project-page h2.icon .project-name i.arrow{float: right;
height
:
5px
;
height
:
5px
;
}
}
body
.project-page
h2
.icon
span
{
background-position
:
-78px
-68px
;
}
body
.project-page
h2
.icon
span
{
background-position
:
-78px
-68px
;
}
body
.project-page
.project-container
{
position
:
relative
;
float
:
left
;
width
:
100%
;
height
:
100%
;
}
body
.project-page
.project-container
{
position
:
relative
;
float
:
left
;
width
:
100%
;
height
:
100%
;
}
body
.project-page
.page-title
{
margin-bottom
:
0
}
body
.project-page
.page-title
{
margin-bottom
:
0
}
...
@@ -575,7 +556,6 @@ body.projects-page input.text.git-url {margin:10px 0 0 }
...
@@ -575,7 +556,6 @@ body.projects-page input.text.git-url {margin:10px 0 0 }
.projects_selector
:hover
>
.project-box
{
-moz-box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
-webkit-box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
}
.projects_selector
:hover
>
.project-box
{
-moz-box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
-webkit-box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
box-shadow
:
0px
0px
10px
rgba
(
0
,
0
,
0
,
.1
);
}
body
.project-page
.project-sidebar
aside
{
width
:
219px
}
body
.project-page
.project-sidebar
aside
{
width
:
219px
}
body
.project-page
.project-sidebar
aside
a
{
display
:
block
;
position
:
relative
;
background
:
white
;
padding
:
15px
10px
;
border-bottom
:
1px
solid
#eee
}
body
.project-page
.project-sidebar
aside
a
{
display
:
block
;
position
:
relative
;
background
:
white
;
padding
:
15px
10px
;
border-bottom
:
1px
solid
#eee
}
body
.project-page
.project-sidebar
aside
a
:first-child
{
body
.project-page
.project-sidebar
aside
a
:first-child
{
...
@@ -623,7 +603,6 @@ body.project-page.commits-page .commit-info data.commit-button{
...
@@ -623,7 +603,6 @@ body.project-page.commits-page .commit-info data.commit-button{
padding-right
:
20px
;
padding-right
:
20px
;
}
}
body
.project-page.commits-page
.commit-button
i
{
body
.project-page.commits-page
.commit-button
i
{
background
:
url('images.png')
no-repeat
-138px
-27px
;
background
:
url('images.png')
no-repeat
-138px
-27px
;
width
:
6px
;
width
:
6px
;
...
@@ -648,9 +627,6 @@ body.project-page.commits-page .commits-date a.commit span.commit-author strong{
...
@@ -648,9 +627,6 @@ body.project-page.commits-page .commits-date a.commit span.commit-author strong{
/* eo Project Page */
/* eo Project Page */
/* Projects Page */
/* Projects Page */
body
.projects-page
h2
.icon
span
{
background-position
:
-31px
-70px
;}
body
.projects-page
h2
.icon
span
{
background-position
:
-31px
-70px
;}
body
.projects-page
.project-box.ui-box
.data
.repository
{
margin-bottom
:
20px
}
body
.projects-page
.project-box.ui-box
.data
.repository
{
margin-bottom
:
20px
}
...
@@ -659,7 +635,6 @@ body.projects-page .project-box{width: 100%; margin-bottom: 3em}
...
@@ -659,7 +635,6 @@ body.projects-page .project-box{width: 100%; margin-bottom: 3em}
body
.projects-page
.browse-code
{
margin-right
:
10px
}
body
.projects-page
.browse-code
{
margin-right
:
10px
}
/* eo Projects Page */
/* eo Projects Page */
/* ==|== non-semantic helper classes ======================================== */
/* ==|== non-semantic helper classes ======================================== */
.ir
{
display
:
block
;
border
:
0
;
text-indent
:
-999em
;
overflow
:
hidden
;
background-color
:
transparent
;
background-repeat
:
no-repeat
;
text-align
:
left
;
direction
:
ltr
;
}
.ir
{
display
:
block
;
border
:
0
;
text-indent
:
-999em
;
overflow
:
hidden
;
background-color
:
transparent
;
background-repeat
:
no-repeat
;
text-align
:
left
;
direction
:
ltr
;
}
.ir
br
{
display
:
none
;
}
.ir
br
{
display
:
none
;
}
...
@@ -671,20 +646,16 @@ body.projects-page .browse-code{margin-right: 10px}
...
@@ -671,20 +646,16 @@ body.projects-page .browse-code{margin-right: 10px}
.clearfix
:after
{
clear
:
both
;
}
.clearfix
:after
{
clear
:
both
;
}
.clearfix
{
zoom
:
1
;
}
.clearfix
{
zoom
:
1
;
}
/* ==|== media queries ====================================================== */
/* ==|== media queries ====================================================== */
@media
only
screen
and
(
min-width
:
480px
)
{
@media
only
screen
and
(
min-width
:
480px
)
{
}
}
@media
only
screen
and
(
min-width
:
768px
)
{
@media
only
screen
and
(
min-width
:
768px
)
{
}
}
/* ==|== print styles ======================================================= */
/* ==|== print styles ======================================================= */
@media
print
{
@media
print
{
...
...
app/assets/stylesheets/tags.css.css
View file @
12782adf
...
@@ -15,7 +15,6 @@
...
@@ -15,7 +15,6 @@
font-size
:
14px
;
font-size
:
14px
;
}
}
.small-tags
a
{
.small-tags
a
{
font-size
:
9px
;
font-size
:
9px
;
...
@@ -29,7 +28,6 @@
...
@@ -29,7 +28,6 @@
font-weight
:
bold
;
font-weight
:
bold
;
}
}
.medium-tags
a
{
.medium-tags
a
{
font-size
:
12px
;
font-size
:
12px
;
...
...
app/controllers/application_controller.rb
View file @
12782adf
app/controllers/commits_controller.rb
View file @
12782adf
...
@@ -10,7 +10,6 @@ class CommitsController < ApplicationController
...
@@ -10,7 +10,6 @@ class CommitsController < ApplicationController
before_filter
:require_non_empty_project
before_filter
:require_non_empty_project
before_filter
:load_refs
,
:only
=>
:index
# load @branch, @tag & @ref
before_filter
:load_refs
,
:only
=>
:index
# load @branch, @tag & @ref
def
index
def
index
@repo
=
project
.
repo
@repo
=
project
.
repo
limit
,
offset
=
(
params
[
:limit
]
||
20
),
(
params
[
:offset
]
||
0
)
limit
,
offset
=
(
params
[
:limit
]
||
20
),
(
params
[
:offset
]
||
0
)
...
@@ -24,6 +23,7 @@ class CommitsController < ApplicationController
...
@@ -24,6 +23,7 @@ class CommitsController < ApplicationController
respond_to
do
|
format
|
respond_to
do
|
format
|
format
.
html
# index.html.erb
format
.
html
# index.html.erb
format
.
js
format
.
js
format
.
atom
{
render
:layout
=>
false
}
end
end
end
end
...
...
app/controllers/issues_controller.rb
View file @
12782adf
...
@@ -24,6 +24,7 @@ class IssuesController < ApplicationController
...
@@ -24,6 +24,7 @@ class IssuesController < ApplicationController
respond_to
do
|
format
|
respond_to
do
|
format
|
format
.
html
# index.html.erb
format
.
html
# index.html.erb
format
.
js
format
.
js
format
.
atom
{
render
:layout
=>
false
}
end
end
end
end
...
@@ -97,7 +98,7 @@ class IssuesController < ApplicationController
...
@@ -97,7 +98,7 @@ class IssuesController < ApplicationController
else
@project
.
issues
.
opened
else
@project
.
issues
.
opened
end
end
@issues
=
@issues
.
where
(
"title LIKE ?
OR content LIKE ?"
,
"%
#{
terms
}
%
"
,
"%
#{
terms
}
%"
)
unless
terms
.
blank?
@issues
=
@issues
.
where
(
"title LIKE ?"
,
"%
#{
terms
}
%"
)
unless
terms
.
blank?
render
:partial
=>
'issues'
render
:partial
=>
'issues'
end
end
...
...
app/controllers/projects_controller.rb
View file @
12782adf
app/controllers/tags_controller.rb
View file @
12782adf
app/helpers/application_helper.rb
View file @
12782adf
app/helpers/dashboard_helper.rb
View file @
12782adf
app/models/issue.rb
View file @
12782adf
app/models/note.rb
View file @
12782adf
app/models/project.rb
View file @
12782adf
app/models/repository.rb
View file @
12782adf
app/models/user.rb
View file @
12782adf
class
User
<
ActiveRecord
::
Base
class
User
<
ActiveRecord
::
Base
# Include default devise modules. Others available are:
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise
:database_authenticatable
,
devise
:database_authenticatable
,
:token_authenticatable
,
:recoverable
,
:rememberable
,
:trackable
,
:validatable
:recoverable
,
:rememberable
,
:trackable
,
:validatable
# Setup accessible (or protected) attributes for your model
# Setup accessible (or protected) attributes for your model
...
@@ -25,6 +25,8 @@ class User < ActiveRecord::Base
...
@@ -25,6 +25,8 @@ class User < ActiveRecord::Base
:foreign_key
=>
:assignee_id
,
:foreign_key
=>
:assignee_id
,
:dependent
=>
:destroy
:dependent
=>
:destroy
before_create
:ensure_authentication_token
alias_attribute
:private_token
,
:authentication_token
scope
:not_in_project
,
lambda
{
|
project
|
where
(
"id not in (:ids)"
,
:ids
=>
project
.
users
.
map
(
&
:id
)
)
}
scope
:not_in_project
,
lambda
{
|
project
|
where
(
"id not in (:ids)"
,
:ids
=>
project
.
users
.
map
(
&
:id
)
)
}
def
identifier
def
identifier
...
...
app/views/admin/projects/_form.html.haml
View file @
12782adf
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
%br
%br
=
f
.
text_field
:path
=
f
.
text_field
:path
.form-row
.form-row
=
f
.
label
:tag_list
=
f
.
label
:tag_list
%br
%br
...
...
app/views/commits/index.atom.builder
0 → 100644
View file @
12782adf
xml.instruct!
xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do
xml.title "Recent commits to #{@project.name}:#{@ref}"
xml.link :href => project_commits_url(@project, :atom, :ref => @ref), :rel => "self", :type => "application/atom+xml"
xml.link :href => project_commits_url(@project), :rel => "alternate", :type => "text/html"
xml.id project_commits_url(@project)
xml.updated @commits.first.committed_date.strftime("%Y-%m-%dT%H:%M:%SZ") if @commits.any?
@commits.each do |commit|
xml.entry do
xml.id project_commit_url(@project, :id => commit.id)
xml.link :href => project_commit_url(@project, :id => commit.id)
xml.title truncate(commit.safe_message, :length => 80)
xml.updated commit.committed_date.strftime("%Y-%m-%dT%H:%M:%SZ")
xml.media :thumbnail, :width => "40", :height => "40", :url => gravatar_icon(commit.author_email)
xml.author do |author|
xml.name commit.author_name
xml.email commit.author_email
end
xml.summary commit.safe_message
end
end
end
app/views/commits/index.html.haml
View file @
12782adf
...
@@ -20,8 +20,6 @@
...
@@ -20,8 +20,6 @@
.loading
{
:style
=>
"display:none;"
}
.loading
{
:style
=>
"display:none;"
}
%center
=
image_tag
"ajax-loader.gif"
%center
=
image_tag
"ajax-loader.gif"
:javascript
:javascript
$
(
function
(){
$
(
function
(){
CommitsList
.
init
(
"
#{
@ref
}
"
,
20
);
CommitsList
.
init
(
"
#{
@ref
}
"
,
20
);
...
...
app/views/dashboard/index.html.haml
View file @
12782adf
app/views/issues/_show.html.haml
View file @
12782adf
app/views/issues/index.atom.builder
0 → 100644
View file @
12782adf
xml.instruct!
xml.feed "xmlns" => "http://www.w3.org/2005/Atom", "xmlns:media" => "http://search.yahoo.com/mrss/" do
xml.title "#{@project.name} issues"
xml.link :href => project_issues_url(@project, :atom), :rel => "self", :type => "application/atom+xml"
xml.link :href => project_issues_url(@project), :rel => "alternate", :type => "text/html"
xml.id project_issues_url(@project)
xml.updated @issues.first.created_at.strftime("%Y-%m-%dT%H:%M:%SZ") if @issues.any?
@issues.each do |issue|
xml.entry do
xml.id project_issue_url(@project, issue)
xml.link :href => project_issue_url(@project, issue)
xml.title truncate(issue.title, :length => 80)
xml.updated issue.created_at.strftime("%Y-%m-%dT%H:%M:%SZ")
xml.media :thumbnail, :width => "40", :height => "40", :url => gravatar_icon(issue.author_email)
xml.author do |author|
xml.name issue.author_name
xml.email issue.author_email
end
xml.summary issue.title
end
end
end
app/views/issues/index.html.haml
View file @
12782adf
...
@@ -31,7 +31,6 @@
...
@@ -31,7 +31,6 @@
var
href
=
$
(
'
.issue_search
'
).
parent
().
attr
(
'
action
'
);
var
href
=
$
(
'
.issue_search
'
).
parent
().
attr
(
'
action
'
);
var
last_terms
=
''
;
var
last_terms
=
''
;
var
setIssueFilter
=
function
(
form
,
value
){
var
setIssueFilter
=
function
(
form
,
value
){
$
.
cookie
(
'
issue_filter
'
,
value
,
{
expires
:
140
});
$
.
cookie
(
'
issue_filter
'
,
value
,
{
expires
:
140
});
form
.
submit
();
form
.
submit
();
...
...
app/views/issues/show.html.haml
View file @
12782adf
...
@@ -42,7 +42,6 @@
...
@@ -42,7 +42,6 @@
-
else
-
else
=
check_box_tag
"closed"
,
1
,
@issue
.
closed
,
:disabled
=>
true
=
check_box_tag
"closed"
,
1
,
@issue
.
closed
,
:disabled
=>
true
-
if
can?
(
current_user
,
:write_issue
,
@issue
)
-
if
can?
(
current_user
,
:write_issue
,
@issue
)
.clear
.clear
%br
%br
...
...
app/views/layouts/_head_panel.html.erb
View file @
12782adf
app/views/layouts/profile.html.haml
View file @
12782adf
app/views/layouts/project.html.haml
View file @
12782adf
...
@@ -5,6 +5,10 @@
...
@@ -5,6 +5,10 @@
GitLab
#{
" - #{@project.name}"
if
@project
&&
!
@project
.
new_record?
}
GitLab
#{
" - #{@project.name}"
if
@project
&&
!
@project
.
new_record?
}
=
stylesheet_link_tag
"application"
=
stylesheet_link_tag
"application"
=
javascript_include_tag
"application"
=
javascript_include_tag
"application"
-
if
current_page?
(
tree_project_path
(
@project
))
||
current_page?
(
project_commits_path
(
@project
))
=
auto_discovery_link_tag
(
:atom
,
project_commits_url
(
@project
,
:atom
,
:ref
=>
@ref
,
:private_token
=>
current_user
.
private_token
),
:title
=>
"Recent commits to
#{
@project
.
name
}
:
#{
@ref
}
"
)
-
if
request
.
path
==
project_issues_path
(
@project
)
=
auto_discovery_link_tag
(
:atom
,
project_issues_url
(
@project
,
:atom
,
:private_token
=>
current_user
.
private_token
),
:title
=>
"
#{
@project
.
name
}
issues"
)
=
csrf_meta_tags
=
csrf_meta_tags
=
javascript_tag
do
=
javascript_tag
do
REQ_URI = "
#{
request
.
env
[
"REQUEST_URI"
]
}
";
REQ_URI = "
#{
request
.
env
[
"REQUEST_URI"
]
}
";
...
...
app/views/notes/_form.html.haml
View file @
12782adf
app/views/notes/_load.js.haml
View file @
12782adf
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
:plain
:plain
NoteList.replace(
#{
@notes
.
last
.
id
}
,
#{
@notes
.
first
.
id
}
, "
#{
escape_javascript
(
render
(
:partial
=>
'notes/notes_list'
))
}
");
NoteList.replace(
#{
@notes
.
last
.
id
}
,
#{
@notes
.
first
.
id
}
, "
#{
escape_javascript
(
render
(
:partial
=>
'notes/notes_list'
))
}
");
-
elsif
params
[
:last_id
]
-
elsif
params
[
:last_id
]
:plain
:plain
NoteList.prepend(
#{
@notes
.
first
.
id
}
, "
#{
escape_javascript
(
render
(
:partial
=>
'notes/notes_list'
))
}
");
NoteList.prepend(
#{
@notes
.
first
.
id
}
, "
#{
escape_javascript
(
render
(
:partial
=>
'notes/notes_list'
))
}
");
...
...
app/views/notes/_show.html.haml
View file @
12782adf
app/views/notify/new_issue_email.html.haml
View file @
12782adf
...
@@ -10,9 +10,7 @@
...
@@ -10,9 +10,7 @@
%td
{
:style
=>
"font-size: 1px; line-height: 1px;"
,
:width
=>
"21"
}
%td
{
:style
=>
"font-size: 1px; line-height: 1px;"
,
:width
=>
"21"
}
%td
{
:align
=>
"left"
,
:style
=>
"padding: 20px 0 0;"
}
%td
{
:align
=>
"left"
,
:style
=>
"padding: 20px 0 0;"
}
%h2
{
:style
=>
"color:#646464 !important; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "
}
%h2
{
:style
=>
"color:#646464 !important; font-weight: bold; margin: 0; padding: 0; line-height: 26px; font-size: 18px; font-family: Helvetica, Arial, sans-serif; "
}
=
link_to
project_issue_url
(
@project
,
@issue
)
do
=
link_to
project_issue_url
(
@project
,
@issue
)
,
:title
=>
@issue
.
title
do
=
"Issue #
#{
@issue
.
id
.
to_s
}
"
=
"Issue #
#{
@issue
.
id
.
to_s
}
"
=
truncate
(
@issue
.
title
,
:length
=>
45
)
=
truncate
(
@issue
.
title
,
:length
=>
45
)
%br
%br
%cite
{
:style
=>
"color:#767676; font-weight: normal; margin: 0; padding: 0; line-height: 20px; font-size: 12px;font-family: Helvetica, Arial, sans-serif; "
}
=
@issue
.
content
app/views/projects/_feed.html.haml
View file @
12782adf
app/views/projects/_form.html.haml
View file @
12782adf
app/views/projects/_list.html.haml
View file @
12782adf
...
@@ -14,7 +14,6 @@
...
@@ -14,7 +14,6 @@
=
project
.
name
=
project
.
name
.small-tags
=
tag_list
project
.small-tags
=
tag_list
project
%td
=
truncate
project
.
url_to_repo
%td
=
truncate
project
.
url_to_repo
%td
=
project
.
code
%td
=
project
.
code
%td
=
check_box_tag
"read"
,
1
,
project
.
readers
.
include?
(
current_user
),
:disabled
=>
:disabled
%td
=
check_box_tag
"read"
,
1
,
project
.
readers
.
include?
(
current_user
),
:disabled
=>
:disabled
...
...
app/views/projects/_refs.html.haml
View file @
12782adf
=
form_tag
destination
,
:method
=>
:get
,
:class
=>
"project-refs-form"
do
=
form_tag
destination
,
:method
=>
:get
,
:class
=>
"project-refs-form"
do
=
select_tag
"ref"
,
grouped_options_refs
,
:onchange
=>
"this.form.submit();"
,
:class
=>
"project-refs-select"
=
select_tag
"ref"
,
grouped_options_refs
,
:onchange
=>
"this.form.submit();"
,
:class
=>
"project-refs-select"
:javascript
:javascript
$
(
function
(){
$
(
function
(){
$
(
'
.project-refs-select
'
).
chosen
();
$
(
'
.project-refs-select
'
).
chosen
();
...
...
app/views/projects/_tile.html.haml
View file @
12782adf
app/views/projects/_tree.html.haml
View file @
12782adf
-#%a.right.button{:href => "#"} Download
-#%a.right.button{:href => "#"} Download
-#-if can? current_user, :admin_project, @project
-#-if can? current_user, :admin_project, @project
%a.right.button.blue{:href => "#"} EDIT
%a.right.button.blue{:href => "#"} EDIT
...
...
app/views/projects/index.html.haml
View file @
12782adf
app/views/projects/new.html.haml
View file @
12782adf
app/views/snippets/index.html.haml
View file @
12782adf
app/views/tags/index.html.haml
View file @
12782adf
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
%h2
%h2
Tags
Tags
.tags-list
.tags-list
-
@tags
.
all
.
each
do
|
tag
|
-
@tags
.
all
.
each
do
|
tag
|
=
link_to
"
#{
tag
.
name
}
(
#{
tag
.
count
}
)"
,
tag_path
(
name
)
=
link_to
"
#{
tag
.
name
}
(
#{
tag
.
count
}
)"
,
tag_path
(
name
)
...
...
config/initializers/devise.rb
View file @
12782adf
...
@@ -158,11 +158,11 @@ Devise.setup do |config|
...
@@ -158,11 +158,11 @@ Devise.setup do |config|
# ==> Configuration for :token_authenticatable
# ==> Configuration for :token_authenticatable
# Defines name of the authentication token params key
# Defines name of the authentication token params key
# config.token_authentication_key = :auth
_token
config
.
token_authentication_key
=
:private
_token
# If true, authentication through token does not store user in session and needs
# If true, authentication through token does not store user in session and needs
# to be supplied on each request. Useful if you are using the token as API token.
# to be supplied on each request. Useful if you are using the token as API token.
# config.stateless_token = fals
e
config
.
stateless_token
=
tru
e
# ==> Scopes configuration
# ==> Scopes configuration
# Turn scoped views on. Before rendering "sessions/new", it will first check for
# Turn scoped views on. Before rendering "sessions/new", it will first check for
...
...
config/routes.rb
View file @
12782adf
...
@@ -3,7 +3,6 @@ Gitlab::Application.routes.draw do
...
@@ -3,7 +3,6 @@ Gitlab::Application.routes.draw do
get
'tags'
=>
'tags#index'
get
'tags'
=>
'tags#index'
get
'tags/:tag'
=>
'projects#index'
get
'tags/:tag'
=>
'projects#index'
namespace
:admin
do
namespace
:admin
do
resources
:users
resources
:users
resources
:projects
resources
:projects
...
@@ -54,8 +53,6 @@ Gitlab::Application.routes.draw do
...
@@ -54,8 +53,6 @@ Gitlab::Application.routes.draw do
resources
:issues
do
resources
:issues
do
collection
do
collection
do
post
:sort
post
:sort
end
collection
do
get
:search
get
:search
end
end
end
end
...
...
db/migrate/20111027152724_issue_conten_to_note.rb
View file @
12782adf
db/migrate/20111111093150_remove_content_from_issues.rb
0 → 100644
View file @
12782adf
class
RemoveContentFromIssues
<
ActiveRecord
::
Migration
def
up
remove_column
:issues
,
:content
end
def
down
add_column
:issues
,
:content
,
:text
end
end
db/migrate/20111115063954_add_authentication_token_to_users.rb
0 → 100644
View file @
12782adf
class
AddAuthenticationTokenToUsers
<
ActiveRecord
::
Migration
def
change
add_column
:users
,
:authentication_token
,
:string
end
end
db/schema.rb
View file @
12782adf
...
@@ -11,11 +11,10 @@
...
@@ -11,11 +11,10 @@
#
#
# It's strongly recommended to check this file into your version control system.
# It's strongly recommended to check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
:version
=>
201111
01222453
)
do
ActiveRecord
::
Schema
.
define
(
:version
=>
201111
15063954
)
do
create_table
"issues"
,
:force
=>
true
do
|
t
|
create_table
"issues"
,
:force
=>
true
do
|
t
|
t
.
string
"title"
t
.
string
"title"
t
.
text
"content"
t
.
integer
"assignee_id"
t
.
integer
"assignee_id"
t
.
integer
"author_id"
t
.
integer
"author_id"
t
.
integer
"project_id"
t
.
integer
"project_id"
...
@@ -104,6 +103,7 @@ ActiveRecord::Schema.define(:version => 20111101222453) do
...
@@ -104,6 +103,7 @@ ActiveRecord::Schema.define(:version => 20111101222453) do
t
.
string
"skype"
,
:default
=>
""
,
:null
=>
false
t
.
string
"skype"
,
:default
=>
""
,
:null
=>
false
t
.
string
"linkedin"
,
:default
=>
""
,
:null
=>
false
t
.
string
"linkedin"
,
:default
=>
""
,
:null
=>
false
t
.
string
"twitter"
,
:default
=>
""
,
:null
=>
false
t
.
string
"twitter"
,
:default
=>
""
,
:null
=>
false
t
.
string
"authentication_token"
end
end
add_index
"users"
,
[
"email"
],
:name
=>
"index_users_on_email"
,
:unique
=>
true
add_index
"users"
,
[
"email"
],
:name
=>
"index_users_on_email"
,
:unique
=>
true
...
...
lib/assets/javascripts/branch-graph.js
View file @
12782adf
lib/graph_commit.rb
View file @
12782adf
spec/models/project_spec.rb
View file @
12782adf
spec/models/user_spec.rb
View file @
12782adf
...
@@ -19,6 +19,11 @@ describe User do
...
@@ -19,6 +19,11 @@ describe User do
user
.
identifier
.
should
==
"test_mail.com"
user
.
identifier
.
should
==
"test_mail.com"
end
end
it
"should have authentication token"
do
user
=
Factory
(
:user
)
user
.
authentication_token
.
should_not
==
""
end
describe
"dependent"
do
describe
"dependent"
do
before
do
before
do
@user
=
Factory
:user
@user
=
Factory
:user
...
...
spec/requests/commits_spec.rb
View file @
12782adf
...
@@ -25,6 +25,25 @@ describe "Commits" do
...
@@ -25,6 +25,25 @@ describe "Commits" do
page
.
should
have_content
(
commit
.
author
)
page
.
should
have_content
(
commit
.
author
)
page
.
should
have_content
(
commit
.
message
)
page
.
should
have_content
(
commit
.
message
)
end
end
it
"should render atom feed"
do
visit
project_commits_path
(
project
,
:atom
)
page
.
response_headers
[
'Content-Type'
].
should
have_content
(
"application/atom+xml"
)
page
.
body
.
should
have_selector
(
"title"
,
:text
=>
"Recent commits to
#{
project
.
name
}
"
)
page
.
body
.
should
have_selector
(
"author email"
,
:text
=>
commit
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
:text
=>
commit
.
message
)
end
it
"should render atom feed via private token"
do
logout
visit
project_commits_path
(
project
,
:atom
,
:private_token
=>
@user
.
private_token
)
page
.
response_headers
[
'Content-Type'
].
should
have_content
(
"application/atom+xml"
)
page
.
body
.
should
have_selector
(
"title"
,
:text
=>
"Recent commits to
#{
project
.
name
}
"
)
page
.
body
.
should
have_selector
(
"author email"
,
:text
=>
commit
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
:text
=>
commit
.
message
)
end
end
end
describe
"GET /commits/:id"
do
describe
"GET /commits/:id"
do
...
...
spec/requests/dashboard_spec.rb
View file @
12782adf
spec/requests/issues_spec.rb
View file @
12782adf
...
@@ -27,6 +27,25 @@ describe "Issues" do
...
@@ -27,6 +27,25 @@ describe "Issues" do
it
{
should
have_content
(
@issue
.
project
.
name
)
}
it
{
should
have_content
(
@issue
.
project
.
name
)
}
it
{
should
have_content
(
@issue
.
assignee
.
name
)
}
it
{
should
have_content
(
@issue
.
assignee
.
name
)
}
it
"should render atom feed"
do
visit
project_issues_path
(
project
,
:atom
)
page
.
response_headers
[
'Content-Type'
].
should
have_content
(
"application/atom+xml"
)
page
.
body
.
should
have_selector
(
"title"
,
:text
=>
"
#{
project
.
name
}
issues"
)
page
.
body
.
should
have_selector
(
"author email"
,
:text
=>
@issue
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
:text
=>
@issue
.
title
)
end
it
"should render atom feed via private token"
do
logout
visit
project_issues_path
(
project
,
:atom
,
:private_token
=>
@user
.
private_token
)
page
.
response_headers
[
'Content-Type'
].
should
have_content
(
"application/atom+xml"
)
page
.
body
.
should
have_selector
(
"title"
,
:text
=>
"
#{
project
.
name
}
issues"
)
page
.
body
.
should
have_selector
(
"author email"
,
:text
=>
@issue
.
author_email
)
page
.
body
.
should
have_selector
(
"entry summary"
,
:text
=>
@issue
.
title
)
end
describe
"Destroy"
do
describe
"Destroy"
do
before
do
before
do
# admin access to remove issue
# admin access to remove issue
...
...
spec/requests/projects_spec.rb
View file @
12782adf
spec/requests/tags_spec.rb
View file @
12782adf
...
@@ -10,7 +10,6 @@ describe "Tags" do
...
@@ -10,7 +10,6 @@ describe "Tags" do
# end
# end
# end
# end
describe
"GET '/tags.json'"
do
describe
"GET '/tags.json'"
do
before
do
before
do
@project
=
Factory
:project
@project
=
Factory
:project
...
@@ -20,12 +19,9 @@ describe "Tags" do
...
@@ -20,12 +19,9 @@ describe "Tags" do
visit
'/tags.json'
visit
'/tags.json'
end
end
it
"should contains tags"
do
it
"should contains tags"
do
page
.
should
have_content
(
'demo1'
)
page
.
should
have_content
(
'demo1'
)
end
end
end
end
end
end
spec/requests/top_panel_spec.rb
View file @
12782adf
app/assets/javascripts/chosen.jquery
.js
→
vendor/assets/javascripts/chosen
.js
View file @
12782adf
File moved
app/assets/javascripts/modernizr-2.0.6.min
.js
→
vendor/assets/javascripts/modernizr
.js
View file @
12782adf
File moved
app
/assets/stylesheets/chosen.css
→
vendor
/assets/stylesheets/chosen.css
View file @
12782adf
File moved
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