Class: Hyrax::Admin::AdminSetsController

Inherits:
ApplicationController
  • Object
show all
Includes:
CollectionsControllerBehavior
Defined in:
app/controllers/hyrax/admin/admin_sets_controller.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CollectionsControllerBehavior

#collection

Class Method Details

.local_prefixesObject

Override the default prefixes so that we use the collection partals.



95
96
97
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 95

def self.local_prefixes
  ["hyrax/admin/admin_sets", "hyrax/collections", 'catalog']
end

Instance Method Details

#createObject



72
73
74
75
76
77
78
79
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 72

def create
  if create_admin_set
    redirect_to hyrax.edit_admin_admin_set_path(@admin_set), notice: I18n.t('new_admin_set', scope: 'hyrax.admin.admin_sets.form.permission_update_notices', name: @admin_set.title.first)
  else
    setup_form
    render :new
  end
end

#deny_adminset_access(exception) ⇒ Object



26
27
28
29
30
31
32
33
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 26

def deny_adminset_access(exception)
  if 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

#destroyObject



81
82
83
84
85
86
87
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 81

def destroy
  if @admin_set.destroy
    after_delete_success
  else
    redirect_to hyrax.admin_admin_set_path(@admin_set), alert: @admin_set.errors.full_messages.to_sentence
  end
end

#editObject



52
53
54
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 52

def edit
  setup_form
end

#filesObject

Renders a JSON response with a list of files in this admin set. This is used by the edit form to populate the thumbnail_id dropdown



58
59
60
61
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 58

def files
  result = form.select_files.map { |label, id| { id: id, text: label } }
  render json: result
end

#indexObject



43
44
45
46
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 43

def index
  # admin sets are listed with collections
  redirect_to hyrax.my_collections_url
end

#newObject



48
49
50
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 48

def new
  setup_form
end

#repositoryObject

for the AdminSetService



90
91
92
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 90

def repository
  repository_class.new(blacklight_config)
end

#showObject



35
36
37
38
39
40
41
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 35

def show
  add_breadcrumb I18n.t('hyrax.controls.home'), hyrax.root_path
  add_breadcrumb t(:'hyrax.dashboard.title'), hyrax.dashboard_path
  add_breadcrumb t(:'hyrax.dashboard.my.collections'), hyrax.my_collections_path
  add_breadcrumb @admin_set.title.first
  super
end

#updateObject



63
64
65
66
67
68
69
70
# File 'app/controllers/hyrax/admin/admin_sets_controller.rb', line 63

def update
  if @admin_set.update(admin_set_params)
    redirect_to update_referer, notice: I18n.t('updated_admin_set', scope: 'hyrax.admin.admin_sets.form.permission_update_notices', name: @admin_set.title.first)
  else
    setup_form
    render :edit
  end
end