Commit a685624d27a99a4d7ee9d607fcf2ccbc85eb7fc7

Authored by Dmitriy Zaporozhets
1 parent 753ecbdc

Merge wiki, wall & snippets under one tab - writeboards

app/assets/stylesheets/sections/notes.scss
@@ -284,6 +284,6 @@ ul.notes { @@ -284,6 +284,6 @@ ul.notes {
284 margin-top: 8px; 284 margin-top: 8px;
285 margin-left: 15px; 285 margin-left: 15px;
286 @extend .pull-left; 286 @extend .pull-left;
287 - @extend .span4; 287 + width: 35%;
288 } 288 }
289 } 289 }
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
1 -%div.wall_page  
2 - = render "notes/reversed_notes_with_form" 1 +.row
  2 + .span3
  3 + = render 'writeboards/nav'
  4 + .span9
  5 + %div.wall_page
  6 + = render "notes/reversed_notes_with_form"
app/views/snippets/edit.html.haml
1 -= render "projects/project_head"  
2 = render "snippets/form" 1 = render "snippets/form"
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
1 -= render "projects/project_head"  
2 = render "snippets/form" 1 = render "snippets/form"
app/views/snippets/show.html.haml
1 -= render "projects/project_head"  
2 -  
3 %h3.page_title 1 %h3.page_title
4 = @snippet.title 2 = @snippet.title
5 %small= @snippet.file_name 3 %small= @snippet.file_name
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
app/views/writeboards/_nav.html.haml 0 → 100644
@@ -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"