Commit c7933d7a78433f026bd4344667f6d4b270bfef15
1 parent
1afd93ee
Exists in
master
and in
4 other branches
Bootstrap: team
Showing
12 changed files
with
106 additions
and
115 deletions
Show diff stats
app/assets/stylesheets/commits.css.scss
@@ -113,3 +113,24 @@ ul.bordered-list li:last-child { border:none } | @@ -113,3 +113,24 @@ ul.bordered-list li:last-child { border:none } | ||
113 | tr.line_notes_row { | 113 | tr.line_notes_row { |
114 | border-bottom:1px solid #DDD; | 114 | border-bottom:1px solid #DDD; |
115 | } | 115 | } |
116 | + | ||
117 | +/** FLASH **/ | ||
118 | +#flash_container { | ||
119 | + height:45px; | ||
120 | + position:fixed; | ||
121 | + z-index:10001; | ||
122 | + top:0px; | ||
123 | + width:100%; | ||
124 | + margin-bottom:15px; | ||
125 | + overflow:hidden; | ||
126 | + background:white; | ||
127 | + cursor:pointer; | ||
128 | + border-bottom:1px solid #777; | ||
129 | + | ||
130 | + h4 { | ||
131 | + color:#444; | ||
132 | + font-size:22px; | ||
133 | + padding-top:5px; | ||
134 | + margin:2px; | ||
135 | + } | ||
136 | +} |
app/assets/stylesheets/common.scss
@@ -138,6 +138,15 @@ img.avatar { | @@ -138,6 +138,15 @@ img.avatar { | ||
138 | padding-right:5px; | 138 | padding-right:5px; |
139 | } | 139 | } |
140 | 140 | ||
141 | +.media-grid { | ||
142 | + h3, h2 , h4 { | ||
143 | + &.media_h { | ||
144 | + padding-left:10px; | ||
145 | + float:left; | ||
146 | + } | ||
147 | + } | ||
148 | +} | ||
149 | + | ||
141 | @import "reset_bootstrap.scss"; | 150 | @import "reset_bootstrap.scss"; |
142 | @import "top_panel.scss"; | 151 | @import "top_panel.scss"; |
143 | @import "projects.css.scss"; | 152 | @import "projects.css.scss"; |
app/assets/stylesheets/style.scss
@@ -483,26 +483,6 @@ body, button, input, select, textarea { | @@ -483,26 +483,6 @@ body, button, input, select, textarea { | ||
483 | border-width: 1px; | 483 | border-width: 1px; |
484 | } | 484 | } |
485 | 485 | ||
486 | -/** FLASH **/ | ||
487 | -#flash_container { | ||
488 | - height:45px; | ||
489 | - position:fixed; | ||
490 | - z-index:10001; | ||
491 | - top:0px; | ||
492 | - width:100%; | ||
493 | - margin-bottom:15px; | ||
494 | - overflow:hidden; | ||
495 | - background:white; | ||
496 | - cursor:pointer; | ||
497 | - border-bottom:1px solid #777; | ||
498 | - | ||
499 | - h4 { | ||
500 | - color:#444; | ||
501 | - font-size:22px; | ||
502 | - padding-top:5px; | ||
503 | - margin:2px; | ||
504 | - } | ||
505 | -} | ||
506 | 486 | ||
507 | 487 | ||
508 | .errors_holder { | 488 | .errors_holder { |
app/controllers/team_members_controller.rb
@@ -40,7 +40,7 @@ class TeamMembersController < ApplicationController | @@ -40,7 +40,7 @@ class TeamMembersController < ApplicationController | ||
40 | @team_member.destroy | 40 | @team_member.destroy |
41 | 41 | ||
42 | respond_to do |format| | 42 | respond_to do |format| |
43 | - format.html { redirect_to root_path } | 43 | + format.html { redirect_to team_project_path(@project) } |
44 | format.js { render :nothing => true } | 44 | format.js { render :nothing => true } |
45 | end | 45 | end |
46 | end | 46 | end |
app/views/commits/show.html.haml
1 | .commit | 1 | .commit |
2 | %span.commit-info | 2 | %span.commit-info |
3 | - = link_to tree_project_ref_path(@project, @commit.id), :class => "btn" do | 3 | + = link_to tree_project_ref_path(@project, @commit.id), :class => "btn right" do |
4 | Browse Code » | 4 | Browse Code » |
5 | - if @commit.author_email | 5 | - if @commit.author_email |
6 | = image_tag gravatar_icon(@commit.author_email), :class => "left", :width => 40, :style => "padding-right:5px;" | 6 | = image_tag gravatar_icon(@commit.author_email), :class => "left", :width => 40, :style => "padding-right:5px;" |
app/views/issues/index.html.haml
1 | -- if can? current_user, :write_issue, @project | ||
2 | - = content_for :sidebar_top_block do | ||
3 | - - if current_user.can_create_project? | ||
4 | - .alert-message.block-message.error | ||
5 | - You are able to create an issue. Click on button to add a new one | ||
6 | - = link_to new_project_issue_path(@project), :class => "btn small", :title => "New Issue", :remote => true do | ||
7 | - New Issue | ||
8 | - | ||
9 | - if current_user.private_token | 1 | - if current_user.private_token |
10 | = content_for :rss_icon do | 2 | = content_for :rss_icon do |
11 | .rss-icon | 3 | .rss-icon |
@@ -14,7 +6,11 @@ | @@ -14,7 +6,11 @@ | ||
14 | 6 | ||
15 | 7 | ||
16 | .issues_content | 8 | .issues_content |
17 | - %h3 Issues | 9 | + %h3 |
10 | + Issues | ||
11 | + - if can? current_user, :write_issue, @project | ||
12 | + = link_to new_project_issue_path(@project), :class => "right btn small", :title => "New Issue", :remote => true do | ||
13 | + New Issue | ||
18 | %hr | 14 | %hr |
19 | %div#issues-table-holder | 15 | %div#issues-table-holder |
20 | %ul.pills.left | 16 | %ul.pills.left |
app/views/layouts/_flash.html.haml
@@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
10 | $("#flash_container").click(function(){ | 10 | $("#flash_container").click(function(){ |
11 | $(this).slideUp("slow"); | 11 | $(this).slideUp("slow"); |
12 | }); | 12 | }); |
13 | - setTimeout("hideFlash()",2000); | 13 | + setTimeout("hideFlash()",3000); |
14 | }); | 14 | }); |
15 | 15 | ||
16 | function hideFlash(){ | 16 | function hideFlash(){ |
app/views/layouts/_project_side_right.html.haml
1 | %aside.project-right | 1 | %aside.project-right |
2 | - - if content_for? :sidebar_top_block | ||
3 | - = yield :sidebar_top_block | 2 | + - if content_for? :sidebar_all |
3 | + = render :sidebar_all | ||
4 | - else | 4 | - else |
5 | - - if current_user.can_create_project? | ||
6 | - .alert-message.block-message.info | ||
7 | - You can create at least | ||
8 | - = current_user.projects_limit | ||
9 | - projects. Click on button to add a new one | ||
10 | - = link_to new_project_path, :class => "btn small" do | ||
11 | - New Project | 5 | + - if content_for? :sidebar_top_block |
6 | + = yield :sidebar_top_block | ||
7 | + - else | ||
8 | + - if can? current_user, :write_project, @project | ||
9 | + %h4 Report | ||
10 | + %ul | ||
11 | + %li | ||
12 | + = link_to new_project_issue_path(@project), :title => "New Issue", :class => "" do | ||
13 | + New Issue » | ||
14 | + %li | ||
15 | + = link_to new_project_merge_request_path(@project), :title => "New Merge Request", :class => "" do | ||
16 | + New Merge Request » | ||
12 | 17 | ||
13 | - %h4 | ||
14 | - Recent Projects: | ||
15 | - %ul | ||
16 | - - current_user.projects.order("id DESC").limit(5).each do |project| | ||
17 | - %li | ||
18 | - = link_to project_path(project) do | ||
19 | - = project.name | 18 | + %h4 |
19 | + Recent Projects: | ||
20 | + %ul | ||
21 | + - current_user.projects.order("id DESC").limit(5).each do |project| | ||
22 | + %li | ||
23 | + = link_to project_path(project) do | ||
24 | + = project.name | ||
20 | 25 | ||
21 | - %h4 | ||
22 | - Recent Issues: | ||
23 | - %ul | ||
24 | - - current_user.assigned_issues.order("id DESC").limit(5).each do |issue| | ||
25 | - %li | ||
26 | - = link_to project_issue_path(issue.project, issue) do | ||
27 | - = truncate issue.title | 26 | + %h4 |
27 | + Recent Issues: | ||
28 | + %ul | ||
29 | + - current_user.assigned_issues.order("id DESC").limit(5).each do |issue| | ||
30 | + %li | ||
31 | + = link_to project_issue_path(issue.project, issue) do | ||
32 | + = truncate issue.title | ||
28 | 33 | ||
29 | 34 | ||
30 | - %h4 | ||
31 | - Recent Requests: | ||
32 | - %ul | ||
33 | - - current_user.assigned_merge_requests.order("id DESC").limit(5).each do |issue| | ||
34 | - %li | ||
35 | - = link_to project_merge_request_path(issue.project, issue) do | ||
36 | - = truncate issue.title | 35 | + %h4 |
36 | + Recent Requests: | ||
37 | + %ul | ||
38 | + - current_user.assigned_merge_requests.order("id DESC").limit(5).each do |issue| | ||
39 | + %li | ||
40 | + = link_to project_merge_request_path(issue.project, issue) do | ||
41 | + = truncate issue.title | ||
37 | 42 | ||
38 | 43 |
app/views/notes/_per_line_form.html.haml
1 | %table{:style => "display:none;"} | 1 | %table{:style => "display:none;"} |
2 | %tr.per_line_form | 2 | %tr.per_line_form |
3 | %td{:colspan => 3 } | 3 | %td{:colspan => 3 } |
4 | - %div | 4 | + %div.well |
5 | = form_for [@project, @note], :remote => "true", :multipart => true do |f| | 5 | = form_for [@project, @note], :remote => "true", :multipart => true do |f| |
6 | + %h3 Leave a note | ||
6 | -if @note.errors.any? | 7 | -if @note.errors.any? |
7 | - .errors.error | 8 | + .alert-message.block-message.error |
8 | - @note.errors.full_messages.each do |msg| | 9 | - @note.errors.full_messages.each do |msg| |
9 | %div= msg | 10 | %div= msg |
10 | 11 | ||
11 | = f.hidden_field :noteable_id | 12 | = f.hidden_field :noteable_id |
12 | = f.hidden_field :noteable_type | 13 | = f.hidden_field :noteable_type |
13 | = f.hidden_field :line_code | 14 | = f.hidden_field :line_code |
14 | - | ||
15 | - %div | ||
16 | - = f.label :note | ||
17 | - %cite.cgray markdown supported | ||
18 | - %br | ||
19 | - %br | ||
20 | - = f.text_area :note, :size => 255 | ||
21 | - | ||
22 | - .clear | ||
23 | - %br | ||
24 | - = f.submit 'Add note', :class => "positive-button", :id => "submit_note" | ||
25 | - .right | ||
26 | - = link_to "Close", "#", :class => "grey-button hide-button" | 15 | + = f.text_area :note, :size => 255 |
16 | + .prepend-top-10 | ||
17 | + = f.submit 'Add note', :class => "btn primary", :id => "submit_note" | ||
18 | + .right | ||
19 | + = link_to "Close", "#", :class => "btn hide-button" | ||
27 | 20 | ||
28 | :javascript | 21 | :javascript |
29 | $(function(){ | 22 | $(function(){ |
app/views/projects/_team.html.haml
1 | -%table.no-borders#team-table | ||
2 | - %thead | ||
3 | - %th Name | ||
4 | - %th Project | ||
5 | - %th Repository | ||
6 | - - if can? current_user, :admin_team_member, @project | ||
7 | - %th Actions | 1 | +%ul.media-grid |
8 | - @project.users_projects.each do |up| | 2 | - @project.users_projects.each do |up| |
9 | = render(:partial => 'team_members/show', :locals => {:member => up}) | 3 | = render(:partial => 'team_members/show', :locals => {:member => up}) |
10 | 4 | ||
@@ -15,5 +9,7 @@ | @@ -15,5 +9,7 @@ | ||
15 | }); | 9 | }); |
16 | }) | 10 | }) |
17 | 11 | ||
12 | + /* | ||
18 | $('.delete-team-member').live('ajax:success', function() { | 13 | $('.delete-team-member').live('ajax:success', function() { |
19 | $(this).closest('tr').fadeOut(); }); | 14 | $(this).closest('tr').fadeOut(); }); |
15 | + */ |
app/views/team_members/_show.html.haml
1 | - user = member.user | 1 | - user = member.user |
2 | - allow_admin = can? current_user, :admin_project, @project | 2 | - allow_admin = can? current_user, :admin_project, @project |
3 | -%tr{:id => dom_id(member)} | ||
4 | - %td | ||
5 | - = link_to image_tag(gravatar_icon(user.email), :class => "left", :width => 40, :style => "padding:0 5px;"), project_team_member_path(@project, member) | 3 | +%li{:id => dom_id(member)} |
4 | + = link_to project_team_member_path(@project, member) do | ||
5 | + = image_tag gravatar_icon(user.email, 90), :class => "thumbnail" | ||
6 | + .row | ||
7 | + .span6 | ||
8 | + %h4 | ||
9 | + = truncate(user.name, :lenght => 24) | ||
10 | + %small= truncate user.email, :lenght => 24 | ||
6 | 11 | ||
7 | - = link_to truncate(user.name, :lenght => 24), project_team_member_path(@project, member) | ||
8 | - %br | ||
9 | - .cgray{:style => "padding-top:10px;"}= truncate user.email, :lenght => 24 | ||
10 | - %td | 12 | + .span3 |
11 | = form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f| | 13 | = form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f| |
12 | - = f.select :project_access, options_for_select(Project.access_options, member.project_access), {}, :class => "project-access-select", :disabled => !allow_admin | ||
13 | - %td | 14 | + = f.select :project_access, options_for_select(Project.access_options, member.project_access), {}, :class => "medium project-access-select", :disabled => !allow_admin |
15 | + .span3 | ||
14 | = form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f| | 16 | = form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f| |
15 | - = f.select :repo_access, options_for_select(Repository.access_options, member.repo_access), {}, :class => "repo-access-select", :disabled => !allow_admin | ||
16 | - - if allow_admin | ||
17 | - %td | ||
18 | - = link_to 'Cancel', project_team_member_path(:project_id => @project, :id => member.id), :confirm => 'Are you sure?', :method => :delete, :class => "grey-button negative delete-team-member", :remote => true | ||
19 | - | 17 | + = f.select :repo_access, options_for_select(Repository.access_options, member.repo_access), {}, :class => "medium repo-access-select", :disabled => !allow_admin |
18 | + - if @project.owner == user | ||
19 | + %span.label Project Owner |
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 | 3 | %div |
4 | - %span.entity-info | ||
5 | - = link_to team_project_path(@project) do | ||
6 | - .entity-button | ||
7 | - Team | ||
8 | - %i | 4 | + = link_to team_project_path(@project), :class => "btn right" do |
5 | + Team » | ||
9 | 6 | ||
10 | - = image_tag gravatar_icon(user.email), :class => "left", :width => 40, :style => "padding-right:5px;" | ||
11 | - %span.commit-title | ||
12 | - %strong | ||
13 | - = user.name | ||
14 | - %span.commit-author | ||
15 | - %strong | ||
16 | - = user.email | ||
17 | - %hr | ||
18 | - %br | 7 | + .media-grid |
8 | + = link_to "#" do | ||
9 | + = image_tag gravatar_icon(user.email, 90), :class => "thumbnail" | ||
10 | + %h3.media_h= user.name | ||
19 | 11 | ||
20 | %table.no-borders | 12 | %table.no-borders |
21 | %tr | 13 | %tr |
@@ -59,9 +51,8 @@ | @@ -59,9 +51,8 @@ | ||
59 | %td= user.twitter | 51 | %td= user.twitter |
60 | 52 | ||
61 | - if can? current_user, :admin_project, @project | 53 | - if can? current_user, :admin_project, @project |
62 | - .merge-tabs | ||
63 | - .right | ||
64 | - = link_to 'Remove from team', [@project, @issue], :confirm => 'Are you sure?', :method => :delete, :class => "red-button" | 54 | + .actions |
55 | + = link_to 'Remove from team', project_team_member_path(:project_id => @project, :id => @team_member.id), :confirm => 'Are you sure?', :method => :delete, :class => "btn danger" | ||
65 | 56 | ||
66 | :javascript | 57 | :javascript |
67 | $(function(){ | 58 | $(function(){ |