Index: checkout.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/checkout/checkout.module,v retrieving revision 1.11.2.11 diff -u -p -r1.11.2.11 checkout.module --- checkout.module 24 Apr 2009 13:08:57 -0000 1.11.2.11 +++ checkout.module 17 Jun 2009 17:16:44 -0000 @@ -212,15 +212,22 @@ function checkout_handle_request($uid) { // Check whether to release a previously edited node. if ($previous_nid && (!$current_nid || $current_nid != $previous_nid)) { - checkout_release($previous_nid, $uid); + // Validate user has permission to release lock. + $item = menu_get_item($referer); + if ($item && $item['access']){ + checkout_release($previous_nid, $uid); + } } // Check whether to lock the current node. if ($current_nid && (!$previous_nid || $previous_nid != $current_nid)) { - // Try to lock the node. - if (!checkout_node($current_nid, $uid)) { - // Node already locked: send back to refering page. - drupal_goto(referer_uri()); + // Validate user has permission to lock the node. + $item = menu_get_item($_GET['q']); + if ($item && $item['access']){ + if (!checkout_node($current_nid, $uid)) { + // Node already locked: send back to refering page. + drupal_goto(referer_uri()); + } } } }