Class: Hyrax::FileSetsController

Inherits:
ApplicationController
  • Object
show all
Includes:
Blacklight::AccessControls::Catalog, Blacklight::Base, Breadcrumbs, WorkflowsHelper
Defined in:
app/controllers/hyrax/file_sets_controller.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from WorkflowsHelper

#workflow_restriction?

Methods included from Breadcrumbs

#build_breadcrumbs, #default_trail, #trail_from_referer

Instance Attribute Details

#file_setObject Also known as: curation_concern

A little bit of explanation, CanCan(Can) sets the @file_set via the .load_and_authorize_resource method. However the interface for various CurationConcern modules leverages the #curation_concern method Thus we have file_set and curation_concern that are aliases for each other.



32
33
34
# File 'app/controllers/hyrax/file_sets_controller.rb', line 32

def file_set
  @file_set
end

Instance Method Details

#citationObject

GET /files/:id/citation



86
# File 'app/controllers/hyrax/file_sets_controller.rb', line 86

def citation; end

#destroyObject

DELETE /concern/file_sets/:id



57
58
59
60
61
62
63
# File 'app/controllers/hyrax/file_sets_controller.rb', line 57

def destroy
  guard_for_workflow_restriction_on!(parent: parent)

  delete(file_set: curation_concern)
  redirect_to [main_app, parent],
              notice: view_context.t('hyrax.file_sets.asset_deleted_flash.message')
end

#editObject

GET /concern/file_sets/:id



42
43
44
# File 'app/controllers/hyrax/file_sets_controller.rb', line 42

def edit
  initialize_edit_form
end

#showObject

GET /concern/parent/:parent_id/file_sets/:id



47
48
49
50
51
52
53
54
# File 'app/controllers/hyrax/file_sets_controller.rb', line 47

def show
  guard_for_workflow_restriction_on!(parent: parent(file_set: presenter))
  respond_to do |wants|
    wants.html
    wants.json
    additional_response_formats(wants)
  end
end

#statsObject

GET /files/:id/stats



81
82
83
# File 'app/controllers/hyrax/file_sets_controller.rb', line 81

def stats
  @stats = FileUsage.new(params[:id])
end

#updateObject

PATCH /concern/file_sets/:id



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'app/controllers/hyrax/file_sets_controller.rb', line 66

def update
  guard_for_workflow_restriction_on!(parent: parent)

  if attempt_update
    after_update_response
  else
    after_update_failure_response
  end
rescue RSolr::Error::Http => error
  flash[:error] = error.message
  logger.error "FileSetsController::update rescued #{error.class}\n\t#{error.message}\n #{error.backtrace.join("\n")}\n\n"
  render action: 'edit'
end