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,9 +56,9 @@ class MpogSoftwarePluginMyprofileController < MyProfileController | ||
56 | valid_database = DatabaseHelper.valid_list_database?(@list_databases) | 56 | valid_database = DatabaseHelper.valid_list_database?(@list_databases) |
57 | valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages) | 57 | valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages) |
58 | valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems) | 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 | @community = Community.create_after_moderation(user, {:environment => environment}.merge(params[:community]), @software_info, @license_info, @software_categories) | 62 | @community = Community.create_after_moderation(user, {:environment => environment}.merge(params[:community]), @software_info, @license_info, @software_categories) |
63 | 63 | ||
64 | unless params[:q].nil? | 64 | unless params[:q].nil? |
@@ -87,9 +87,11 @@ class MpogSoftwarePluginMyprofileController < MyProfileController | @@ -87,9 +87,11 @@ class MpogSoftwarePluginMyprofileController < MyProfileController | ||
87 | @list_operating_systems.each do |os| | 87 | @list_operating_systems.each do |os| |
88 | @errors |= os.errors.full_messages | 88 | @errors |= os.errors.full_messages |
89 | end | 89 | end |
90 | + | ||
90 | @errors |= @community.errors.full_messages | 91 | @errors |= @community.errors.full_messages |
91 | @errors |= @software_info.errors.full_messages | 92 | @errors |= @software_info.errors.full_messages |
92 | @errors |= @license_info.errors.full_messages | 93 | @errors |= @license_info.errors.full_messages |
94 | + @errors |= @software_categories.errors.full_messages | ||
93 | end | 95 | end |
94 | end | 96 | end |
95 | 97 |
lib/software_categories.rb
@@ -7,4 +7,19 @@ class SoftwareCategories < ActiveRecord::Base | @@ -7,4 +7,19 @@ class SoftwareCategories < ActiveRecord::Base | ||
7 | :security_public_order , :work , :transportation , :urbanism | 7 | :security_public_order , :work , :transportation , :urbanism |
8 | 8 | ||
9 | belongs_to :software_info | 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 | end | 25 | end |
11 | \ No newline at end of file | 26 | \ No newline at end of file |
lib/software_info.rb
@@ -14,8 +14,6 @@ class SoftwareInfo < ActiveRecord::Base | @@ -14,8 +14,6 @@ class SoftwareInfo < ActiveRecord::Base | ||
14 | 14 | ||
15 | has_one :software_categories | 15 | has_one :software_categories |
16 | 16 | ||
17 | - validates :software_categories, :presence=>true | ||
18 | - | ||
19 | validates :features, :objectives, | 17 | validates :features, :objectives, |
20 | :presence=>true, | 18 | :presence=>true, |
21 | :length => { | 19 | :length => { |