Commit 80db92cc2fef121689f6fa2caaed8a61dc3731de
Committed by
Gabriela Navarro
1 parent
760ea10e
Exists in
master
and in
5 other branches
fix_institution: Change state to select field and correct country bug
Signed-off-by: Fabio Teixeira <fabio1079@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com>
Showing
3 changed files
with
23 additions
and
6 deletions
Show diff stats
controllers/mpog_software_plugin_controller.rb
@@ -40,6 +40,7 @@ class MpogSoftwarePluginController < ApplicationController | @@ -40,6 +40,7 @@ class MpogSoftwarePluginController < ApplicationController | ||
40 | 40 | ||
41 | def create_institution | 41 | def create_institution |
42 | @show_sisp_field = environment.admins.include?(current_user.person) | 42 | @show_sisp_field = environment.admins.include?(current_user.person) |
43 | + @estate_list = get_state_list() | ||
43 | 44 | ||
44 | if request.xhr? | 45 | if request.xhr? |
45 | render :layout=>false | 46 | render :layout=>false |
@@ -57,6 +58,7 @@ class MpogSoftwarePluginController < ApplicationController | @@ -57,6 +58,7 @@ class MpogSoftwarePluginController < ApplicationController | ||
57 | 58 | ||
58 | def create_institution_admin | 59 | def create_institution_admin |
59 | @show_sisp_field = environment.admins.include?(current_user.person) | 60 | @show_sisp_field = environment.admins.include?(current_user.person) |
61 | + @estate_list = get_state_list() | ||
60 | 62 | ||
61 | @url_token = split_http_referer request.original_url() | 63 | @url_token = split_http_referer request.original_url() |
62 | end | 64 | end |
@@ -143,7 +145,7 @@ class MpogSoftwarePluginController < ApplicationController | @@ -143,7 +145,7 @@ class MpogSoftwarePluginController < ApplicationController | ||
143 | def get_brazil_states | 145 | def get_brazil_states |
144 | redirect_to "/" unless request.xhr? | 146 | redirect_to "/" unless request.xhr? |
145 | 147 | ||
146 | - state_list = NationalRegion.find(:all, :conditions=>["national_region_type_id = ?", 2], :order=>"name") | 148 | + state_list = get_state_list() |
147 | render :json=>state_list.collect {|state| state.name }.to_json | 149 | render :json=>state_list.collect {|state| state.name }.to_json |
148 | end | 150 | end |
149 | 151 | ||
@@ -175,6 +177,10 @@ class MpogSoftwarePluginController < ApplicationController | @@ -175,6 +177,10 @@ class MpogSoftwarePluginController < ApplicationController | ||
175 | 177 | ||
176 | protected | 178 | protected |
177 | 179 | ||
180 | + def get_state_list | ||
181 | + NationalRegion.find(:all, :conditions=>["national_region_type_id = ?", 2], :order=>"name") | ||
182 | + end | ||
183 | + | ||
178 | def private_create_institution | 184 | def private_create_institution |
179 | community = Community.new(params[:community]) | 185 | community = Community.new(params[:community]) |
180 | community.environment = environment | 186 | community.environment = environment |
public/mpog-institution-validations.js
@@ -4,6 +4,8 @@ | @@ -4,6 +4,8 @@ | ||
4 | 4 | ||
5 | jQuery.get("/plugin/mpog_software/create_institution", function(response){ | 5 | jQuery.get("/plugin/mpog_software/create_institution", function(response){ |
6 | jQuery("#institution_dialog").html(response); | 6 | jQuery("#institution_dialog").html(response); |
7 | + | ||
8 | + set_form_count_custom_data(); | ||
7 | set_events(); | 9 | set_events(); |
8 | 10 | ||
9 | jQuery("#institution_dialog").dialog({ | 11 | jQuery("#institution_dialog").dialog({ |
@@ -212,10 +214,12 @@ | @@ -212,10 +214,12 @@ | ||
212 | var divisor_option = SelectElement.generateOption("-1", "--------------------------------"); | 214 | var divisor_option = SelectElement.generateOption("-1", "--------------------------------"); |
213 | var default_option = SelectElement.generateOption("BR", "Brazil"); | 215 | var default_option = SelectElement.generateOption("BR", "Brazil"); |
214 | 216 | ||
215 | - jQuery('#community_country').find("option[value='']").remove(); | ||
216 | - jQuery('#community_country').prepend(divisor_option); | ||
217 | - jQuery('#community_country').prepend(default_option); | ||
218 | - jQuery('#community_country').val("BR"); | 217 | + if( jQuery('#community_country').find("option[value='']").length == 1 ) { |
218 | + jQuery('#community_country').find("option[value='']").remove(); | ||
219 | + jQuery('#community_country').prepend(divisor_option); | ||
220 | + jQuery('#community_country').prepend(default_option); | ||
221 | + jQuery('#community_country').val("BR"); | ||
222 | + } | ||
219 | } | 223 | } |
220 | 224 | ||
221 | function set_events() { | 225 | function set_events() { |
views/mpog_software_plugin/_institution.html.erb
@@ -51,7 +51,14 @@ | @@ -51,7 +51,14 @@ | ||
51 | </span> | 51 | </span> |
52 | 52 | ||
53 | <%= required select_country(_('Country'), 'community', 'country', {:class => 'type-select', :id => "community_country"}) %> | 53 | <%= required select_country(_('Country'), 'community', 'country', {:class => 'type-select', :id => "community_country"}) %> |
54 | - <%= required f.text_field(:state) %> | 54 | + |
55 | + <span class='required-field'> | ||
56 | + <div class="formfield"> | ||
57 | + <label for="community_state" class="formlabel"><%= _("State") %></label> | ||
58 | + <%= f.select(:state, @estate_list.collect {|state| [state.name, state.name]}) %> | ||
59 | + </div> | ||
60 | + </span> | ||
61 | + | ||
55 | <%= required f.text_field(:city) %> | 62 | <%= required f.text_field(:city) %> |
56 | 63 | ||
57 | 64 |