diff --git a/app/controllers/wiki_page_versions_controller.rb b/app/controllers/wiki_page_versions_controller.rb
index 0dbb6ceb9..7645e87d4 100644
--- a/app/controllers/wiki_page_versions_controller.rb
+++ b/app/controllers/wiki_page_versions_controller.rb
@@ -1,6 +1,14 @@
class WikiPageVersionsController < ApplicationController
+ respond_to :json, :html, :xml
+
def index
@search = WikiPageVersion.search(params[:search])
@wiki_page_versions = @search.paginate(:page => params[:page])
+ respond_with(@wiki_page_versions)
+ end
+
+ def show
+ @wiki_page_version = WikiPageVersion.find(params[:id])
+ respond_with(@wiki_page_version)
end
end
diff --git a/app/controllers/wiki_pages_controller.rb b/app/controllers/wiki_pages_controller.rb
index be86cd838..5e223e7ef 100644
--- a/app/controllers/wiki_pages_controller.rb
+++ b/app/controllers/wiki_pages_controller.rb
@@ -1,5 +1,5 @@
class WikiPagesController < ApplicationController
- respond_to :html, :xml, :json
+ respond_to :html, :xml, :json, :js
before_filter :member_only, :except => [:index, :show]
before_filter :moderator_only, :only => [:destroy]
before_filter :normalize_search_params, :only => [:index]
diff --git a/app/models/wiki_page_version.rb b/app/models/wiki_page_version.rb
index 199ea5464..00a5cb728 100644
--- a/app/models/wiki_page_version.rb
+++ b/app/models/wiki_page_version.rb
@@ -1,6 +1,6 @@
class WikiPageVersion < ActiveRecord::Base
belongs_to :wiki_page
- belongs_to :updater
+ belongs_to :updater, :class_name => "User"
def updater_name
User.id_to_name(updater_id)
diff --git a/app/views/wiki_page_versions/index.html.erb b/app/views/wiki_page_versions/index.html.erb
index 6a543d2f1..857c8c3d9 100644
--- a/app/views/wiki_page_versions/index.html.erb
+++ b/app/views/wiki_page_versions/index.html.erb
@@ -1,70 +1,36 @@
-<%= render :partial => "sidebar" %>
+
+
+ <%= render :partial => "wiki_pages/sidebar" %>
-
- <% form_tag({:action => "diff"}, :method => :get) do %>
- <%= hidden_field_tag "title", params[:title] %>
-
-
-
-
- | From |
- To |
- IP Address |
- Last edited |
-
-
-
-
- | <%= submit_tag "Compare" %> |
-
-
-
- <% @wiki_pages.each_with_index do |wiki_page, i| %>
-
- | <%= radio_button_tag "from", wiki_page.version, i==1, :id => "from_#{wiki_page.version}" %> |
- <%= radio_button_tag "to", wiki_page.version, i==0, :id => "to_#{wiki_page.version}" %> |
-
- <% if @current_user.is_admin? %>
- <%= h wiki_page.ip_addr %>
- <% end %>
- |
- <%= link_to wiki_page.updated_at.strftime("%m/%d/%Y %I:%M"), :action => "show", :title => wiki_page.title, :version => wiki_page.version %> by <%= link_to h(wiki_page.author), :controller => "user", :action => "show", :id => wiki_page.user_id %> |
-
- <% end %>
-
-
- <% end %>
-
-
+
+
+
+
+ | Title |
+ IP Address |
+ Last edited |
+
+
+
+ <% @wiki_page_versions.each do |wiki_page_version| %>
+
+ | <%= wiki_page_version.title %> |
+
+ <% if CurrentUser.is_admin? %>
+ <%= wiki_page_version.updater_ip_addr %>
+ <% end %>
+ |
+
+ <%= link_to wiki_page_version.updated_at.strftime("%m/%d/%Y %I:%M"), wiki_page_version_path(wiki_page_version) %>
+ by
+ <%= link_to wiki_page_version.updater.name, user_path(wiki_page_version.updater) %>
+ |
+
+ <% end %>
+
+
+
+
-
-<%= render :partial => "footer" %>
+<%= render :partial => "wiki_pages/secondary_links" %>
diff --git a/app/views/wiki_page_versions/show.html.erb b/app/views/wiki_page_versions/show.html.erb
new file mode 100644
index 000000000..5e6f3e6e7
--- /dev/null
+++ b/app/views/wiki_page_versions/show.html.erb
@@ -0,0 +1,15 @@
+
+
+ <%= render "wiki_pages/sidebar" %>
+
+
+ <%= @wiki_page_version.pretty_title %> (<%= time_ago_in_words(@wiki_page_version.updated_at) %> ago)
+
+
+ <%= format_text(@wiki_page_version.body) %>
+
+
+
+
+
+<%= render "wiki_pages/secondary_links" %>
\ No newline at end of file
diff --git a/app/views/wiki_pages/_secondary_links.html.erb b/app/views/wiki_pages/_secondary_links.html.erb
index f44474e5c..3d2838196 100644
--- a/app/views/wiki_pages/_secondary_links.html.erb
+++ b/app/views/wiki_pages/_secondary_links.html.erb
@@ -14,5 +14,9 @@
<% end %>
<% end %>
<% end %>
+ <% if @wiki_page_version %>
+
|
+
<%= link_to "Current", wiki_page_path(@wiki_page_version.wiki_page_id) %>
+ <% end %>
<% end %>
diff --git a/app/views/wiki_pages/_sidebar.html.erb b/app/views/wiki_pages/_sidebar.html.erb
index cfa2cf00d..77445d8ea 100644
--- a/app/views/wiki_pages/_sidebar.html.erb
+++ b/app/views/wiki_pages/_sidebar.html.erb
@@ -6,5 +6,5 @@
<% end %>
- <%= render "recent_changes" %>
+ <%= render "wiki_pages/recent_changes" %>
diff --git a/app/views/wiki_pages/destroy.js.erb b/app/views/wiki_pages/destroy.js.erb
new file mode 100644
index 000000000..4b2e753f2
--- /dev/null
+++ b/app/views/wiki_pages/destroy.js.erb
@@ -0,0 +1 @@
+window.location.href = "/wiki_pages";
diff --git a/config/routes.rb b/config/routes.rb
index 58cd8e641..149d02c6b 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -66,7 +66,7 @@ Danbooru::Application.routes.draw do
put :revert
end
end
- resources :wiki_page_versions, :only => [:index]
+ resources :wiki_page_versions, :only => [:index, :show]
match '/favorites/:id' => 'favorites#create', :via => :post, :as => "favorite"
match '/favorites/:id' => 'favorites#destroy', :via => :delete, :as => "favorite"
diff --git a/public/stylesheets/compiled/default.css b/public/stylesheets/compiled/default.css
index 1da000fac..c784caead 100644
--- a/public/stylesheets/compiled/default.css
+++ b/public/stylesheets/compiled/default.css
@@ -396,12 +396,13 @@ div#artists div#show {
font-style: italic; }
/*** Wiki Pages ***/
+div#c-wiki-pages span.version {
+ color: #AAA; }
+div#c-wiki-pages h1 {
+ margin-bottom: 0.5em; }
div#c-wiki-pages div#a-edit textarea, div#c-wiki-pages div#a-new textarea {
width: 500px;
height: 40em; }
-div#c-wiki-pages div#a-edit div#preview h1:first-child, div#c-wiki-pages div#a-new div#preview h1:first-child {
- color: #333;
- margin-bottom: 0.5em; }
/*** Users ***/
div.users div.new {
diff --git a/public/stylesheets/src/default.scss b/public/stylesheets/src/default.scss
index 5a64127ac..3d01d6361 100644
--- a/public/stylesheets/src/default.scss
+++ b/public/stylesheets/src/default.scss
@@ -665,6 +665,14 @@ div#artists {
/*** Wiki Pages ***/
div#c-wiki-pages {
+ span.version {
+ color: #AAA;
+ }
+
+ h1 {
+ margin-bottom: 0.5em;
+ }
+
div#a-edit, div#a-new {
textarea {
width: 500px;
@@ -672,10 +680,6 @@ div#c-wiki-pages {
}
div#preview {
- h1:first-child {
- color: #333;
- margin-bottom: 0.5em;
- }
}
}
}