Class: Hyrax::DOI::HyraxDOIController

Inherits:
ApplicationController show all
Defined in:
app/controllers/hyrax/doi/hyrax_doi_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

search_state_class=

Instance Method Details

#autofillObject



21
22
23
24
25
26
27
28
29
30
31
# File 'app/controllers/hyrax/doi/hyrax_doi_controller.rb', line 21

def autofill
  doi = params['doi']

  respond_to do |format|
    format.js { render js: autofill_js(doi), status: :ok }
  end
rescue Hyrax::DOI::NotFoundError => e
  respond_to do |format|
    format.js { render plain: e.message, status: :internal_server_error }
  end
end

#create_draft_doiObject



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/hyrax/doi/hyrax_doi_controller.rb', line 7

def create_draft_doi
  draft_doi = mint_draft_doi

  respond_to do |format|
    format.js { render js: autofill_field(doi_attribute_name, draft_doi), status: :created }
    format.json { render_json_response(response_type: :created, options: { data: draft_doi }) }
  end
rescue Hyrax::DOI::DataCiteClient::Error => e
  respond_to do |format|
    format.js { render plain: e.message, status: :internal_server_error }
    format.json { render_json_response(response_type: :internal_error, message: e.full_message) }
  end
end