Commit 28ca885dad773b1a6958da49658351340ede5b4b
Committed by
Thiago Ribeiro
1 parent
babb6d68
Exists in
refactor_software_info_365
Refactor software creation control
Signed-off-by: Luciano Prestes Cavalcanti <lucianopcbr@gmail.com> Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com>
Showing
1 changed file
with
16 additions
and
23 deletions
Show diff stats
controllers/software_communities_plugin_myprofile_controller.rb
| @@ -9,19 +9,16 @@ class SoftwareCommunitiesPluginMyprofileController < MyProfileController | @@ -9,19 +9,16 @@ class SoftwareCommunitiesPluginMyprofileController < 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 < MyProfileController | @@ -48,7 +45,7 @@ class SoftwareCommunitiesPluginMyprofileController < 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 < MyProfileController | @@ -71,11 +68,15 @@ class SoftwareCommunitiesPluginMyprofileController < 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 < MyProfileController | @@ -133,7 +134,7 @@ class SoftwareCommunitiesPluginMyprofileController < 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 < MyProfileController | @@ -183,15 +184,7 @@ class SoftwareCommunitiesPluginMyprofileController < 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 |