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] %> - - - - - - - - - - - - - - - - - <% @wiki_pages.each_with_index do |wiki_page, i| %> - - - - - - - <% end %> - -
FromToIP AddressLast edited
<%= submit_tag "Compare" %>
<%= 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 %> - - +
+ + + + + + + + + + <% @wiki_page_versions.each do |wiki_page_version| %> + + + + + + <% end %> + +
TitleIP AddressLast edited
<%= 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) %> +
+
+
- -<%= 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; - } } } }