lib/puffer/controller/auth.rb in puffer-0.0.32 vs lib/puffer/controller/auth.rb in puffer-0.1.0
- old
+ new
@@ -33,21 +33,13 @@
#
# In this case returner user model instance should respond to has_role?
# method, or you should properly redefine +has_puffer_access?+ See
# +has_puffer_access?+ source and docs.
def current_puffer_user
- @current_puffer_user ||= super rescue (PufferUser.find(session[:puffer_user_id]) if session[:puffer_user_id])
+ @current_puffer_user ||= super rescue (::Admin::SessionsController.model.to_adapter.find_first(:conditions => {:_id => session[:puffer_user_id]}) if session[:puffer_user_id])
end
- # Used in before_filter to prevent unauthorized access
- def require_puffer_user
- unless has_puffer_access?(puffer_namespace)
- redirect_to new_admin_session_url(:return_to => request.fullpath)
- return false
- end
- end
-
# This method is also part of auth system and it can be redefined at the
# ApplicationController.
#
# ex:
#
@@ -59,9 +51,21 @@
# current_puffer_user.send("#{namespace}?")
# end
# end
def has_puffer_access? namespace
super rescue (current_puffer_user && current_puffer_user.has_role?(namespace))
+ end
+
+ # Used in before_filter to prevent unauthorized access
+ def require_puffer_user
+ unless has_puffer_access?(puffer_namespace)
+ redirect_to new_admin_session_url(:return_to => request.fullpath)
+ return false
+ end
+ end
+
+ def redirect_back_or default
+ redirect_to(params[:return_to].presence || default)
end
end
end
\ No newline at end of file