Module: Hyrax::CollectionsControllerBehavior
- Extended by:
- ActiveSupport::Concern
- Includes:
- Blacklight::AccessControls::Catalog, Blacklight::Base
- Included in:
- Admin::AdminSetsController, AdminSetsController, CollectionsController
- Defined in:
- app/controllers/concerns/hyrax/collections_controller_behavior.rb
Instance Method Summary collapse
- #after_create ⇒ Object
- #after_create_error ⇒ Object
- #after_destroy(id) ⇒ Object
- #after_destroy_error(id) ⇒ Object
- #after_update ⇒ Object
- #after_update_error ⇒ Object
- #collection ⇒ Object
- #create ⇒ Object
- #deny_collection_access(exception) ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Instance Method Details
#after_create ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 91 def after_create form respond_to do |format| ActiveFedora::SolrService.instance.conn.commit format.html { redirect_to collection_path(@collection), notice: 'Collection was successfully created.' } format.json { render json: @collection, status: :created, location: @collection } end end |
#after_create_error ⇒ Object
100 101 102 103 104 105 106 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 100 def after_create_error form respond_to do |format| format.html { render action: 'new' } format.json { render json: @collection.errors, status: :unprocessable_entity } end end |
#after_destroy(id) ⇒ Object
146 147 148 149 150 151 152 153 154 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 146 def after_destroy(id) respond_to do |format| format.html do redirect_to dashboard_collections_path, notice: "Collection #{id} was successfully deleted" end format.json { head :no_content, location: @collection } end end |
#after_destroy_error(id) ⇒ Object
156 157 158 159 160 161 162 163 164 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 156 def after_destroy_error(id) respond_to do |format| format.html do flash[:notice] = "Collection #{id} could not be deleted" render :edit, status: :unprocessable_entity end format.json { render json: { id: id }, status: :unprocessable_entity, location: @collection } end end |
#after_update ⇒ Object
118 119 120 121 122 123 124 125 126 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 118 def after_update if flash[:notice].nil? flash[:notice] = 'Collection was successfully updated.' end respond_to do |format| format.html { redirect_to collection_path(@collection) } format.json { render json: @collection, status: :updated, location: @collection } end end |
#after_update_error ⇒ Object
128 129 130 131 132 133 134 135 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 128 def after_update_error form query_collection_members respond_to do |format| format.html { render action: 'edit' } format.json { render json: @collection.errors, status: :unprocessable_entity } end end |
#collection ⇒ Object
174 175 176 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 174 def collection action_name == 'show' ? @presenter : @collection end |
#create ⇒ Object
108 109 110 111 112 113 114 115 116 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 108 def create @collection.(current_user.user_key) add_members_to_collection unless batch.empty? if @collection.save after_create else after_create_error end end |
#deny_collection_access(exception) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 57 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 && current_user.persisted? redirect_to root_url, alert: exception. else session['user_return_to'] = request.url redirect_to main_app.new_user_session_url, alert: exception. end end |
#destroy ⇒ Object
166 167 168 169 170 171 172 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 166 def destroy if @collection.destroy after_destroy(params[:id]) else after_destroy_error(params[:id]) end end |
#edit ⇒ Object
84 85 86 87 88 89 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 84 def edit query_collection_members # this is used to populate the "add to a collection" action for the members @user_collections = find_collections_for_form form end |
#index ⇒ Object
68 69 70 71 72 73 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 68 def index # run the solr query to find the collections query = list_search_builder.with(params).query @response = repository.search(query) @document_list = @response.documents end |
#new ⇒ Object
75 76 77 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 75 def new form end |
#show ⇒ Object
79 80 81 82 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 79 def show presenter query_collection_members end |
#update ⇒ Object
137 138 139 140 141 142 143 144 |
# File 'app/controllers/concerns/hyrax/collections_controller_behavior.rb', line 137 def update process_member_changes if @collection.update(collection_params.except(:members)) after_update else after_update_error end end |