Commit 728ee359627dcd01b599fa8a4ad91b2ac562327a

Authored by Alessandro Palmeira + João M. M. Silva
Committed by Paulo Meireles
1 parent 30091317

[Mezuro] Finished range configuring, only needs to redirect after range edit.

plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
... ... @@ -80,17 +80,16 @@ class MezuroPluginProfileController < ProfileController
80 80 def new_range
81 81 @metric_name = params[:metric_name]
82 82 @configuration_name = params[:configuration_name]
83   - @range_beginning = params[:range_beginning]
84   -
85   - if(@range_beginning != nil) then
  83 + end
  84 +
  85 + def edit_range
  86 + @metric_name = params[:metric_name]
  87 + @configuration_name = params[:configuration_name]
  88 + @beginning_id = params[:beginning_id]
86 89  
87   - metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
88   - metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name)
89   -
90   - metric_configuration.ranges.each do |r|
91   - @range = r if r.beginning == @range_beginning.to_f
92   - end
93   - end
  90 + metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
  91 + metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name)
  92 + @range = metric_configuration.ranges.find{ |range| range.beginning == @beginning_id.to_f }
94 93 end
95 94  
96 95 def create_range
... ... @@ -99,57 +98,38 @@ class MezuroPluginProfileController < ProfileController
99 98 metric_name = params[:metric_name]
100 99 beginning_id = params[:beginning_id]
101 100 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
102   - metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
103   -
104   - if( beginning_id == "") then #When nothing is passed as beginning_id, this range is new
105   - metric_configuration.add_range(@range)
106   - metric_configuration_client.save(metric_configuration, configuration_name)
107   - else #else, this is a range to edit
108   - #First search range
109   - index = 0
110   - metric_configuration.ranges.each do |r|
111   - break if r.beginning == beginning_id.to_f
112   - index = index + 1
113   - end
114   - #Then edit and save
115   - metric_configuration.ranges[index] = new_range_instance
116   - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name)
117   - end
  101 + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
  102 + metric_configuration.add_range(@range)
  103 + metric_configuration_client.save(metric_configuration, configuration_name)
118 104 end
119 105  
120   -=begin
121   - this commented lines and views/mezuro_plugin_profile/edit_range.html.erb should be removed
122   -
123   - def edit_range
124   - @configuration_name = params[:configuration_name]
125   - @metric_name = params[:metric_name]
126   - @range_beginning = params[:range_beginning]
127   -
  106 + def update_range
  107 + metric_name = params[:metric_name]
  108 + configuration_name = params[:configuration_name]
  109 + beginning_id = params[:beginning_id]
128 110 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
129   - metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, @metric_name)
130   -
131   - metric_configuration.ranges.each do |r|
132   - @range = r if r.beginning == @range_beginning.to_f
133   - end
  111 + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
  112 + index = metric_configuration.ranges.index{ |range| range.beginning == beginning_id.to_f }
  113 + metric_configuration.ranges[index] = new_range_instance
  114 + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name)
  115 + formatted_configuration_name = configuration_name.gsub(/\s/, '+')
  116 + formatted_metric_name = metric_name.gsub(/\s/, '+')
  117 + redirect_to "/profile/#{profile.identifier}/plugins/mezuro/edit_metric_configuration?configuration_name=#{formatted_configuration_name}&metric_name=#{formatted_metric_name}"
134 118 end
135 119  
136   - def update_range
137   - @configuration_name = params[:configuration_name]
  120 + def remove_range
  121 + configuration_name = params[:configuration_name]
138 122 metric_name = params[:metric_name]
139   - range_beginning = params[:beginning_id]
  123 + beginning_id = params[:range_beginning]
140 124 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new
141   - metric_configuration = metric_configuration_client.metric_configuration(@configuration_name, metric_name)
142   - index = 0
143   - metric_configuration.ranges.each do |r|
144   - break if r.beginning == range_beginning.to_f
145   - index = index + 1
146   - end
147   - #Here index points to the right range in metric_configuration.ranges[]
148   - metric_configuration.ranges[index] = new_range_instance
149   - Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, @configuration_name)
150   - redirect_to "/#{profile.identifier}/#{@configuration_name.downcase.gsub(/\s/, '-')}"
  125 + metric_configuration = metric_configuration_client.metric_configuration(configuration_name, metric_name)
  126 + metric_configuration.ranges.delete_if { |range| range.beginning == beginning_id.to_f }.inspect
  127 + Kalibro::Client::MetricConfigurationClient.new.save(metric_configuration, configuration_name)
  128 + formatted_configuration_name = configuration_name.gsub(/\s/, '+')
  129 + formatted_metric_name = metric_name.gsub(/\s/, '+')
  130 + #FIXME não está redirecionando
  131 + redirect "/profile/#{profile.identifier}/plugins/mezuro/edit_metric_configuration?configuration_name=#{formatted_configuration_name}&metric_name=#{formatted_metric_name}"
