lib/site_controller_extensions.rb in radiant-reader-extension-3.0.0.rc4 vs lib/site_controller_extensions.rb in radiant-reader-extension-3.0.0
- old
+ new
@@ -1,33 +1,22 @@
module SiteControllerExtensions
def self.included(base)
base.class_eval {
# NB. to control access without disabling the cache we have overridden Page.cache?
- # to return false for any page that has a group association.
+ # to return false for any page that has a group association.
def find_page_with_group_check(url)
page = find_page_without_group_check(url)
- raise ReaderError::AccessDenied if page && !page.visible_to?(current_reader)
+ if page
+ raise ReaderError::LoginRequired, t("reader_extension.page_is_private_please_log_in") if page.restricted? && !current_reader
+ raise ReaderError::ActivationRequired, t("reader_extension.page_is_private_please_log_in") if page.restricted? && !current_reader.activated?
+ raise ReaderError::AccessDenied, t("reader_extension.page_access_not_given") unless page.visible_to?(current_reader)
+ end
page
end
-
- def show_page_with_group_check
- show_page_without_group_check
- rescue ReaderError::AccessDenied
- if current_reader
- flash[:error] = t("reader_extension.access_denied")
- redirect_to reader_permission_denied_url
- else
- flash[:explanation] = t("reader_extension.page_not_public")
- flash[:error] = t("reader_extension.please_log_in")
- store_location
- redirect_to reader_login_url
- end
- end
-
alias_method_chain :find_page, :group_check
- alias_method_chain :show_page, :group_check
+
}
end
end