Class: Reference::DataOptionsController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/reference/data_options_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#module_symbol_for_paths

Instance Method Details

#createObject

POST /reference/data_lists/:data_list_id/data_options POST /reference/data_lists/:data_list_id/data_options.json



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'app/controllers/reference/data_options_controller.rb', line 51

def create
  unless @data_list
    raise 'No data_list could be retrieved for whom to associate the newly created DataOption'
  end

  @data_option = DataOption.new(params[:data_option])
  @data_list.data_options << @data_option

  respond_to do |format|
    if @data_option.save
      Reference::DataTypes.reload # Update all of our reference data, given the new DataOption

      format.html { redirect_to  [:reference, @data_list,  @data_option], 
        notice: 'Data Option was successfully created.' }
      format.json { render json: @data_option, status: :created, location: @data_option }
    else
      format.html do
          # Set breadcrumbs again, otherwise they'd be lost on render of 'new' template:
          configure_breadcrumbs @data_list, :data_option
          render action: "new"
        end
      format.json { render json: @data_option.errors, status: :unprocessable_entity }
    end
  end
end

#destroyObject

DELETE /reference/data_lists/:data_list_id/data_options/1 DELETE /reference/data_lists/:data_list_id/data_options/1.json



100
101
102
103
104
105
106
107
108
109
110
111
112
# File 'app/controllers/reference/data_options_controller.rb', line 100

def destroy
  retrieve_data_option
  root_resource = @data_option.root_resource
  @data_option.destroy
  root_resource.export_update # Allow root resource to save update to disk
  Reference::DataTypes.reload # Update all of our reference data, given the removed DataOption

  respond_to do |format|
    format.html { redirect_to [:reference, @data_list, :data_options],
                              notice: 'Data Option was successfully destroyed.' }
    format.json { head :no_content }
  end
end

#editObject

GET /reference/data_lists/:data_list_id/data_options/1/edit



44
45
46
# File 'app/controllers/reference/data_options_controller.rb', line 44

def edit
  retrieve_data_option
end

#indexObject

GET /reference/data_lists/:data_list_id/data_options GET /reference/data_lists/:data_list_id/data_options.json



7
8
9
10
11
12
13
14
15
# File 'app/controllers/reference/data_options_controller.rb', line 7

def index
  @data_options = @data_list.data_options
  configure_breadcrumbs @data_list, :data_options

  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @data_options }
  end
end

#newObject

GET /reference/data_lists/:data_list_id/data_options/new GET /reference/data_lists/:data_list_id/data_options/new.json



32
33
34
35
36
37
38
39
40
# File 'app/controllers/reference/data_options_controller.rb', line 32

def new
  @data_option = DataOption.new
  configure_breadcrumbs @data_list, :data_option

  respond_to do |format|
    format.html # new.html.erb
    format.json { render json: @data_option }
  end
end

#showObject

GET /reference/data_lists/:data_list_id/data_options/1 GET /reference/data_lists/:data_list_id/data_options/1.json



20
21
22
23
24
25
26
27
# File 'app/controllers/reference/data_options_controller.rb', line 20

def show
  retrieve_data_option    

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @data_option }
  end
end

#updateObject

PUT /reference/data_lists/:data_list_id/data_options/:id PUT /reference/data_lists/:data_list_id/data_options/:id.json



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'app/controllers/reference/data_options_controller.rb', line 80

def update
  retrieve_data_option

  respond_to do |format|
    if @data_option.update_attributes(params[:data_option])
      Reference::DataTypes.reload # Update all of our reference data, given the updated DataOption

      format.html { redirect_to [:reference, @data_list,  @data_option], 
        notice: 'Data Option was successfully updated.' }
      format.json { head :no_content }
    else
      format.html { render action: "edit" }
      format.json { render json: @data_option.errors, status: :unprocessable_entity }
    end
  end
end