diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-22 14:38:46 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-22 14:38:46 +0200 |
| commit | 6893270420c13cf1a0af158cf3d4cc71cd7e2005 (patch) | |
| tree | 74f4eb03ffa6d12c09ce22b468a4aafa7c10bc61 | |
| parent | 2366af57461cd7e76028960a444672a3ce0c3634 (diff) | |
Retire nodes#recent, superseded by the action log
| -rw-r--r-- | app/controllers/nodes_controller.rb | 4 | ||||
| -rw-r--r-- | app/models/node.rb | 7 | ||||
| -rw-r--r-- | app/views/nodes/_recent_change_item.html.erb | 9 | ||||
| -rw-r--r-- | app/views/nodes/recent.html.erb | 7 | ||||
| -rw-r--r-- | config/routes.rb | 1 | ||||
| -rw-r--r-- | test/controllers/nodes_controller_test.rb | 6 | ||||
| -rw-r--r-- | test/models/node_test.rb | 24 |
7 files changed, 0 insertions, 58 deletions
diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb index 6caa827..9c84420 100644 --- a/app/controllers/nodes_controller.rb +++ b/app/controllers/nodes_controller.rb | |||
| @@ -223,10 +223,6 @@ class NodesController < ApplicationController | |||
| 223 | @nodes = index_matching(Node.drafts_and_autosaves) | 223 | @nodes = index_matching(Node.drafts_and_autosaves) |
| 224 | end | 224 | end |
| 225 | 225 | ||
| 226 | def recent | ||
| 227 | @nodes = index_matching(Node.recently_changed) | ||
| 228 | end | ||
| 229 | |||
| 230 | def mine | 226 | def mine |
| 231 | base = Node.joins(:pages) | 227 | base = Node.joins(:pages) |
| 232 | .where("pages.user_id = ? or pages.editor_id = ?", current_user, current_user) | 228 | .where("pages.user_id = ? or pages.editor_id = ?", current_user, current_user) |
diff --git a/app/models/node.rb b/app/models/node.rb index 0796ea4..746b7c7 100644 --- a/app/models/node.rb +++ b/app/models/node.rb | |||
| @@ -533,13 +533,6 @@ class Node < ApplicationRecord | |||
| 533 | throw :abort | 533 | throw :abort |
| 534 | end | 534 | end |
| 535 | 535 | ||
| 536 | def self.recently_changed | ||
| 537 | includes(:head).where( | ||
| 538 | "pages.updated_at < ? AND pages.updated_at > ? AND nodes.parent_id IS NOT NULL", | ||
| 539 | Time.now, Time.now - 14.days | ||
| 540 | ).order("pages.updated_at desc").references(:head) | ||
| 541 | end | ||
| 542 | |||
| 543 | protected | 536 | protected |
| 544 | def lock_for! current_user | 537 | def lock_for! current_user |
| 545 | self.lock_owner = current_user | 538 | self.lock_owner = current_user |
diff --git a/app/views/nodes/_recent_change_item.html.erb b/app/views/nodes/_recent_change_item.html.erb deleted file mode 100644 index 754a775..0000000 --- a/app/views/nodes/_recent_change_item.html.erb +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | <li> | ||
| 2 | <div> | ||
| 3 | <%= link_to title_for_node(node), node_path(node) %> | ||
| 4 | <span class="field_hint"><%= link_to_path("#{node.unique_name} ↗", node.unique_name) %></span> | ||
| 5 | </div> | ||
| 6 | <span class="dashboard_widget_meta"> | ||
| 7 | <%= (editor = node_head_editor(node)) ? t("last_edited_by", editor: editor) : t("last_edited") %>, <%= relative_time_phrase(node.head.updated_at) %> | ||
| 8 | </span> | ||
| 9 | </li> | ||
diff --git a/app/views/nodes/recent.html.erb b/app/views/nodes/recent.html.erb deleted file mode 100644 index d256253..0000000 --- a/app/views/nodes/recent.html.erb +++ /dev/null | |||
| @@ -1,7 +0,0 @@ | |||
| 1 | <h1>Recently changed</h1> | ||
| 2 | |||
| 3 | <%= will_paginate @nodes %> | ||
| 4 | <ul id="recent_changes_full_list"> | ||
| 5 | <%= render partial: "nodes/recent_change_item", collection: @nodes, as: :node %> | ||
| 6 | </ul> | ||
| 7 | <%= will_paginate @nodes %> | ||
diff --git a/config/routes.rb b/config/routes.rb index 20602f7..6223a40 100644 --- a/config/routes.rb +++ b/config/routes.rb | |||
| @@ -41,7 +41,6 @@ Cccms::Application.routes.draw do | |||
| 41 | get 'tags/:tags', action: :tags, as: :tags, constraints: { tags: /[^\/]+/ } | 41 | get 'tags/:tags', action: :tags, as: :tags, constraints: { tags: /[^\/]+/ } |
| 42 | get :parameterize_preview | 42 | get :parameterize_preview |
| 43 | get :drafts | 43 | get :drafts |
| 44 | get :recent | ||
| 45 | get :mine | 44 | get :mine |
| 46 | get :chapters | 45 | get :chapters |
| 47 | get :sitemap | 46 | get :sitemap |
diff --git a/test/controllers/nodes_controller_test.rb b/test/controllers/nodes_controller_test.rb index ddc4565..b8f9278 100644 --- a/test/controllers/nodes_controller_test.rb +++ b/test/controllers/nodes_controller_test.rb | |||
| @@ -514,12 +514,6 @@ class NodesControllerTest < ActionController::TestCase | |||
| 514 | assert_includes assigns(:nodes), chaostreff_node | 514 | assert_includes assigns(:nodes), chaostreff_node |
| 515 | end | 515 | end |
| 516 | 516 | ||
| 517 | test "recent combined with a search term does not raise an ambiguous column error" do | ||
| 518 | login_as :quentin | ||
| 519 | get :recent, params: { :q => "Zombies" } | ||
| 520 | assert_response :success | ||
| 521 | end | ||
| 522 | |||
| 523 | test "drafts combined with a search term does not raise an ambiguous column error" do | 517 | test "drafts combined with a search term does not raise an ambiguous column error" do |
| 524 | login_as :quentin | 518 | login_as :quentin |
| 525 | get :drafts, params: { :q => "Zombies" } | 519 | get :drafts, params: { :q => "Zombies" } |
diff --git a/test/models/node_test.rb b/test/models/node_test.rb index d7e4dd0..ba38340 100644 --- a/test/models/node_test.rb +++ b/test/models/node_test.rb | |||
| @@ -546,30 +546,6 @@ class NodeTest < ActiveSupport::TestCase | |||
| 546 | assert result.index(mine) < result.index(someone_elses_newer) | 546 | assert result.index(mine) < result.index(someone_elses_newer) |
| 547 | end | 547 | end |
| 548 | 548 | ||
| 549 | test "recently_changed includes a node whose head was recently published" do | ||
| 550 | node = Node.root.children.create!(:slug => "recent_changed_published") | ||
| 551 | find_or_create_draft(node, @user1) | ||
| 552 | node.autosave!({:title => "v1"}, @user1) | ||
| 553 | node.save_draft!(@user1) | ||
| 554 | node.publish_draft! | ||
| 555 | |||
| 556 | assert_includes Node.recently_changed, node | ||
| 557 | end | ||
| 558 | |||
| 559 | test "recently_changed excludes a node only touched by locking or unlocking after an old publish" do | ||
| 560 | node = Node.root.children.create!(:slug => "recent_changed_lock_only") | ||
| 561 | find_or_create_draft(node, @user1) | ||
| 562 | node.autosave!({:title => "v1"}, @user1) | ||
| 563 | node.save_draft!(@user1) | ||
| 564 | node.publish_draft! | ||
| 565 | node.head.update_column(:updated_at, 20.days.ago) | ||
| 566 | |||
| 567 | node.lock_for_editing!(@user1) | ||
| 568 | node.unlock! | ||
| 569 | |||
| 570 | assert_not_includes Node.recently_changed, node | ||
| 571 | end | ||
| 572 | |||
| 573 | test "autosave! carries over the current related assets to the newly created autosave row" do | 549 | test "autosave! carries over the current related assets to the newly created autosave row" do |
| 574 | node = Node.root.children.create!(:slug => "autosave_asset_carryover_test") | 550 | node = Node.root.children.create!(:slug => "autosave_asset_carryover_test") |
| 575 | user = User.find_by_login("quentin") | 551 | user = User.find_by_login("quentin") |
