Class: Tasks::Projects::DwcExportPreferencesController

Inherits:
ApplicationController
  • Object
show all
Includes:
TaskControllerConfiguration
Defined in:
app/controllers/tasks/projects/dwc_export_preferences_controller.rb

Instance Method Summary collapse

Methods included from TaskControllerConfiguration

#set_is_task_controller

Instance Method Details

#indexObject



7
8
9
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 7

def index
  # vue app
end

#preferencesObject



80
81
82
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 80

def preferences
  render json: @project.dwc_complete_download_preferences(sessions_current_user)
end

#save_emlObject



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 66

def save_eml
  dataset = params[:dataset]
   = params[:additional_metadata]
  if @project.set_complete_dwc_eml_preferences(dataset, )
    head :no_content
  else # preferences save errors
    # It's probably a bug if this happens.
    render json: {
      base: ['Project save failed!']
    }, status: :unprocessable_entity
    return
  end
end

#set_default_userObject



28
29
30
31
32
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 28

def set_default_user
  @project.set_complete_dwc_download_default_user_id(params[:default_user_id])

  head :no_content
end

#set_extensionsObject



34
35
36
37
38
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 34

def set_extensions
  @project.set_complete_dwc_download_extensions(params[:extensions])

  head :no_content
end

#set_is_publicObject



22
23
24
25
26
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 22

def set_is_public
  @project.set_complete_dwc_download_is_public(params[:is_public])

  head :no_content
end

#set_max_ageObject



11
12
13
14
15
16
17
18
19
20
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 11

def set_max_age
  project = Project.find(sessions_current_project_id)
  if @project.set_complete_dwc_download_max_age(params[:max_age])
    head :no_content
  else
    render json: {
      base: 'Failed to interpret max age!'
    }, status: :unprocessable_entity
  end
end

#set_predicatesObject



40
41
42
43
44
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 40

def set_predicates
  @project.set_complete_dwc_download_predicates(params[:predicates])

  head :no_content
end

#set_projectObject (private)



86
87
88
89
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 86

def set_project
  @project = Project.find(sessions_current_project_id)
  @recent_object = @project
end

#validate_emlObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'app/controllers/tasks/projects/dwc_export_preferences_controller.rb', line 46

def validate_eml
  dataset = params[:dataset]
   = params[:additional_metadata]

  # if ::Export::Dwca::Eml.still_stubbed?(dataset, additional_metadata)
  #   render json: {
  #     base: ['Replace or delete all STUBbed fields to proceed']
  #   }, status: :unprocessable_entity
  #   return
  # end

  dataset_errors,  =
    ::Export::Dwca::Eml.validate_fragments(dataset, )

  render json: {
    dataset_errors:,
    additional_metadata_errors:
  }
end