<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -675,12 +675,13 @@ module Hobo
 
     def prepare_transition(name, options)
       key = options.delete(:key) || params[:key]
-      
-      self.this = find_instance do |record|
-        # The block allows us to perform actions on the records before the permission check
-        record.exempt_from_edit_checks = true
-        record.lifecycle.provided_key = key
-      end
+
+      # we don't use find_instance here, as it fails for key_holder transitions on objects that Guest can't view
+      record = model.find(params[:id])
+      record.exempt_from_edit_checks = true
+      record.lifecycle.provided_key = key
+      self.this = record
+
       this.lifecycle.find_transition(name, current_user) or raise Hobo::PermissionDeniedError
     end
 </diff>
      <filename>hobo/lib/hobo/model_controller.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ab65df06cb2cd668e8e4fe1560e5dea0d0574035</id>
    </parent>
  </parents>
  <author>
    <name>Matt Jones</name>
    <email>al2o3cr@gmail.com</email>
  </author>
  <url>http://github.com/tablatom/hobo/commit/a188066a4c8d8fc75568a14c9cc01e12c0907c38</url>
  <id>a188066a4c8d8fc75568a14c9cc01e12c0907c38</id>
  <committed-date>2009-11-07T19:39:12-08:00</committed-date>
  <authored-date>2009-11-07T19:39:12-08:00</authored-date>
  <message>make non-public models work with key_holder transitions</message>
  <tree>c332537dde48aba5b209adfcb908dcce1dbbf047</tree>
  <committer>
    <name>Matt Jones</name>
    <email>al2o3cr@gmail.com</email>
  </committer>
</commit>
