From 180b5feba092db1339f7bb3217e91f0b22239bc5 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Mon, 27 Jul 2026 02:53:21 +0200 Subject: Surface held locks in the dashboard's work-in-progress widget A lock with no draft or autosave behind it was invisible to everyone including its holder, until the next editor collided with it. work_in_progress now admits those nodes, and the widget names the holder rather than the last editor on any locked row. Also flips the ordering to stalest-first, so a backlog reads as a queue rather than a feed, and gives the heading a real total: the count came from the already-limited relation and could never exceed five. --- app/controllers/admin_controller.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'app/controllers/admin_controller.rb') diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index d9cf1be6..2b35fd20 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -5,7 +5,9 @@ class AdminController < ApplicationController before_action :login_required def index - @drafts = Node.drafts_and_autosaves(current_user_id: current_user.id).limit(5) + scope = Node.work_in_progress(current_user_id: current_user.id) + @drafts_total = scope.reorder(nil).count + @drafts = scope.includes(:head, :draft, :lock_owner).limit(5) @actions = NodeAction.order(:occurred_at => :desc, :id => :desc).limit(5) end -- cgit v1.3