Commit a685624d27a99a4d7ee9d607fcf2ccbc85eb7fc7
1 parent
753ecbdc
Exists in
master
and in
4 other branches
Merge wiki, wall & snippets under one tab - writeboards
Showing
14 changed files
with
128 additions
and
99 deletions
Show diff stats
app/assets/stylesheets/sections/notes.scss
app/helpers/tab_helper.rb
@@ -73,11 +73,19 @@ module TabHelper | @@ -73,11 +73,19 @@ module TabHelper | ||
73 | end | 73 | end |
74 | 74 | ||
75 | def project_tab_class | 75 | def project_tab_class |
76 | - [:files, :edit].each do |action| | 76 | + return "active" if current_page?(controller: "projects", action: :edit, id: @project) |
77 | + | ||
78 | + if ['services', 'hooks', 'deploy_keys', 'team_members'].include? controller.controller_name | ||
79 | + "active" | ||
80 | + end | ||
81 | + end | ||
82 | + | ||
83 | + def project_writeboards_tab_class | ||
84 | + [:files, :wall].each do |action| | ||
77 | return "active" if current_page?(controller: "projects", action: action, id: @project) | 85 | return "active" if current_page?(controller: "projects", action: action, id: @project) |
78 | end | 86 | end |
79 | 87 | ||
80 | - if ['snippets', 'services', 'hooks', 'deploy_keys', 'team_members'].include? controller.controller_name | 88 | + if ['wikis', 'snippets'].include? controller.controller_name |
81 | "active" | 89 | "active" |
82 | end | 90 | end |
83 | end | 91 | end |
app/views/hooks/index.html.haml
@@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
18 | .input | 18 | .input |
19 | = f.text_field :url, class: "text_field xxlarge" | 19 | = f.text_field :url, class: "text_field xxlarge" |
20 | | 20 | |
21 | - = f.submit "Add Web Hook", class: "btn btn-primary" | 21 | + = f.submit "Add Web Hook", class: "btn btn-create" |
22 | %hr | 22 | %hr |
23 | 23 | ||
24 | -if @hooks.any? | 24 | -if @hooks.any? |
app/views/layouts/project_resource.html.haml
@@ -35,17 +35,11 @@ | @@ -35,17 +35,11 @@ | ||
35 | Merge Requests | 35 | Merge Requests |
36 | %span.count.merge_counter= @project.merge_requests.opened.count | 36 | %span.count.merge_counter= @project.merge_requests.opened.count |
37 | 37 | ||
38 | - - if @project.wall_enabled | ||
39 | - = nav_link(path: 'projects#wall') do | ||
40 | - = link_to 'Wall', wall_project_path(@project) | ||
41 | - | ||
42 | - - if @project.wiki_enabled | ||
43 | - = nav_link(controller: :wikis) do | ||
44 | - = link_to 'Wiki', project_wiki_path(@project, :index) | 38 | + = nav_link(html_options: {class: "#{project_writeboards_tab_class}"}) do |
39 | + = link_to 'Writeboards', project_wiki_path(@project, :index) | ||
45 | 40 | ||
46 | - if can? current_user, :admin_project, @project | 41 | - if can? current_user, :admin_project, @project |
47 | = nav_link(html_options: {class: "#{project_tab_class}"}) do | 42 | = nav_link(html_options: {class: "#{project_tab_class}"}) do |
48 | = link_to edit_project_path(@project), class: "stat-tab tab " do | 43 | = link_to edit_project_path(@project), class: "stat-tab tab " do |
49 | Settings | 44 | Settings |
50 | - | ||
51 | .content= yield | 45 | .content= yield |
app/views/projects/files.html.haml
1 | -= render "project_head" | ||
2 | -- unless @notes.empty? | ||
3 | - %table | ||
4 | - %thead | ||
5 | - %tr | ||
6 | - %th File name | ||
7 | - %th | 1 | +.row |
2 | + .span3 | ||
3 | + = render 'writeboards/nav' | ||
4 | + .span9 | ||
5 | + - unless @notes.empty? | ||
6 | + %table | ||
7 | + %thead | ||
8 | + %tr | ||
9 | + %th File name | ||
10 | + %th | ||
8 | 11 | ||
9 | - - @notes.each do |note| | ||
10 | - %tr | ||
11 | - %td | ||
12 | - = link_to note.attachment.secure_url, target: "_blank" do | ||
13 | - = image_tag gravatar_icon(note.author_email), class: "avatar s24" | ||
14 | - = note.attachment_identifier | ||
15 | - %td | ||
16 | - Added | ||
17 | - = time_ago_in_words(note.created_at) | ||
18 | - ago | ||
19 | -- else | ||
20 | - %p.slead All files attached to project wall, issues etc will be displayed here | 12 | + - @notes.each do |note| |
13 | + %tr | ||
14 | + %td | ||
15 | + = link_to note.attachment.secure_url, target: "_blank" do | ||
16 | + = image_tag gravatar_icon(note.author_email), class: "avatar s24" | ||
17 | + = note.attachment_identifier | ||
18 | + %td | ||
19 | + Added | ||
20 | + = time_ago_in_words(note.created_at) | ||
21 | + ago | ||
22 | + - else | ||
23 | + %p.slead All files attached to project wall, issues etc will be displayed here | ||
21 | 24 | ||
22 | 25 |
app/views/projects/wall.html.haml
app/views/snippets/edit.html.haml
app/views/snippets/index.html.haml
1 | -= render "projects/project_head" | 1 | +.row |
2 | + .span3 | ||
3 | + = render 'writeboards/nav' | ||
4 | + .span9 | ||
5 | + %h3.page_title | ||
6 | + Snippets | ||
7 | + %small share code pastes with others out of git repository | ||
2 | 8 | ||
3 | -%h3.page_title | ||
4 | - Snippets | ||
5 | - %small share code pastes with others out of git repository | ||
6 | - | ||
7 | - - if can? current_user, :write_snippet, @project | ||
8 | - = link_to new_project_snippet_path(@project), class: "btn btn-small add_new pull-right", title: "New Snippet" do | ||
9 | - Add new snippet | ||
10 | -%br | ||
11 | -%table | ||
12 | - %thead | ||
13 | - %tr | ||
14 | - %th Title | ||
15 | - %th File Name | ||
16 | - %th Expires At | ||
17 | - = render @snippets | ||
18 | - - if @snippets.empty? | ||
19 | - %tr | ||
20 | - %td{colspan: 3} | ||
21 | - %h3.nothing_here_message Nothing here. | 9 | + - if can? current_user, :write_snippet, @project |
10 | + = link_to new_project_snippet_path(@project), class: "btn btn-small add_new pull-right", title: "New Snippet" do | ||
11 | + Add new snippet | ||
12 | + %br | ||
13 | + %table | ||
14 | + %thead | ||
15 | + %tr | ||
16 | + %th Title | ||
17 | + %th File Name | ||
18 | + %th Expires At | ||
19 | + = render @snippets | ||
20 | + - if @snippets.empty? | ||
21 | + %tr | ||
22 | + %td{colspan: 3} | ||
23 | + %h3.nothing_here_message Nothing here. |
app/views/snippets/new.html.haml
app/views/snippets/show.html.haml
app/views/wikis/edit.html.haml
@@ -5,4 +5,4 @@ | @@ -5,4 +5,4 @@ | ||
5 | .pull-right | 5 | .pull-right |
6 | - if can? current_user, :admin_wiki, @project | 6 | - if can? current_user, :admin_wiki, @project |
7 | = link_to project_wiki_path(@project, @wiki), confirm: "Are you sure you want to delete this page?", method: :delete, class: "btn btn-small btn-remove" do | 7 | = link_to project_wiki_path(@project, @wiki), confirm: "Are you sure you want to delete this page?", method: :delete, class: "btn btn-small btn-remove" do |
8 | - Delete this page | ||
9 | \ No newline at end of file | 8 | \ No newline at end of file |
9 | + Delete this page |
app/views/wikis/pages.html.haml
1 | -%h3.page_title All Pages | ||
2 | -%br | ||
3 | -%table | ||
4 | - %thead | ||
5 | - %tr | ||
6 | - %th Title | ||
7 | - %th Slug | ||
8 | - %th Last updated | ||
9 | - %th Updated by | ||
10 | - %tbody | ||
11 | - - @wiki_pages.each do |wiki_page| | ||
12 | - %tr | ||
13 | - %td | ||
14 | - %strong= link_to wiki_page.title, project_wiki_path(@project, wiki_page) | ||
15 | - %td= wiki_page.slug | ||
16 | - %td | ||
17 | - = wiki_page.created_at.to_s(:short) do | ||
18 | - (#{time_ago_in_words(wiki_page.created_at)} | ||
19 | - ago) | ||
20 | - %td= link_to_member(@project, wiki_page.user) | 1 | +.row |
2 | + .span3 | ||
3 | + = render 'writeboards/nav' | ||
4 | + .span9 | ||
5 | + %h3.page_title All Pages | ||
6 | + %br | ||
7 | + %table | ||
8 | + %thead | ||
9 | + %tr | ||
10 | + %th Title | ||
11 | + %th Slug | ||
12 | + %th Last updated | ||
13 | + %th Updated by | ||
14 | + %tbody | ||
15 | + - @wiki_pages.each do |wiki_page| | ||
16 | + %tr | ||
17 | + %td | ||
18 | + %strong= link_to wiki_page.title, project_wiki_path(@project, wiki_page) | ||
19 | + %td= wiki_page.slug | ||
20 | + %td | ||
21 | + = wiki_page.created_at.to_s(:short) do | ||
22 | + (#{time_ago_in_words(wiki_page.created_at)} | ||
23 | + ago) | ||
24 | + %td= link_to_member(@project, wiki_page.user) |
app/views/wikis/show.html.haml
1 | -%h3.page_title | ||
2 | - = @wiki.title | ||
3 | - %span.pull-right | ||
4 | - = link_to pages_project_wikis_path(@project), class: "btn btn-small grouped" do | ||
5 | - Pages | ||
6 | - - if can? current_user, :write_wiki, @project | ||
7 | - = link_to history_project_wiki_path(@project, @wiki), class: "btn btn-small grouped" do | ||
8 | - History | ||
9 | - = link_to edit_project_wiki_path(@project, @wiki), class: "btn btn-small grouped" do | ||
10 | - %i.icon-edit | ||
11 | - Edit | ||
12 | -%br | ||
13 | -- if @wiki != @most_recent_wiki | ||
14 | - .warning_message | ||
15 | - This is an old version of this page. | ||
16 | - You can view the #{link_to "most recent version", project_wiki_path(@project, @wiki)} or browse the #{link_to "history", history_project_wiki_path(@project, @wiki)}. | 1 | +.row |
2 | + .span3 | ||
3 | + = render 'writeboards/nav' | ||
4 | + .span9 | ||
5 | + %h3.page_title | ||
6 | + = @wiki.title | ||
7 | + %span.pull-right | ||
8 | + = link_to pages_project_wikis_path(@project), class: "btn btn-small grouped" do | ||
9 | + Pages | ||
10 | + - if can? current_user, :write_wiki, @project | ||
11 | + = link_to history_project_wiki_path(@project, @wiki), class: "btn btn-small grouped" do | ||
12 | + History | ||
13 | + = link_to edit_project_wiki_path(@project, @wiki), class: "btn btn-small grouped" do | ||
14 | + %i.icon-edit | ||
15 | + Edit | ||
16 | + %br | ||
17 | + - if @wiki != @most_recent_wiki | ||
18 | + .warning_message | ||
19 | + This is an old version of this page. | ||
20 | + You can view the #{link_to "most recent version", project_wiki_path(@project, @wiki)} or browse the #{link_to "history", history_project_wiki_path(@project, @wiki)}. | ||
17 | 21 | ||
18 | -.file_holder | ||
19 | - .file_content.wiki | ||
20 | - = preserve do | ||
21 | - = markdown @wiki.content | 22 | + .file_holder |
23 | + .file_content.wiki | ||
24 | + = preserve do | ||
25 | + = markdown @wiki.content | ||
22 | 26 | ||
23 | -%p.time Last edited by #{link_to_member @project, @wiki.user}, #{time_ago_in_words @wiki.created_at} ago | 27 | + %p.time Last edited by #{link_to_member @project, @wiki.user}, #{time_ago_in_words @wiki.created_at} ago |
@@ -0,0 +1,14 @@ | @@ -0,0 +1,14 @@ | ||
1 | +%ul.nav.nav-pills.nav-stacked | ||
2 | + - if @project.wiki_enabled | ||
3 | + = nav_link(controller: 'wikis') do | ||
4 | + = link_to 'Wiki', project_wiki_path(@project, :index) | ||
5 | + | ||
6 | + - if @project.wall_enabled | ||
7 | + = nav_link(path: 'projects#wall') do | ||
8 | + = link_to 'Wall', wall_project_path(@project) | ||
9 | + | ||
10 | + = nav_link(path: 'projects#files') do | ||
11 | + = link_to 'Attachments', files_project_path(@project), class: "files-tab tab" | ||
12 | + | ||
13 | + = nav_link(controller: :snippets) do | ||
14 | + = link_to 'Snippets', project_snippets_path(@project), class: "snippets-tab tab" |