Class: Hyrax::SingleUseLinksController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- Hyrax::SingleUseLinksController
- Includes:
- Blacklight::SearchHelper
- Defined in:
- app/controllers/hyrax/single_use_links_controller.rb
Instance Method Summary collapse
- #create_download ⇒ Object
- #create_show ⇒ Object
- #deny_link_access(exception) ⇒ Object
- #destroy ⇒ Object
- #index ⇒ Object
Instance Method Details
#create_download ⇒ Object
21 22 23 24 |
# File 'app/controllers/hyrax/single_use_links_controller.rb', line 21 def create_download @su = SingleUseLink.create item_id: params[:id], path: hyrax.download_path(id: params[:id]) render plain: hyrax.download_single_use_link_url(@su.download_key) end |
#create_show ⇒ Object
26 27 28 29 |
# File 'app/controllers/hyrax/single_use_links_controller.rb', line 26 def create_show @su = SingleUseLink.create(item_id: params[:id], path: asset_show_path) render plain: hyrax.show_single_use_link_url(@su.download_key) end |
#deny_link_access(exception) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'app/controllers/hyrax/single_use_links_controller.rb', line 12 def deny_link_access(exception) if current_user&.persisted? redirect_to main_app.root_url, alert: "You do not have sufficient privileges to create links to this document" else session["user_return_to"] = request.url redirect_to new_user_session_url, alert: exception. end end |
#destroy ⇒ Object
36 37 38 39 |
# File 'app/controllers/hyrax/single_use_links_controller.rb', line 36 def destroy SingleUseLink.find_by_download_key(params[:link_id]).destroy head :ok end |
#index ⇒ Object
31 32 33 34 |
# File 'app/controllers/hyrax/single_use_links_controller.rb', line 31 def index links = SingleUseLink.where(item_id: params[:id]).map { |link| show_presenter.new(link) } render partial: 'hyrax/file_sets/single_use_link_rows', locals: { single_use_links: links } end |