Commit decf285d73fd880934034f6c3eec342525d59a10
Committed by
Gabriela Navarro
1 parent
45943dde
Exists in
master
and in
79 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