Class: Curate::CollectionsController

Inherits:
ApplicationController
  • Object
show all
Includes:
Blacklight::Catalog, FieldsForAddToCollection, Hydra::AccessControlsEnforcement, Hydra::CollectionsControllerBehavior, Sufia::Noid
Defined in:
app/controllers/curate/collections_controller.rb

Defined Under Namespace

Classes: CollectionsControllerResource

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cancan_resource_classObject



10
11
12
# File 'app/controllers/curate/collections_controller.rb', line 10

def self.cancan_resource_class
  CollectionsControllerResource
end

Instance Method Details

#add_memberObject



82
83
84
85
86
87
88
89
# File 'app/controllers/curate/collections_controller.rb', line 82

def add_member
  if @collection && @collection.add_member(@collectible)
    flash[:notice] = "\"#{@collectible}\" has been added to \"#{@collection}\""
  else
    flash[:error] = 'Unable to add item to collection.'
  end
  redirect_to params.fetch(:redirect_to) { catalog_index_path }
end

#add_member_formObject



77
78
79
80
# File 'app/controllers/curate/collections_controller.rb', line 77

def add_member_form
  collection_options
  render 'add_member_form'
end

#createObject



62
63
64
65
# File 'app/controllers/curate/collections_controller.rb', line 62

def create
  super
  @collection.file = params[ :collection ][ :file ] if params[ :collection ][ :file ]
end

#indexObject



72
73
74
75
# File 'app/controllers/curate/collections_controller.rb', line 72

def index
  super
  redirect_to catalog_index_path(:'f[generic_type_sim][]' => 'Collection', works: 'mine')
end

#newObject



57
58
59
60
# File 'app/controllers/curate/collections_controller.rb', line 57

def new
  super
  @add_to_profile = params.delete(:add_to_profile)
end

#remove_memberObject



91
92
93
94
95
96
# File 'app/controllers/curate/collections_controller.rb', line 91

def remove_member
  @collection = ActiveFedora::Base.find(params[:id], cast: true)
  item = ActiveFedora::Base.find(params[:item_id], cast:true)
  @collection.remove_member(item)
  redirect_to params.fetch(:redirect_to) { collection_path(params[:id]) }
end

#updateObject



67
68
69
70
# File 'app/controllers/curate/collections_controller.rb', line 67

def update
  super
  @collection.file = params[ :collection ][ :file ] if params[ :collection ][ :file ]
end