diff options
Diffstat (limited to 'app/controllers/admin_controller.rb')
| -rw-r--r-- | app/controllers/admin_controller.rb | 48 |
1 files changed, 31 insertions, 17 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 1d1a1ca..9e8564e 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb | |||
| @@ -2,31 +2,46 @@ class AdminController < ApplicationController | |||
| 2 | 2 | ||
| 3 | # Private | 3 | # Private |
| 4 | 4 | ||
| 5 | before_filter :login_required | 5 | before_action :login_required |
| 6 | 6 | ||
| 7 | def index | 7 | def index |
| 8 | @drafts = Node.all( | 8 | @drafts = Node.where("draft_id IS NOT NULL") |
| 9 | :limit => 20, | 9 | .limit(50).order("updated_at desc") |
| 10 | :order => "updated_at desc", | 10 | |
| 11 | :conditions => ["draft_id IS NOT NULL"] | 11 | @drafts_count = Node.where("draft_id IS NOT NULL").count |
| 12 | ) | 12 | |
| 13 | @recent_changes = Node.all( | 13 | @recent_changes = Node.where( |
| 14 | :limit => 20, | 14 | "updated_at < ? AND updated_at > ? AND parent_id IS NOT NULL", |
| 15 | :order => "updated_at desc", | 15 | Time.now, Time.now - 14.days |
| 16 | :conditions => [ | 16 | ).limit(50).order("updated_at desc") |
| 17 | "updated_at < ? AND updated_at > ? AND parent_id IS NOT NULL", Time.now, Time.now-14.days | 17 | |
| 18 | ] | 18 | all_nodes = Node.root.self_and_descendants |
| 19 | ) | 19 | @sitemap_depth = {} |
| 20 | Node.each_with_level(all_nodes) do |node, level| | ||
| 21 | @sitemap_depth[node.id] = level | ||
| 22 | end | ||
| 23 | @sitemap = all_nodes.to_a.sort! { |node1,node2| node1.lft <=> node2.lft }.delete_if { |node| node.update? } | ||
| 24 | |||
| 25 | @mypages = Page.where("user_id = ? or editor_id = ?", @current_user, @current_user) | ||
| 26 | |||
| 27 | @mynodes = Node.joins(:pages) | ||
| 28 | .where("pages.user_id = ? or pages.editor_id = ?", @current_user, @current_user) | ||
| 29 | .order("updated_at desc") | ||
| 30 | .uniq.first(50) | ||
| 20 | end | 31 | end |
| 21 | 32 | ||
| 22 | def search | 33 | def search |
| 23 | @results = Node.search params[:search_term] | 34 | @results = Node.search params[:search_term], :per_page => 1000 |
| 24 | 35 | ||
| 25 | respond_to do |format| | 36 | respond_to do |format| |
| 26 | format.html | 37 | format.html do |
| 38 | render :template => 'admin/search_results.html' | ||
| 39 | end | ||
| 27 | format.js do | 40 | format.js do |
| 28 | render( :json => @results.map do |node| | 41 | render( :json => @results.map do |node| |
| 29 | {:id => node.id, :title => node.title, :edit_path => node_path(node)} | 42 | if node |
| 43 | {:id => node.id, :title => node.title, :edit_path => node_path(node)} | ||
| 44 | end | ||
| 30 | end | 45 | end |
| 31 | ) | 46 | ) |
| 32 | 47 | ||
| @@ -46,7 +61,6 @@ class AdminController < ApplicationController | |||
| 46 | render :partial => 'admin/menu_search_results' | 61 | render :partial => 'admin/menu_search_results' |
| 47 | end | 62 | end |
| 48 | 63 | ||
| 49 | |||
| 50 | format.js do | 64 | format.js do |
| 51 | render( :json => @results.map do |node| | 65 | render( :json => @results.map do |node| |
| 52 | {:node_id => node.id, :title => node.title, :unique_name => node.unique_name} | 66 | {:node_id => node.id, :title => node.title, :unique_name => node.unique_name} |
