mezuro_plugin_range_controller.rb
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
class MezuroPluginRangeController < MezuroPluginMyprofileController
append_view_path File.join(File.dirname(__FILE__) + '/../../views')
def new
@content_id = params[:id].to_i
@metric_configuration_id = params[:metric_configuration_id].to_i
@reading_labels_and_ids = reading_labels_and_ids
end
def edit
@content_id = params[:id].to_i
@metric_configuration_id = params[:metric_configuration_id].to_i
ranges = Kalibro::Range.ranges_of params[:metric_configuration_id].to_i
@range = (ranges.select { |range| range.id == params[:range_id].to_i }).first
@reading_labels_and_ids = reading_labels_and_ids
end
def create
metric_configuration_id = params[:metric_configuration_id].to_i
@range = Kalibro::Range.new params[:range]
@range.save metric_configuration_id
if !@range.errors.empty?
@error = @range.errors[0].message
end
end
def update
metric_configuration_id = params[:metric_configuration_id].to_i
@range = Kalibro::Range.new params[:range]
@range.save metric_configuration_id
if !@range.errors.empty?
@error = @range.errors[0].message
end
end
def remove
configuration_content_id = params[:id].to_i
metric_configuration_id = params[:metric_configuration_id].to_i
compound = params[:compound]
Kalibro::Range.new({:id => params[:range_id].to_i}).destroy
if compound
redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_compound?id=#{configuration_content_id}&metric_configuration_id=#{metric_configuration_id}"
else
redirect_to "/myprofile/#{profile.identifier}/plugin/mezuro/metric_configuration/edit_native?id=#{configuration_content_id}&metric_configuration_id=#{metric_configuration_id}"
end
end
private
def reading_labels_and_ids
array = Kalibro::Reading.readings_of(params[:reading_group_id].to_i).map { |reading| [reading.label, reading.id] }
array.sort { |x,y| x.first.downcase <=> y.first.downcase }
end
end