Commit decf285d73fd880934034f6c3eec342525d59a10
Committed by
Gabriela Navarro
1 parent
45943dde
Exists in
master
and in
5 other branches
Added errors messages from software categories on new software page
(correcoes_aderencia) Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Showing
3 changed files
with
19 additions
and
4 deletions
Show diff stats
controllers/mpog_software_plugin_myprofile_controller.rb
| ... | ... | @@ -56,9 +56,9 @@ class MpogSoftwarePluginMyprofileController < 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 < 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 < 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