summaryrefslogtreecommitdiff
path: root/app/controllers/admin_controller.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-13 23:33:11 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-13 23:33:11 +0200
commit8eab68f2c5a3c126e2fec2ecdfa7ace87ce0937b (patch)
treef446ebc26a7707c7b64a937aa51a155df146c80a /app/controllers/admin_controller.rb
parent42714c697273a7117c6b355fab26c8c35e336ad1 (diff)
parentcdf5d9941ca866d437612d2f863eac6eb0b3db12 (diff)
Merge branch 'erdgeist-revive-events'
Diffstat (limited to 'app/controllers/admin_controller.rb')
-rw-r--r--app/controllers/admin_controller.rb82
1 files changed, 41 insertions, 41 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index d671384..37fd78b 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -1,74 +1,74 @@
1class AdminController < ApplicationController 1class AdminController < ApplicationController
2 2
3 # Private 3 # Private
4 4
5 before_action :login_required 5 before_action :login_required
6 6
7 def index 7 def index
8 @drafts = Node.where("draft_id IS NOT NULL") 8 @drafts = Node.drafts_and_autosaves(current_user_id: current_user.id).limit(5)
9 .limit(50).order("updated_at desc") 9 @recent_changes = Node.recently_changed.limit(5)
10 10 end
11 @drafts_count = Node.where("draft_id IS NOT NULL").count
12
13 @recent_changes = Node.where(
14 "updated_at < ? AND updated_at > ? AND parent_id IS NOT NULL",
15 Time.now, Time.now - 14.days
16 ).limit(50).order("updated_at desc")
17
18 all_nodes = Node.root.self_and_descendants
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 11
27 @mynodes = Node.joins(:pages) 12 def conventions
28 .where("pages.user_id = ? or pages.editor_id = ?", @current_user, @current_user) 13 @node_kinds = CccConventions::NODE_KINDS
29 .order("updated_at desc")
30 .uniq.first(50)
31 end 14 end
32 15
33 def search 16 def search
34 @results = Node.search params[:search_term], :per_page => 1000 17 @results = Node.editor_search(params[:search_term])
35 18
36 respond_to do |format| 19 respond_to do |format|
37 format.html do 20 format.html do
38 render :template => 'admin/search_results' 21 render :template => 'admin/search_results'
39 end 22 end
40 format.js do 23 format.js do
41 render( :json => @results.map do |node| 24 render( :json => @results.map do |node|
42 if node 25 if node
43 { :id => node.id, :title => node.title, :unique_name => node.unique_name, :node_path => node_path(node) } 26 { :id => node.id, :title => node.title, :unique_name => node.unique_name, :node_path => node_path(node) }
44 end 27 end
45 end 28 end
46 ) 29 )
47 30
48 end 31 end
32 end
33 end
34
35 def dashboard_search
36 term = params[:search_term]
37
38 if term.blank?
39 render json: { tags: [], nodes: [] }
40 return
49 end 41 end
42
43 render json: {
44 tags: ActsAsTaggableOn::Tag.named_like(term).limit(5).map { |tag|
45 { name: tag.name, tag_path: tags_nodes_path(tags: tag.name) }
46 },
47 nodes: Node.editor_search(term).limit(10).map { |node|
48 { node_id: node.id, title: node.title, unique_name: node.unique_name, node_path: node_path(node) }
49 }
50 }
50 end 51 end
51 52
52 def menu_search 53 def menu_search
53 if params[:search_term] == "Root" 54 if params[:search_term] == "Root"
54 @results = [Node.root] 55 @results = [Node.root]
55 else 56 else
56 @results = Node.search params[:search_term] 57 @results = Node.editor_search(params[:search_term])
57 end 58 end
58 59
59 respond_to do |format| 60 respond_to do |format|
60 format.html do 61 format.html do
61 render :partial => 'admin/menu_search_results' 62 render :partial => 'admin/menu_search_results'
62 end 63 end
63 64
64 format.js do 65 format.js do
65 render( :json => @results.map do |node| 66 render( :json => @results.map do |node|
66 {:node_id => node.id, :title => node.title, :unique_name => node.unique_name} 67 {:node_id => node.id, :title => node.title, :unique_name => node.unique_name, :node_path => node_path(node)}
67 end 68 end
68 ) 69 )
69 70
70 end 71 end
71 end 72 end
72 end 73 end
73
74end 74end