Commit 94db8a1c334b9ff5a0c28c89cb87ffa882095261
1 parent
9a24ccde
Exists in
master
and in
4 other branches
Usability & design improvements
Showing
21 changed files
with
192 additions
and
91 deletions
Show diff stats
app/assets/stylesheets/common.scss
@@ -10,8 +10,12 @@ a { | @@ -10,8 +10,12 @@ a { | ||
10 | color: $link_color !important; | 10 | color: $link_color !important; |
11 | } | 11 | } |
12 | 12 | ||
13 | +.pills a:hover { | ||
14 | + background-color:#ccc; | ||
15 | +} | ||
16 | + | ||
13 | .pills .active a { | 17 | .pills .active a { |
14 | - background-color: #474D57; | 18 | + background-color: #aaa; |
15 | } | 19 | } |
16 | 20 | ||
17 | .label { | 21 | .label { |
@@ -83,7 +87,7 @@ a { | @@ -83,7 +87,7 @@ a { | ||
83 | } | 87 | } |
84 | 88 | ||
85 | .container .sidebar { | 89 | .container .sidebar { |
86 | - width: 250px; | 90 | + width: 220px; |
87 | height:100%; | 91 | height:100%; |
88 | min-height:450px; | 92 | min-height:450px; |
89 | float:right; | 93 | float:right; |
@@ -131,6 +135,15 @@ nav.main_menu { | @@ -131,6 +135,15 @@ nav.main_menu { | ||
131 | margin: 0; | 135 | margin: 0; |
132 | float:left; | 136 | float:left; |
133 | text-shadow:0 1px 1px white; | 137 | text-shadow:0 1px 1px white; |
138 | + | ||
139 | + &.home { | ||
140 | + padding:7px 35px; | ||
141 | + | ||
142 | + img { | ||
143 | + position:relative; | ||
144 | + top:4px; | ||
145 | + } | ||
146 | + } | ||
134 | &.current { | 147 | &.current { |
135 | background:#DDD; | 148 | background:#DDD; |
136 | } | 149 | } |
@@ -182,7 +195,7 @@ img.lil_av { | @@ -182,7 +195,7 @@ img.lil_av { | ||
182 | p { padding-top:5px; margin:0; color:$style_color;} | 195 | p { padding-top:5px; margin:0; color:$style_color;} |
183 | .author { color: #999; } | 196 | .author { color: #999; } |
184 | p { | 197 | p { |
185 | - color:$style_color; | 198 | + color:#222; |
186 | margin-bottom: 0; | 199 | margin-bottom: 0; |
187 | img { | 200 | img { |
188 | position:relative; | 201 | position:relative; |
@@ -230,6 +243,27 @@ img.lil_av { | @@ -230,6 +243,27 @@ img.lil_av { | ||
230 | .widget { | 243 | .widget { |
231 | padding:20px; | 244 | padding:20px; |
232 | margin-bottom:20px; | 245 | margin-bottom:20px; |
246 | + background-image: -webkit-gradient(linear, 0 0, 0 30, color-stop(0.066, #fff), to(#f1f1f1)); | ||
247 | + background-image: -webkit-linear-gradient(#fff 6.6%, #f1f1f1); | ||
248 | + background-image: -moz-linear-gradient(#fff 6.6%, #f1f1f1); | ||
249 | + background-image: -o-linear-gradient(#fff 6.6%, #f1f1f1); | ||
250 | + border: 1px solid #DDD; | ||
251 | + border-radius: 5px; | ||
252 | + | ||
253 | + .link_holder { | ||
254 | + background:#eee; | ||
255 | + position:relative; | ||
256 | + left:-20px; | ||
257 | + top:20px; | ||
258 | + padding:10px 20px; | ||
259 | + width:100%; | ||
260 | + border-top:1px solid #ccc; | ||
261 | + | ||
262 | + a { | ||
263 | + font-size:14px; | ||
264 | + color:#666; | ||
265 | + } | ||
266 | + } | ||
233 | } | 267 | } |
234 | 268 | ||
235 | 269 | ||
@@ -242,15 +276,20 @@ img.lil_av { | @@ -242,15 +276,20 @@ img.lil_av { | ||
242 | margin:0; | 276 | margin:0; |
243 | } | 277 | } |
244 | 278 | ||
245 | - h5 { | 279 | + h5, .title { |
246 | padding: 0 10px; | 280 | padding: 0 10px; |
247 | background:#f5f5f5; | 281 | background:#f5f5f5; |
248 | border-bottom: 1px solid #ccc; | 282 | border-bottom: 1px solid #ccc; |
249 | @include round-borders-top(4px); | 283 | @include round-borders-top(4px); |
250 | border-top:none; | 284 | border-top:none; |
285 | + | ||
286 | + form { | ||
287 | + padding-top:16px; | ||
288 | + } | ||
251 | } | 289 | } |
252 | 290 | ||
253 | - li { | 291 | + |
292 | + li, .wll { | ||
254 | padding:10px; | 293 | padding:10px; |
255 | &:first-child { | 294 | &:first-child { |
256 | @include round-borders-top(4px); | 295 | @include round-borders-top(4px); |
@@ -266,3 +305,11 @@ img.lil_av { | @@ -266,3 +305,11 @@ img.lil_av { | ||
266 | } | 305 | } |
267 | 306 | ||
268 | .help li { color:#111 } | 307 | .help li { color:#111 } |
308 | + | ||
309 | +.back_link { | ||
310 | + text-decoration:underline; | ||
311 | + font-size:14px; | ||
312 | + font-weight:bold; | ||
313 | + padding:10px 0; | ||
314 | + padding-bottom:0; | ||
315 | +} |
app/assets/stylesheets/tree.scss
@@ -130,14 +130,21 @@ table.highlighttable .linenodiv pre { | @@ -130,14 +130,21 @@ table.highlighttable .linenodiv pre { | ||
130 | } | 130 | } |
131 | } | 131 | } |
132 | 132 | ||
133 | -.breadcrumb a { | ||
134 | - color:$style_color; | ||
135 | - font-weight:bold; | 133 | +.breadcrumb { |
134 | + background:white; | ||
135 | + border:none; | ||
136 | + | ||
137 | + a { | ||
138 | + color:$link_color; | ||
139 | + font-weight:bold; | ||
140 | + font-size:13px; | ||
141 | + } | ||
136 | } | 142 | } |
137 | 143 | ||
138 | #tree-slider { | 144 | #tree-slider { |
139 | td { | 145 | td { |
140 | padding:7px; | 146 | padding:7px; |
147 | + border-color:#f1f1f1; | ||
141 | } | 148 | } |
142 | 149 | ||
143 | th { | 150 | th { |
app/controllers/merge_requests_controller.rb
@@ -24,7 +24,9 @@ class MergeRequestsController < ApplicationController | @@ -24,7 +24,9 @@ class MergeRequestsController < ApplicationController | ||
24 | @merge_requests = @project.merge_requests | 24 | @merge_requests = @project.merge_requests |
25 | 25 | ||
26 | @merge_requests = case params[:f].to_i | 26 | @merge_requests = case params[:f].to_i |
27 | + when 1 then @merge_requests | ||
27 | when 2 then @merge_requests.closed | 28 | when 2 then @merge_requests.closed |
29 | + when 2 then @merge_requests.opened.assigned(current_user) | ||
28 | else @merge_requests.opened | 30 | else @merge_requests.opened |
29 | end | 31 | end |
30 | 32 |
app/models/commit.rb
app/models/user.rb
@@ -65,7 +65,11 @@ class User < ActiveRecord::Base | @@ -65,7 +65,11 @@ class User < ActiveRecord::Base | ||
65 | 65 | ||
66 | def self.generate_random_password | 66 | def self.generate_random_password |
67 | (0...8).map{ ('a'..'z').to_a[rand(26)] }.join | 67 | (0...8).map{ ('a'..'z').to_a[rand(26)] }.join |
68 | - end | 68 | + end |
69 | + | ||
70 | + def first_name | ||
71 | + name.split(" ").first unless name.blank? | ||
72 | + end | ||
69 | 73 | ||
70 | def self.find_for_ldap_auth(omniauth) | 74 | def self.find_for_ldap_auth(omniauth) |
71 | username = omniauth.sAMAccountName[0] | 75 | username = omniauth.sAMAccountName[0] |
app/views/issues/_show.html.haml
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | = image_tag gravatar_icon(issue.assignee_email), :class => "avatar" | 12 | = image_tag gravatar_icon(issue.assignee_email), :class => "avatar" |
13 | %span.update-author | 13 | %span.update-author |
14 | assigned to | 14 | assigned to |
15 | - %strong= link_to_issue_assignee(issue) | 15 | + %strong= issue.assignee_name |
16 | - if issue.critical | 16 | - if issue.critical |
17 | %span.label.important critical | 17 | %span.label.important critical |
18 | - if issue.today? | 18 | - if issue.today? |
app/views/issues/index.html.haml
@@ -9,30 +9,30 @@ | @@ -9,30 +9,30 @@ | ||
9 | = link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do | 9 | = link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do |
10 | New Issue | 10 | New Issue |
11 | %hr | 11 | %hr |
12 | - %div#issues-table-holder | ||
13 | - .row | ||
14 | - .span8 | ||
15 | - %ul.pills.left | ||
16 | - %li{:class => ("active" if (params[:f] == "0" || !params[:f]))} | ||
17 | - = link_to project_issues_path(@project, :f => 0) do | ||
18 | - Open | ||
19 | - %li{:class => ("active" if params[:f] == "2")} | ||
20 | - = link_to project_issues_path(@project, :f => 2) do | ||
21 | - Closed | ||
22 | - %li{:class => ("active" if params[:f] == "3")} | ||
23 | - = link_to project_issues_path(@project, :f => 3) do | ||
24 | - To Me | ||
25 | - %li{:class => ("active" if params[:f] == "1")} | ||
26 | - = link_to project_issues_path(@project, :f => 1) do | ||
27 | - All | 12 | + %div#issues-table-holder.ui-box |
13 | + .title | ||
14 | + .row | ||
15 | + .span8 | ||
16 | + %ul.pills.left | ||
17 | + %li{:class => ("active" if (params[:f] == "0" || !params[:f]))} | ||
18 | + = link_to project_issues_path(@project, :f => 0) do | ||
19 | + Open | ||
20 | + %li{:class => ("active" if params[:f] == "2")} | ||
21 | + = link_to project_issues_path(@project, :f => 2) do | ||
22 | + Closed | ||
23 | + %li{:class => ("active" if params[:f] == "3")} | ||
24 | + = link_to project_issues_path(@project, :f => 3) do | ||
25 | + To Me | ||
26 | + %li{:class => ("active" if params[:f] == "1")} | ||
27 | + = link_to project_issues_path(@project, :f => 1) do | ||
28 | + All | ||
28 | 29 | ||
29 | - .span2.right | ||
30 | - = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :id => "issue_search_form", :class => :right do | ||
31 | - = hidden_field_tag :project_id, @project.id, { :id => 'project_id' } | ||
32 | - = hidden_field_tag :status, params[:f] | ||
33 | - = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' } | 30 | + .span3.right |
31 | + = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :id => "issue_search_form", :class => :right do | ||
32 | + = hidden_field_tag :project_id, @project.id, { :id => 'project_id' } | ||
33 | + = hidden_field_tag :status, params[:f] | ||
34 | + = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' } | ||
34 | 35 | ||
35 | - %hr | ||
36 | %ul#issues-table.unstyled= render "issues" | 36 | %ul#issues-table.unstyled= render "issues" |
37 | 37 | ||
38 | :javascript | 38 | :javascript |
app/views/issues/show.html.haml
@@ -14,6 +14,11 @@ | @@ -14,6 +14,11 @@ | ||
14 | = link_to edit_project_issue_path(@project, @issue), :class => "btn small" do | 14 | = link_to edit_project_issue_path(@project, @issue), :class => "btn small" do |
15 | Edit | 15 | Edit |
16 | 16 | ||
17 | +.back_link | ||
18 | + = link_to project_issues_path(@project) do | ||
19 | + ← To issues list | ||
20 | + | ||
21 | + | ||
17 | %hr | 22 | %hr |
18 | - if @issue.closed | 23 | - if @issue.closed |
19 | .alert-message.error Closed | 24 | .alert-message.error Closed |
app/views/keys/index.html.haml
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | 4 | ||
5 | %hr | 5 | %hr |
6 | 6 | ||
7 | -%div#keys-table{ :class => "update-data ui-box ui-box-small ui-box-big" } | 7 | +%div#keys-table |
8 | %ul.unstyled | 8 | %ul.unstyled |
9 | - @keys.each do |key| | 9 | - @keys.each do |key| |
10 | = render(:partial => 'show', :locals => {:key => key}) | 10 | = render(:partial => 'show', :locals => {:key => key}) |
app/views/layouts/_project_menu.html.haml
app/views/layouts/_projects_side.html.haml
@@ -4,16 +4,16 @@ | @@ -4,16 +4,16 @@ | ||
4 | You can create at least | 4 | You can create at least |
5 | = current_user.projects_limit | 5 | = current_user.projects_limit |
6 | projects. Click on button to add a new one | 6 | projects. Click on button to add a new one |
7 | - %hr | ||
8 | - = link_to new_project_path, :class => "btn small" do | ||
9 | - New Project » | 7 | + .link_holder |
8 | + = link_to new_project_path, :class => "" do | ||
9 | + New Project » | ||
10 | 10 | ||
11 | - if current_user.is_admin? | 11 | - if current_user.is_admin? |
12 | .widget | 12 | .widget |
13 | You have administrator privilegies. You can configure application following this button: | 13 | You have administrator privilegies. You can configure application following this button: |
14 | - %hr | ||
15 | - = link_to admin_root_path, :class => "btn small", :title => "Admin" do | ||
16 | - Visit Admin Area » | 14 | + .link_holder |
15 | + = link_to admin_root_path, :class => "", :title => "Admin" do | ||
16 | + Visit Admin Area » | ||
17 | 17 | ||
18 | - if current_user.projects.count > 0 | 18 | - if current_user.projects.count > 0 |
19 | = render "widgets/recent_projects" | 19 | = render "widgets/recent_projects" |
app/views/layouts/profile.html.haml
@@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
10 | = link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil | 10 | = link_to "Password & token", profile_password_path, :class => current_page?(:controller => "profile", :action => :password) ? "current" : nil |
11 | = link_to "Design", profile_design_path, :class => current_page?(:controller => "profile", :action => :design) ? "current" : nil | 11 | = link_to "Design", profile_design_path, :class => current_page?(:controller => "profile", :action => :design) ? "current" : nil |
12 | = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do | 12 | = link_to keys_path, :class => controller.controller_name == "keys" ? "current" : nil do |
13 | - Keys | 13 | + SSH Keys |
14 | .content | 14 | .content |
15 | .row | 15 | .row |
16 | .span12= yield | 16 | .span12= yield |
app/views/merge_requests/_merge_request.html.haml
1 | %li.wll | 1 | %li.wll |
2 | = image_tag gravatar_icon(merge_request.author_email), :class => "avatar" | 2 | = image_tag gravatar_icon(merge_request.author_email), :class => "avatar" |
3 | %span.update-author | 3 | %span.update-author |
4 | - %strong= link_to_merge_request_author(merge_request) | 4 | + %strong= merge_request.author_name |
5 | authored | 5 | authored |
6 | = time_ago_in_words(merge_request.created_at) | 6 | = time_ago_in_words(merge_request.created_at) |
7 | ago | 7 | ago |
app/views/merge_requests/index.html.haml
@@ -6,14 +6,21 @@ | @@ -6,14 +6,21 @@ | ||
6 | 6 | ||
7 | %hr | 7 | %hr |
8 | 8 | ||
9 | -%ul.pills | ||
10 | - %li{:class => ("active" if (params[:f] == "0" || !params[:f]))} | ||
11 | - = link_to project_merge_requests_path(@project, :f => 0) do | ||
12 | - Open | ||
13 | - %li{:class => ("active" if params[:f] == "2")} | ||
14 | - = link_to project_merge_requests_path(@project, :f => 2) do | ||
15 | - Closed | 9 | +.ui-box |
10 | + .title | ||
11 | + %ul.pills | ||
12 | + %li{:class => ("active" if (params[:f] == "0" || !params[:f]))} | ||
13 | + = link_to project_merge_requests_path(@project, :f => 0) do | ||
14 | + Open | ||
15 | + %li{:class => ("active" if params[:f] == "2")} | ||
16 | + = link_to project_merge_requests_path(@project, :f => 2) do | ||
17 | + Closed | ||
18 | + %li{:class => ("active" if params[:f] == "3")} | ||
19 | + = link_to project_merge_requests_path(@project, :f => 3) do | ||
20 | + To Me | ||
21 | + %li{:class => ("active" if params[:f] == "1")} | ||
22 | + = link_to project_merge_requests_path(@project, :f => 1) do | ||
23 | + All | ||
16 | 24 | ||
17 | -%hr | ||
18 | -%ul.unstyled= render @merge_requests | 25 | + %ul.unstyled= render @merge_requests |
19 | 26 |
app/views/merge_requests/show.html.haml
@@ -19,6 +19,9 @@ | @@ -19,6 +19,9 @@ | ||
19 | = link_to edit_project_merge_request_path(@project, @merge_request), :class => "btn small" do | 19 | = link_to edit_project_merge_request_path(@project, @merge_request), :class => "btn small" do |
20 | Edit | 20 | Edit |
21 | 21 | ||
22 | +.back_link | ||
23 | + = link_to project_merge_requests_path(@project) do | ||
24 | + ← To merge requests | ||
22 | %hr | 25 | %hr |
23 | - if @merge_request.closed | 26 | - if @merge_request.closed |
24 | .alert-message.error Closed | 27 | .alert-message.error Closed |
app/views/projects/show.html.haml
1 | = render "project_head" | 1 | = render "project_head" |
2 | %h3 | 2 | %h3 |
3 | = @project.name | 3 | = @project.name |
4 | + - if can? current_user, :download_code, @project | ||
5 | + = link_to "Download", archive_project_repository_path(@project), :class => "btn small right" | ||
6 | +.back_link | ||
7 | + = link_to projects_path do | ||
8 | + ← To projects list | ||
4 | %hr | 9 | %hr |
5 | .alert-message.block-message.warning | 10 | .alert-message.block-message.warning |
6 | .input | 11 | .input |
@@ -10,7 +15,8 @@ | @@ -10,7 +15,8 @@ | ||
10 | 15 | ||
11 | = simple_format @project.description | 16 | = simple_format @project.description |
12 | 17 | ||
13 | -%h5.cgray Recent Activity | ||
14 | -.content_list= render "feed" | 18 | +.ui-box |
19 | + %h5.cgray Recent Activity | ||
20 | + .content_list= render "feed" | ||
15 | 21 | ||
16 | 22 |
app/views/repositories/show.html.haml
@@ -6,6 +6,16 @@ | @@ -6,6 +6,16 @@ | ||
6 | 6 | ||
7 | 7 | ||
8 | %hr | 8 | %hr |
9 | +.entry | ||
10 | + %p | ||
11 | + Last commit was | ||
12 | + %small | ||
13 | + %code= @activities.first.commit.id.to_s[0..10] | ||
14 | + | ||
15 | + = time_ago_in_words(@activities.first.commit.committed_date) | ||
16 | + ago to | ||
17 | + = link_to project_commits_path(@project, :ref => @activities.first.head.name), :class => "visible_link" do | ||
18 | + %span.label= @activities.first.head.name | ||
9 | .alert-message.block-message.warning | 19 | .alert-message.block-message.warning |
10 | .input | 20 | .input |
11 | .input-prepend | 21 | .input-prepend |
@@ -13,20 +23,12 @@ | @@ -13,20 +23,12 @@ | ||
13 | = text_field_tag :project_clone, @project.url_to_repo, :class => "xlarge one_click_select git_clone_url" | 23 | = text_field_tag :project_clone, @project.url_to_repo, :class => "xlarge one_click_select git_clone_url" |
14 | 24 | ||
15 | 25 | ||
16 | -%p | ||
17 | - Last commit was | ||
18 | - %small | ||
19 | - %code= @activities.first.commit.id.to_s[0..10] | ||
20 | 26 | ||
21 | - = time_ago_in_words(@activities.first.commit.committed_date) | ||
22 | - ago to | ||
23 | - = link_to project_commits_path(@project, :ref => @activities.first.head.name), :class => "visible_link" do | ||
24 | - %span.label= @activities.first.head.name | 27 | +.ui-box |
28 | + %h5.cgray | ||
29 | + Recent Branches | ||
25 | 30 | ||
26 | -%h4.cgray | ||
27 | - Recent Branches | ||
28 | - | ||
29 | -%ul.unstyled | ||
30 | - - @activities.each do |update| | ||
31 | - = render "repositories/feed", :update => update, :project => @project | 31 | + %ul.unstyled |
32 | + - @activities.each do |update| | ||
33 | + = render "repositories/feed", :update => update, :project => @project | ||
32 | 34 |
app/views/team_members/show.html.haml
1 | - allow_admin = can? current_user, :admin_project, @project | 1 | - allow_admin = can? current_user, :admin_project, @project |
2 | - user = @team_member.user | 2 | - user = @team_member.user |
3 | -%div | ||
4 | - = link_to team_project_path(@project), :class => "btn right" do | ||
5 | - Team » | ||
6 | - | ||
7 | - .media-grid | ||
8 | - = link_to "#" do | ||
9 | - = image_tag gravatar_icon(user.email, 90), :class => "thumbnail" | ||
10 | - %h3.media_h= user.name | ||
11 | - | 3 | +.media-grid |
4 | + = link_to "#" do | ||
5 | + = image_tag gravatar_icon(user.email, 60), :class => "thumbnail", :width => 60 | ||
6 | + %h3.media_h | ||
7 | + = user.name | ||
8 | + %br | ||
9 | + %small= user.email | ||
10 | + | ||
11 | +.back_link | ||
12 | + = link_to team_project_path(@project), :class => "" do | ||
13 | + ← To team list | ||
14 | + | ||
15 | +%hr | ||
12 | %table.no-borders | 16 | %table.no-borders |
13 | %tr | 17 | %tr |
14 | %td Name | 18 | %td Name |
@@ -23,7 +27,10 @@ | @@ -23,7 +27,10 @@ | ||
23 | %td= @team_member.created_at.stamp("Aug 21, 2011") | 27 | %td= @team_member.created_at.stamp("Aug 21, 2011") |
24 | 28 | ||
25 | %tr | 29 | %tr |
26 | - %td Project Access | 30 | + %td |
31 | + Project Access | ||
32 | + (#{link_to "read more", help_permissions_path, :class => "vlink"}) | ||
33 | + | ||
27 | %td | 34 | %td |
28 | = form_for(@team_member, :as => :team_member, :url => project_team_member_path(@project, @team_member)) do |f| | 35 | = form_for(@team_member, :as => :team_member, :url => project_team_member_path(@project, @team_member)) do |f| |
29 | = f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, :class => "project-access-select", :disabled => !allow_admin | 36 | = f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, :class => "project-access-select", :disabled => !allow_admin |
app/views/widgets/_project_member.html.haml
@@ -3,20 +3,31 @@ | @@ -3,20 +3,31 @@ | ||
3 | .media-grid | 3 | .media-grid |
4 | %li | 4 | %li |
5 | = link_to project_team_member_path(@project, member), :title => current_user.name do | 5 | = link_to project_team_member_path(@project, member), :title => current_user.name do |
6 | - = image_tag gravatar_icon(current_user.email, 90), :class => "thumbnail" | ||
7 | - .row | ||
8 | - .span4 | ||
9 | - %h4 | ||
10 | - = truncate(current_user.name, :lenght => 24) | ||
11 | - - if @project.owner == current_user | ||
12 | - %span.label Project Owner | 6 | + = image_tag gravatar_icon(current_user.email, 60), :class => "thumbnail", :width => 60 |
7 | + %h4 | ||
8 | + Hi, | ||
9 | + = truncate current_user.first_name, :lenght => 24 | ||
10 | + ! | ||
11 | + %p | ||
12 | + - if @project.issues_enabled | ||
13 | + Assigned issues: | ||
14 | + = current_user.assigned_issues.count | ||
15 | + %br | ||
16 | + - if @project.merge_requests_enabled | ||
17 | + Assigned merge request: | ||
18 | + = current_user.assigned_merge_requests.count | ||
19 | + %br | ||
20 | + Your merge requests: | ||
21 | + = current_user.assigned_merge_requests.count | ||
22 | + .link_holder | ||
23 | + = link_to project_team_member_path(@project, member), :title => current_user.name do | ||
24 | + = "Access: #{member.project_access_human} »" | ||
13 | 25 | ||
14 | - .span3 | ||
15 | - %span.label= member.project_access_human | ||
16 | 26 | ||
17 | - - if can? current_user, :write_project, @project | 27 | + |
28 | +-#- if can? current_user, :write_project, @project | ||
29 | + .widget | ||
18 | - if @project.issues_enabled && @project.merge_requests_enabled | 30 | - if @project.issues_enabled && @project.merge_requests_enabled |
19 | - %hr | ||
20 | .span3 | 31 | .span3 |
21 | %p You have access to create new issue or merge request. | 32 | %p You have access to create new issue or merge request. |
22 | %div | 33 | %div |
app/views/widgets/_recent_projects.html.haml
spec/requests/snippets_spec.rb
@@ -21,7 +21,6 @@ describe "Snippets" do | @@ -21,7 +21,6 @@ describe "Snippets" do | ||
21 | 21 | ||
22 | it { should have_content(@snippet.title[0..10]) } | 22 | it { should have_content(@snippet.title[0..10]) } |
23 | it { should have_content(@snippet.project.name) } | 23 | it { should have_content(@snippet.project.name) } |
24 | - it { should have_content(@snippet.author.name) } | ||
25 | 24 | ||
26 | describe "Destroy" do | 25 | describe "Destroy" do |
27 | before do | 26 | before do |