constellation-authorization 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,16 +76,44 @@ module Constellation
76
76
  # Handle redirection within permit if authorization is denied.
77
77
  def handle_redirection
78
78
  return if not self.respond_to?(:redirect_to)
79
-
80
- # Store url in session for return if this is available from
81
- # authentication
82
- send(Rails.application.config.constellation.authorization.store_location_method) if respond_to? Rails.application.config.constellation.authorization.store_location_method
79
+ # Store url in session for return if this is available from authentication
80
+ send(Rails.application.config.constellation.authorization.store_location_method) if respond_to?(Rails.application.config.constellation.authorization.store_location_method)
83
81
  if @current_user && @current_user != :false
84
- flash[Rails.application.config.constellation.authorization.permission_denied_flash] = @options[:permission_denied_message] || t('constellation.authorization.permission_denied')
85
- redirect_to @options[:permission_denied_redirection] || Rails.application.config.constellation.authorization.permission_denied_redirection
82
+ respond_to do |format|
83
+ format.html do
84
+ if self.respond_to? :handle_permission_denied_redirection_for_html
85
+ handle_permission_denied_redirection_for_html
86
+ else
87
+ flash[Rails.application.config.constellation.authorization.permission_denied_flash] = @options[:permission_denied_message] || t('constellation.authorization.permission_denied')
88
+ redirect_to @options[:permission_denied_redirection] || (self.respond_to?(:permission_denied_redirection) ? permission_denied_redirection : Rails.application.config.constellation.authorization.permission_denied_redirection)
89
+ end
90
+ end
91
+ format.all do
92
+ if self.respond_to? :"handle_permission_denied_redirection_for_#{params[:format]}"
93
+ self.send :"handle_permission_denied_redirection_for_#{params[:format]}"
94
+ else
95
+ render :text => nil, :status => :forbidden
96
+ end
97
+ end
98
+ end
86
99
  else
87
- flash[Rails.application.config.constellation.authorization.login_required_flash] = @options[:login_required_message] || t('constellation.authorization.login_required')
88
- redirect_to @options[:login_required_redirection] || Rails.application.config.constellation.authorization.login_required_redirection
100
+ respond_to do |format|
101
+ format.html do
102
+ if self.respond_to? :handle_login_required_redirection_for_html
103
+ handle_login_required_redirection_for_html
104
+ else
105
+ flash[Rails.application.config.constellation.authorization.login_required_flash] = @options[:login_required_message] || t('constellation.authorization.login_required')
106
+ redirect_to @options[:login_required_redirection] || (self.respond_to?(:login_required_redirection) ? login_required_redirection : Rails.application.config.constellation.authorization.login_required_redirection)
107
+ end
108
+ end
109
+ format.all do
110
+ if self.respond_to? :"handle_login_required_redirection_for_#{params[:format]}"
111
+ self.send :"handle_login_required_redirection_for_#{params[:format]}"
112
+ else
113
+ render :text => nil, :status => :unauthorized
114
+ end
115
+ end
116
+ end
89
117
  end
90
118
  false # Want to short-circuit the filters
91
119
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 2
7
7
  - 0
8
- - 3
9
- version: 2.0.3
8
+ - 4
9
+ version: 2.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Bill Katz
@@ -16,7 +16,7 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2010-05-04 00:00:00 -07:00
19
+ date: 2010-05-06 00:00:00 -07:00
20
20
  default_executable:
21
21
  dependencies: []
22
22