151 132 end
152   -=end
153 133  
154 134 def remove_metric_configuration
155 135 configuration_name = params[:configuration_name]
... ...
plugins/mezuro/views/mezuro_plugin_profile/_edit_range.html.erb 0 → 100644
... ... @@ -0,0 +1,3 @@
  1 +<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
  2 + <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name, :beginning_id => beginning_id, :range => range } %>
  3 +<% end %>
... ...
plugins/mezuro/views/mezuro_plugin_profile/_new_range.html.erb
1 1 <% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
2   - <%= hidden_field_tag :configuration_name, configuration_name %>
3   - <%= hidden_field_tag :metric_name, metric_name %>
4   - <%= hidden_field_tag :beginning_id, range_beginning %>
5   - <table>
6   - <tr>
7   - <td>
8   - <%= f.label :label, "Label:" %>
9   - </td>
10   - <td>
11   - <%= f.text_field :label %>
12   - </td>
13   - </tr>
14   - <tr>
15   - <td>
16   - <%= f.label :beginning, "Beginning:" %>
17   - </td>
18   - <td>
19   - <%= f.text_field :beginning %>
20   - </td>
21   - </tr>
22   - <tr>
23   - <td>
24   - <%= f.label :end, "End:" %>
25   - </td>
26   - <td>
27   - <%= f.text_field :end %>
28   - </td>
29   - </tr>
30   - <tr>
31   - <td>
32   - <%= f.label :grade, "Grade:" %>
33   - </td>
34   - <td>
35   - <%= f.text_field :grade %>
36   - </td>
37   - </tr>
38   - <tr>
39   - <td>
40   - <%= f.label :color, "Color:" %>
41   - </td>
42   - <td>
43   - <%= f.text_field :color %>
44   - </td>
45   - </tr>
46   - <tr>
47   - <td>
48   - <%= f.label :comments, "Comments:" %>
49   - </td>
50   - <td>
51   - <%= f.text_field :comments %>
52   - </td>
53   - </tr>
54   - </table>
55   - <%= f.submit "Save Range" %>
  2 + <%= render :partial => "range_form", :locals => {:f => f, :metric_name => metric_name, :configuration_name => configuration_name } %>
56 3 <% end %>
... ...
plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
... ... @@ -12,7 +12,6 @@
12 12 <%=range.grade%>
13 13 </td>
14 14 <td bgcolor="#<%= range.color[2..-1] %>"></td>
15   - <!-- <td><%= link_to "Edit", :controller => "mezuro_plugin_profile", :action => "edit_range", :params =>
16   - {:configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %></td> -->
17   - <td><%= link_to_remote "Edit", :url => {:action =>"new_range", :controller => "mezuro_plugin_profile", :configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning} %></td>
  15 + <td><%= link_to_remote "Edit", :url => {:action =>"edit_range", :controller => "mezuro_plugin_profile", :configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :beginning_id => range.beginning} %></td>
  16 + <td><%= link_to "Remove", :action =>"remove_range", :controller => "mezuro_plugin_profile", :configuration_name => params[:configuration_name], :metric_name => params[:metric_name], :range_beginning => range.beginning %></td>
18 17 </tr>
... ...
plugins/mezuro/views/mezuro_plugin_profile/_range_form.html.erb 0 → 100644
... ... @@ -0,0 +1,54 @@
  1 +<%= hidden_field_tag :configuration_name, configuration_name %>
  2 +<%= hidden_field_tag :metric_name, metric_name %>
  3 +<%= hidden_field_tag :beginning_id, beginning_id %>
  4 +<table>
  5 + <tr>
  6 + <td>
  7 + <%= f.label :label, "Label:" %>
  8 + </td>
  9 + <td>
  10 + <%= f.text_field :label %>
  11 + </td>
  12 + </tr>
  13 + <tr>
  14 + <td>
  15 + <%= f.label :beginning, "Beginning:" %>
  16 + </td>
  17 + <td>
  18 + <%= f.text_field :beginning %>
  19 + </td>
  20 + </tr>
  21 + <tr>
  22 + <td>
  23 + <%= f.label :end, "End:" %>
  24 + </td>
  25 + <td>
  26 + <%= f.text_field :end %>
  27 + </td>
  28 + </tr>
  29 + <tr>
  30 + <td>
  31 + <%= f.label :grade, "Grade:" %>
  32 + </td>
  33 + <td>
  34 + <%= f.text_field :grade %>
  35 + </td>
  36 + </tr>
  37 + <tr>
  38 + <td>
  39 + <%= f.label :color, "Color:" %>
  40 + </td>
  41 + <td>
  42 + <%= f.text_field :color %>
  43 + </td>
  44 + </tr>
  45 + <tr>
  46 + <td>
  47 + <%= f.label :comments, "Comments:" %>
  48 + </td>
  49 + <td>
  50 + <%= f.text_field :comments %>
  51 + </td>
  52 + </tr>
  53 +</table>
  54 +<%= f.submit "Save Range" %>
... ...
plugins/mezuro/views/mezuro_plugin_profile/create_range.rjs
1   -page.visual_effect :toggle_slide, "new_range"
  1 +page.visual_effect :toggle_slide, "range_form"
2 2 page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range}
... ...
plugins/mezuro/views/mezuro_plugin_profile/edit_metric_configuration.html.erb
... ... @@ -74,5 +74,5 @@
74 74  
75 75 <br/>
76 76 <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_profile", :configuration_name => @configuration_name, :metric_name => @metric.name} %>
77   -<div id="new_range" style="display:none"></div>
  77 +<div id="range_form" style="display:none"></div>
