Class: Hyrax::Dashboard::CollectionsController
Overview
Shows a list of all collections to the admins
Instance Method Summary
collapse
#batch, #batch=, #check_for_empty_batch?
#add_breadcrumb_for_action, #add_breadcrumb_for_controller, #mark_active_action
#add_breadcrumb_for_action, #add_breadcrumb_for_controller, #build_breadcrumbs, #default_trail, #trail_from_referer
configure_facets, #index
configure_facets, #index
Instance Method Details
#after_create ⇒ Object
82
83
84
85
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 82
def after_create
Deprecation.warn("Method `#after_create` will be removed in Hyrax 4.0.")
after_create_response end
|
#after_create_error ⇒ Object
87
88
89
90
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 87
def after_create_error
Deprecation.warn("Method `#after_create_error` will be removed in Hyrax 4.0.")
after_create_errors("") end
|
#after_destroy(_id) ⇒ Object
131
132
133
134
135
136
137
138
139
140
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 131
def after_destroy(_id)
respond_to do |format|
format.html do
redirect_to hyrax.my_collections_path,
notice: t('hyrax.dashboard.my.action.collection_delete_success')
end
format.json { head :no_content, location: hyrax.my_collections_path }
end
end
|
#after_destroy_error(id) ⇒ Object
142
143
144
145
146
147
148
149
150
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 142
def after_destroy_error(id)
respond_to do |format|
format.html do
flash[:notice] = t('hyrax.dashboard.my.action.collection_delete_fail')
render :edit, status: :unprocessable_entity
end
format.json { render json: { id: id }, status: :unprocessable_entity, location: dashboard_collection_path(@collection) }
end
end
|
#after_update ⇒ Object
107
108
109
110
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 107
def after_update
Deprecation.warn("Method `#after_update` will be removed in Hyrax 4.0.")
after_update_response end
|
#after_update_error ⇒ Object
112
113
114
115
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 112
def after_update_error
Deprecation.warn("Method `#after_update_error` will be removed in Hyrax 4.0.")
after_update_errors(@collection.errors) end
|
#collection ⇒ Object
168
169
170
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 168
def collection
action_name == 'show' ? @presenter : @collection
end
|
#create ⇒ Object
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 92
def create
@collection = Hyrax.config.collection_class.new
authorize! :create, @collection
case @collection
when ActiveFedora::Base
create_active_fedora_collection
else
create_valkyrie_collection
end
end
|
#deny_collection_access(exception) ⇒ Object
47
48
49
50
51
52
53
54
55
56
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 47
def deny_collection_access(exception)
if exception.action == :edit
redirect_to(url_for(action: 'show'), alert: 'You do not have sufficient privileges to edit this document')
elsif current_user&.persisted?
redirect_to root_url, alert: exception.message
else
session['user_return_to'] = request.url
redirect_to main_app.new_user_session_url, alert: exception.message
end
end
|
#destroy ⇒ Object
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 152
def destroy
case @collection
when Valkyrie::Resource
valkyrie_destroy
else
if @collection.destroy
after_destroy(params[:id])
else
after_destroy_error(params[:id])
end
end
rescue StandardError => err
Hyrax.logger.error(err)
after_destroy_error(params[:id])
end
|
#edit ⇒ Object
78
79
80
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 78
def edit
form
end
|
#files ⇒ Object
Renders a JSON response with a list of files in this collection This is used by the edit form to populate the thumbnail_id dropdown
174
175
176
177
178
179
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 174
def files
result = form.select_files.map do |label, id|
{ id: id, text: label }
end
render json: result
end
|
#new ⇒ Object
58
59
60
61
62
63
64
65
66
67
68
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 58
def new
collection_type_id = params[:collection_type_id].presence || default_collection_type.id
@collection.collection_type_gid = CollectionType.find(collection_type_id).to_global_id
add_breadcrumb t(:'hyrax.controls.home'), root_path
add_breadcrumb t(:'hyrax.dashboard.breadcrumbs.admin'), hyrax.dashboard_path
add_breadcrumb t('.header', type_title: collection_type.title), request.path
@collection.try(:apply_depositor_metadata, current_user.user_key)
form
end
|
#process_branding ⇒ Object
126
127
128
129
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 126
def process_branding
process_banner_input
process_logo_input
end
|
#show ⇒ Object
70
71
72
73
74
75
76
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 70
def show
@banner_file = presenter.banner_file if collection_type.brandable?
presenter
query_collection_members
end
|
#update ⇒ Object
117
118
119
120
121
122
123
124
|
# File 'app/controllers/hyrax/dashboard/collections_controller.rb', line 117
def update
case @collection
when ActiveFedora::Base
update_active_fedora_collection
else
update_valkyrie_collection
end
end
|