Commit 28ca885dad773b1a6958da49658351340ede5b4b

Authored by Luciano Prestes
Committed by Thiago Ribeiro
1 parent babb6d68

Refactor software creation control

Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com>
Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com>
controllers/software_communities_plugin_myprofile_controller.rb
@@ -9,19 +9,16 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController @@ -9,19 +9,16 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController
9 9
10 @community = Community.new(params[:community]) 10 @community = Community.new(params[:community])
11 @community.environment = environment 11 @community.environment = environment
12 - @software_info = SoftwareInfo.new(params[:software_info])  
13 12
14 - @license_info = if params[:license].blank? or params[:license][:license_infos_id].blank?  
15 - LicenseInfo.new  
16 - else  
17 - LicenseInfo.find(params[:license][:license_infos_id])  
18 - end 13 + @license_info = LicenseInfo.find_by_id(params[:license][:license_infos_id]) if params[:license]
  14 + @license_info ||= LicenseInfo.new
19 15
  16 + @software_info = SoftwareInfo.new(params[:software_info])
20 @software_info.community = @community 17 @software_info.community = @community
21 @software_info.license_info = @license_info 18 @software_info.license_info = @license_info
22 19
23 control_software_creation 20 control_software_creation
24 - update_new_software_errors 21 + update_software_highlight_errors
25 end 22 end
26 23
27 def edit_software 24 def edit_software
@@ -48,7 +45,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController @@ -48,7 +45,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController
48 session[:notice] = _('Software updated successfully') 45 session[:notice] = _('Software updated successfully')
49 end 46 end
50 rescue ActiveRecord::RecordInvalid => invalid 47 rescue ActiveRecord::RecordInvalid => invalid
51 - update_new_software_errors 48 + update_software_highlight_errors
52 session[:notice] = _('Could not update software') 49 session[:notice] = _('Could not update software')
53 end 50 end
54 end 51 end
@@ -71,11 +68,15 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController @@ -71,11 +68,15 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController
71 end 68 end
72 69
73 def control_software_creation 70 def control_software_creation
74 - valid_models = request.post? && (@community.valid? && @software_info.valid? && @license_info.valid?)  
75 - if valid_models  
76 - send_software_to_moderation  
77 - else  
78 - add_software_erros 71 + if request.post?
  72 + valid_models = @community.valid?
  73 + valid_models &= @software_info.valid?
  74 + valid_models &= @license_info.valid?
  75 + if valid_models
  76 + send_software_to_moderation
  77 + else
  78 + add_software_erros
  79 + end
79 end 80 end
80 end 81 end
81 82
@@ -133,7 +134,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController @@ -133,7 +134,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController
133 134
134 add_admin_to_community 135 add_admin_to_community
135 136
136 - if !environment.admins.include?(current_user.person) 137 + if !environment.admins.include?(current_user.person)
137 session[:notice] = _('Your new software request will be evaluated by an'\ 138 session[:notice] = _('Your new software request will be evaluated by an'\
138 'administrator. You will be notified.') 139 'administrator. You will be notified.')
139 redirect_to user.admin_url 140 redirect_to user.admin_url
@@ -183,15 +184,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController @@ -183,15 +184,7 @@ class SoftwareCommunitiesPluginMyprofileController &lt; MyProfileController
183 end 184 end
184 end 185 end
185 186
186 - def update_new_software_errors  
187 - if request.post?  
188 - @community.valid? if @community  
189 - @software_info.valid? if @software_info  
190 - @license_info.valid? if @license_info  
191 - add_software_erros  
192 - end  
193 -  
194 - 187 + def update_software_highlight_errors
195 @error_community_name = @community.errors.include?(:name) ? "highlight-error" : "" if @community 188 @error_community_name = @community.errors.include?(:name) ? "highlight-error" : "" if @community
196 @error_software_acronym = @software_info.errors.include?(:acronym) ? "highlight-error" : "" if @software_info 189 @error_software_acronym = @software_info.errors.include?(:acronym) ? "highlight-error" : "" if @software_info
197 @error_software_domain = @community.errors.include?(:identifier) ? "highlight-error" : "" if @community 190 @error_software_domain = @community.errors.include?(:identifier) ? "highlight-error" : "" if @community