From 24265260b216e2be8d29d913c4d0396408981612 Mon Sep 17 00:00:00 2001 From: hukl Date: Fri, 11 Sep 2009 13:08:27 +0200 Subject: enhanced LockedByAnotherUser exception which now includes a message showing the last modified time. Closes #13 --- app/controllers/nodes_controller.rb | 4 ++-- app/models/node.rb | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/controllers/nodes_controller.rb b/app/controllers/nodes_controller.rb index 538e2f6..e442bd2 100644 --- a/app/controllers/nodes_controller.rb +++ b/app/controllers/nodes_controller.rb @@ -49,8 +49,8 @@ class NodesController < ApplicationController def edit begin @draft = @node.find_or_create_draft( current_user ) - rescue LockedByAnotherUser - flash[:error] = "Page is locked by another user who is working on it!" + rescue LockedByAnotherUser => e + flash[:error] = e.message redirect_to :back end end diff --git a/app/models/node.rb b/app/models/node.rb index fa9d519..b23e43b 100644 --- a/app/models/node.rb +++ b/app/models/node.rb @@ -64,7 +64,11 @@ class Node < ActiveRecord::Base draft.save draft elsif draft && self.lock_owner != current_user - raise LockedByAnotherUser + raise( + LockedByAnotherUser, + "Page is locked by another user who is working on it! " \ + "Last modification: #{draft.updated_at.to_s(:db)}" + ) else lock_for! current_user create_new_draft current_user -- cgit v1.3