OSDN Git Service

Wiki pages page
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 9 Aug 2012 04:34:29 +0000 (07:34 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Thu, 9 Aug 2012 04:34:29 +0000 (07:34 +0300)
app/controllers/wikis_controller.rb
app/views/wikis/history.html.haml
app/views/wikis/pages.html.haml [new file with mode: 0644]
app/views/wikis/show.html.haml
config/routes.rb

index 1fa3803..993abcf 100644 (file)
@@ -6,6 +6,10 @@ class WikisController < ApplicationController
   before_filter :authorize_admin_wiki!, :only => :destroy
   layout "project"
   
+  def pages
+    @wikis = @project.wikis.group(:slug).order("created_at")
+  end
+
   def show
     if params[:old_page_id]
       @wiki = @project.wikis.find(params[:old_page_id])
index 2e46a90..f82c681 100644 (file)
@@ -1,4 +1,6 @@
-%h3.page_title Versions
+%h3.page_title
+  %span.cgray History for
+  = @wikis.last.title
 %br
 %table.admin-table
   %thead
diff --git a/app/views/wikis/pages.html.haml b/app/views/wikis/pages.html.haml
new file mode 100644 (file)
index 0000000..c846211
--- /dev/null
@@ -0,0 +1,18 @@
+%h3.page_title All Pages
+%br
+%table.admin-table
+  %thead
+    %tr
+      %th Title
+      %th slug
+      %th created by
+  %tbody
+    - @wikis.each_with_index do |wiki_page, i|
+      %tr
+        %td
+          = link_to wiki_page.title, project_wiki_path(@project, wiki_page, :old_page_id => wiki_page.id)
+          (#{time_ago_in_words(wiki_page.created_at)}
+          ago)
+        %td= wiki_page.slug
+        %td= wiki_page.user.name
+
index 3e92275..579aeb4 100644 (file)
@@ -1,6 +1,8 @@
-%h3
+%h3.page_title
   = @wiki.title
   %span.right
+    = link_to pages_project_wikis_path(@project), :class => "btn small grouped" do
+      Pages
     - if can? current_user, :write_wiki, @project
       = link_to history_project_wiki_path(@project, @wiki), :class => "btn small grouped" do
         History
index 11430ba..7ece304 100644 (file)
@@ -98,6 +98,10 @@ Gitlab::Application.routes.draw do
     end
 
     resources :wikis, :only => [:show, :edit, :destroy, :create] do
+      collection do
+        get :pages
+      end
+
       member do
         get "history"
       end