diff --git a/controllers/gov_user_plugin_controller.rb b/controllers/gov_user_plugin_controller.rb index 592dcb8..f9cacf0 100644 --- a/controllers/gov_user_plugin_controller.rb +++ b/controllers/gov_user_plugin_controller.rb @@ -23,7 +23,6 @@ class GovUserPluginController < ApplicationController @governmental_sphere_options = [[_("Select a Governmental Sphere"), 0]]|GovernmentalSphere.all.map {|s| [s.name, s.id]} @governmental_power_options = [[_("Select a Governmental Power"), 0]]|GovernmentalPower.all.map {|g| [g.name, g.id]} @juridical_nature_options = [[_("Select a Juridical Nature"), 0]]|JuridicalNature.all.map {|j| [j.name, j.id]} - if request.xhr? render :layout=>false else @@ -67,7 +66,6 @@ class GovUserPluginController < ApplicationController response_message = save_institution @institutions if request.xhr? #User create institution - puts "-"*80, response_message render :json => response_message.to_json else #Admin create institution session[:notice] = response_message[:message] # consume the notice @@ -187,7 +185,6 @@ class GovUserPluginController < ApplicationController institution.date_modification = DateTime.now institution.save - institution end @@ -208,9 +205,12 @@ class GovUserPluginController < ApplicationController end def save_institution institution + inst_errors = institution.errors.full_messages com_errors = institution.community.errors.full_messages + set_error_css institution + if inst_errors.empty? && com_errors.empty? && institution.valid? && institution.save { :success => true, :message => _("Institution successful created!"), @@ -233,4 +233,19 @@ class GovUserPluginController < ApplicationController end end + def set_error_css institution + institution.valid? + institution.community.valid? + params[:error_community_name] = institution.community.errors.include?(:name) ? "highlight-error" : "" + params[:error_community_country] = institution.community.errors.include?(:country) ? "highlight-error" : "" + params[:error_community_city] = institution.errors.include?(:city) ? "highlight-error" : "" + params[:error_community_state] = institution.errors.include?(:state) ? "highlight-error" : "" + params[:error_institution_corporate_name] = institution.errors.include?(:corporate_name) ? "highlight-error" : "" + params[:error_institution_acronym] = institution.errors.include?(:acronym) ? "highlight-error" : "" + params[:error_institution_cnpj] = institution.errors.include?(:cnpj) ? "highlight-error" : "" + params[:error_institution_governmental_sphere] = institution.errors.include?(:governmental_sphere) ? "highlight-error" : "" + params[:error_institution_governmental_power] = institution.errors.include?(:governmental_power) ? "highlight-error" : "" + params[:error_institution_juridical_nature] = institution.errors.include?(:juridical_nature) ? "highlight-error" : "" + params[:error_institution_sisp] = institution.errors.include?(:sisp) ? "highlight-error" : "" + end end diff --git a/lib/gov_user_plugin.rb b/lib/gov_user_plugin.rb index e656962..be08282 100644 --- a/lib/gov_user_plugin.rb +++ b/lib/gov_user_plugin.rb @@ -19,6 +19,10 @@ class GovUserPlugin < Noosfero::Plugin _("A plugin that does this and that.") end + def stylesheet? + true + end + # Hotspot to insert html without an especific hotspot on view. def body_beginning return if context.session[:user].nil? or context.session[:hide_incomplete_percentage] == true diff --git a/public/style.css b/public/style.css index 00381f3..c1fdab2 100644 --- a/public/style.css +++ b/public/style.css @@ -18,3 +18,9 @@ background: #fff; border: solid 1px #000; } + +.highlight-error { + outline: none; + border-color: #FF0000; + box-shadow: 0 0 10px #FF0000; +} diff --git a/views/gov_user_plugin/_institution.html.erb b/views/gov_user_plugin/_institution.html.erb index 8e56682..671c4cc 100644 --- a/views/gov_user_plugin/_institution.html.erb +++ b/views/gov_user_plugin/_institution.html.erb @@ -39,15 +39,14 @@ - - <%= required f.text_field(:name, :value => params[:community][:name], :size => 55) %> + <%= required f.text_field(:name, :value => params[:community][:name], :size => 55, :class => "#{params[:error_community_name]}" ) %> <%= content_tag :span, _("Institution name already exists"), :id=>"already_exists_text", :class=>"errorExplanation hide-field" %>
>
<%= inst.label "corporate_name", _("Corporate Name"), :class=>"formlabel" %> - <%= required inst.text_field(:corporate_name, :value => params[:institutions][:corporate_name], :size => 55) %> + <%= required inst.text_field(:corporate_name, :value => params[:institutions][:corporate_name], :size => 55, :class => "#{params[:error_institution_corporate_name]}") %>
@@ -57,46 +56,46 @@ <%= hidden_field_tag "acronym_translate", _("Acronym") %> <%= hidden_field_tag "fantasy_name_translate", _("Fantasy name") %> <%= inst.label("acronym" ,_("Acronym"), :class=>"formlabel") %> - <%= inst.text_field(:acronym, :value => params[:institutions][:acronym]) %> + <%= inst.text_field(:acronym, :value => params[:institutions][:acronym], :class => "#{params[:error_institution_acronym]}") %> - <%= required select_country(_('Country'), 'community', 'country', {:class => 'type-select', :id => "community_country"}) %> + <%= required select_country(_('Country'), 'community', 'country', {:class => "type-select #{params[:error_community_country]}", :id => "community_country"}) %>
- <%= f.select(:state, @state_options, :selected => params[:community][:state]) %> + <%= f.select(:state, @state_options, :selected => params[:community][:state], :class => "#{params[:error_community_state]}") %>
- <%= required f.text_field(:city, :value => params[:community][:city], :id => "city_field") %> + <%= required f.text_field(:city, :value => params[:community][:city], :id => "city_field", :class => "#{params[:error_community_city]}") %>
<%= inst.label("cnpj" ,_("CNPJ"), :class=>"formlabel") %> - <%= required inst.text_field(:cnpj, :value => params[:institutions][:cnpj], :placeholder=>"99.999.999/9999-99", :class=>"intitution_cnpj_field") %> + <%= required inst.text_field(:cnpj, :value => params[:institutions][:cnpj], :placeholder=>"99.999.999/9999-99", :class=>"intitution_cnpj_field #{params[:error_institution_cnpj]}") %>
<%= inst.label("governmental_sphere_id" ,_("Governmental Sphere:"), :class=>"formlabel") %> - <%= inst.select(:governmental_sphere, @governmental_sphere_options, :selected => params[:institutions][:governmental_sphere])%> + <%= inst.select(:governmental_sphere, @governmental_sphere_options, :selected => params[:institutions][:governmental_sphere], :class => "#{params[:error_institution_governmental_sphere]}" )%>
<%= inst.label("governmental_power_id" ,_("Governmental Power:"), :class=>"formlabel") %> - <%= inst.select(:governmental_power, @governmental_power_options, :selected => params[:institutions][:governmental_power])%> + <%= inst.select(:governmental_power, @governmental_power_options, :selected => params[:institutions][:governmental_power], :class => "#{params[:error_institution_governmental_power]}")%>
<%= inst.label("juridical_nature_id" ,_("Juridical Nature:"), :class=>"formlabel") %> - <%= inst.select(:juridical_nature, @juridical_nature_options, :selected => params[:institutions][:juridical_nature])%> + <%= inst.select(:juridical_nature, @juridical_nature_options, :selected => params[:institutions][:juridical_nature], :class => "#{params[:error_institution_juridical_nature]}")%>
@@ -104,9 +103,9 @@
<%= _("SISP?") %> <% if @show_sisp_field %> - <%= inst.radio_button(:sisp, true) %> + <%= inst.radio_button(:sisp, true, :class => "#{params[:error_institution_sisp]}" ) %> <%= inst.label :sisp ,_("Yes"), :value => true %> - <%= inst.radio_button(:sisp, false, :checked=>"checked") %> + <%= inst.radio_button(:sisp, false, :checked=>"checked", :class => "#{params[:error_institution_sisp]}") %> <%= inst.label :sisp ,_("No"), :value => false %> <% else %> <%= inst.label("sisp", _("No")) %> -- libgit2 0.21.2