Commit decf285d73fd880934034f6c3eec342525d59a10

Authored by Fabio Teixeira
Committed by Gabriela Navarro
1 parent 45943dde
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Added errors messages from software categories on new software page

(correcoes_aderencia)

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
controllers/mpog_software_plugin_myprofile_controller.rb
... ... @@ -56,9 +56,9 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
56 56 valid_database = DatabaseHelper.valid_list_database?(@list_databases)
57 57 valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages)
58 58 valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems)
  59 + valid_software_categories = request.post? && @software_categories.valid?
59 60  
60   - if valid_software_info && valid_community && valid_libraries && valid_license && valid_language && valid_database && valid_operating_system
61   -
  61 + if valid_software_info && valid_community && valid_libraries && valid_license && valid_language && valid_database && valid_operating_system && valid_software_categories
62 62 @community = Community.create_after_moderation(user, {:environment => environment}.merge(params[:community]), @software_info, @license_info, @software_categories)
63 63  
64 64 unless params[:q].nil?
... ... @@ -87,9 +87,11 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
87 87 @list_operating_systems.each do |os|
88 88 @errors |= os.errors.full_messages
89 89 end
  90 +
90 91 @errors |= @community.errors.full_messages
91 92 @errors |= @software_info.errors.full_messages
92 93 @errors |= @license_info.errors.full_messages
  94 + @errors |= @software_categories.errors.full_messages
93 95 end
94 96 end
95 97  
... ...
lib/software_categories.rb
... ... @@ -7,4 +7,19 @@ class SoftwareCategories &lt; ActiveRecord::Base
7 7 :security_public_order , :work , :transportation , :urbanism
8 8  
9 9 belongs_to :software_info
  10 +
  11 + validate :verify_blank_fields
  12 +
  13 + def verify_blank_fields
  14 + ignore_list = ["id", "software_info_id"]
  15 +
  16 + fields = self.attribute_names - ignore_list
  17 +
  18 + one_is_filled = false
  19 + fields.each do |field|
  20 + one_is_filled = true if self[field] == true
  21 + end
  22 +
  23 + self.errors.add(:base, _("At last one category must be checked")) unless one_is_filled
  24 + end
10 25 end
11 26 \ No newline at end of file
... ...
lib/software_info.rb
... ... @@ -14,8 +14,6 @@ class SoftwareInfo &lt; ActiveRecord::Base
14 14  
15 15 has_one :software_categories
16 16  
17   - validates :software_categories, :presence=>true
18   -
19 17 validates :features, :objectives,
20 18 :presence=>true,
21 19 :length => {
... ...