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,17 +80,16 @@ class MezuroPluginProfileController < ProfileController
80 def new_range 80 def new_range
81 @metric_name = params[:metric_name] 81 @metric_name = params[:metric_name]
82 @configuration_name = params[:configuration_name] 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 end 93 end
95 94
96 def create_range 95 def create_range
@@ -99,57 +98,38 @@ class MezuroPluginProfileController < ProfileController @@ -99,57 +98,38 @@ class MezuroPluginProfileController < ProfileController
99 metric_name = params[:metric_name] 98 metric_name = params[:metric_name]
100 beginning_id = params[:beginning_id] 99 beginning_id = params[:beginning_id]
101 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new 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 end 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 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new 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 end 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 metric_name = params[:metric_name] 122 metric_name = params[:metric_name]
139 - range_beginning = params[:beginning_id] 123 + beginning_id = params[:range_beginning]
140 metric_configuration_client = Kalibro::Client::MetricConfigurationClient.new 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 end 132 end
152 -=end  
153 133
154 def remove_metric_configuration 134 def remove_metric_configuration
155 configuration_name = params[:configuration_name] 135 configuration_name = params[:configuration_name]
plugins/mezuro/views/mezuro_plugin_profile/_edit_range.html.erb 0 → 100644
@@ -0,0 +1,3 @@ @@ -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 <% remote_form_for :range, :url => {:action =>"create_range", :controller => "mezuro_plugin_profile"}, :method => :get do |f| %> 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 <% end %> 3 <% end %>
plugins/mezuro/views/mezuro_plugin_profile/_range.html.erb
@@ -12,7 +12,6 @@ @@ -12,7 +12,6 @@
12 <%=range.grade%> 12 <%=range.grade%>
13 </td> 13 </td>
14 <td bgcolor="#<%= range.color[2..-1] %>"></td> 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 </tr> 17 </tr>
plugins/mezuro/views/mezuro_plugin_profile/_range_form.html.erb 0 → 100644
@@ -0,0 +1,54 @@ @@ -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 page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range} 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,5 +74,5 @@
74 74
75 <br/> 75 <br/>
76 <%= link_to_remote "New Range", :url => {:action =>"new_range", :controller => "mezuro_plugin_profile", :configuration_name => @configuration_name, :metric_name => @metric.name} %> 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,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 @@ @@ -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 +0,0 @@
1 -<h3>Update Range Action</h3>  
plugins/mezuro/views/mezuro_plugin_profile/update_range.rjs 0 → 100644
@@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
  1 +page.visual_effect :toggle_slide, "range_form"
  2 +page.insert_html :bottom, "ranges", :partial => "range", :locals => {:range => @range}