78 78  
... ...
plugins/mezuro/views/mezuro_plugin_profile/edit_range.html.erb
... ... @@ -1,57 +0,0 @@
1   -<% remote_form_for :range, :url => {:action =>"update_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %>
2   - <%= hidden_field_tag :configuration_name, @configuration_name %>
3   - <%= hidden_field_tag :metric_name, @metric_name %>
4   - <%= hidden_field_tag :beginning_id, @range_beginning %>
5   - <!-- beginning_id and range_beginning occurs because the field may be changed and we still need and identificator to the desired range -->
6   - <table>
7   - <tr>
8   - <td>
9   - <%= f.label :label, "Label:" %>
10   - </td>
11   - <td>
12   - <%= f.text_field :label %>
13   - </td>
14   - </tr>
15   - <tr>
16   - <td>
17   - <%= f.label :beginning, "Beginning:" %>
18   - </td>
19   - <td>
20   - <%= f.text_field :beginning %>
21   - </td>
22   - </tr>
23   - <tr>
24   - <td>
25   - <%= f.label :end, "End:" %>
26   - </td>
27   - <td>
28   - <%= f.text_field :end %>
29   - </td>
30   - </tr>
31   - <tr>
32   - <td>
33   - <%= f.label :grade, "Grade:" %>
34   - </td>
35   - <td>
36   - <%= f.text_field :grade %>
37   - </td>
38   - </tr>
39   - <tr>
40   - <td>
41   - <%= f.label :color, "Color:" %>
42   - </td>
43   - <td>
44   - <%= f.text_field :color %>
45   - </td>
46   - </tr>
47   - <tr>
48   - <td>
49   - <%= f.label :comments, "Comments:" %>
50   - </td>
51   - <td>
52   - <%= f.text_field :comments %>
53   - </td>
54   - </tr>
55   - </table>
56   - <%= f.submit "Save Range" %>
57   -<% end %>
plugins/mezuro/views/mezuro_plugin_profile/edit_range.rjs 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +page.replace_html 'range_form', :partial => "edit_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :beginning_id => @beginning_id, :range => @range }
  2 +page.visual_effect :slide_down, "range_form"
... ...
plugins/mezuro/views/mezuro_plugin_profile/new_range.rjs
1   -page.replace_html 'new_range', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name, :range_beginning => @range_beginning}
2   -page.visual_effect :toggle_slide, "new_range"
  1 +page.replace_html 'range_form', :partial => "new_range", :locals => {:metric_name => @metric_name, :configuration_name => @configuration_name }
  2 +page.visual_effect :slide_down, "range_form"
... ...
plugins/mezuro/views/mezuro_plugin_profile/update_range.html.erb
... ... @@ -1 +0,0 @@
1   -<h3>Update Range Action</h3>
plugins/mezuro/views/mezuro_plugin_profile/update_range.rjs 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +page.visual_effect :toggle_slide, "range_form"
  2 +page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range}
... ...