Commit 3b4ec38ffa0cc4c3875bc124c881645204c54a66

Authored by David Silva
1 parent 1eecb40a
Exists in master and in 79 other branches add_sisp_to_chef, add_super_archives_plugin, api_for_colab, automates_core_packing, backup_not_prod, changes_in_buttons_on_content_panel, colab_automated_login, colab_spb_plugin_recipe, colab_widgets_settings, design_validation, dev_env_minimal, disable_email_dev, fix_breadcrumbs_position, fix_categories_software_link, fix_edit_institution, fix_edit_software_with_another_license, fix_get_license_info, fix_gitlab_assets_permission, fix_list_style_inside_article, fix_list_style_on_folder_elements, fix_members_pagination, fix_merge_request_url, fix_models_translations, fix_no_license, fix_software_api, fix_software_block_migration, fix_software_communities_translations, fix_software_communities_unit_test, fix_style_create_institution_admin_panel, fix_superarchives_imports, fix_sym_links_noosfero, focus_search_field_theme, gov-user-refactoring, gov-user-refactoring-rails4, header_fix, institution_modal_on_rating, kalibro-conf-refactoring, kalibro-processor-package, lxc_settings, margin_fix, mezuro_cookbook, prezento, refactor_download_block, refactor_software_communities, refactor_software_for_sisp, register_page, release-process, release-process-v2, remove-unused-images, remove_broken_theme, remove_secondary_email_from_user, remove_sisp_buttons, removing_super_archives_email, review_message, scope2method, signals_user_noosfero, sisp_catalog_header, sisp_colab_config, sisp_dev, sisp_dev_master, sisp_simple_version, software_as_organization, software_catalog_style_fix, software_communities_html_refactor, software_infos_api, spb_minimal_env, spb_to_rails4, spec_refactor, stable-4.1, stable-4.2, stable-4.x, temp_soft_comm_refactoring, theme_header, theme_javascript_refactory, thread_dropdown, thread_page, update_search_by_categories, update_software_api, update_softwares_boxes

Creates constroy_software method in mpog_software_plugin_myprofile_controller.

  - Create private methods to use it in
    mpog_software_plugin_myprofile_controller actions.

Signed-off-by: David Carlos <ddavidcarlos1392@gmail.com>
controllers/mpog_software_plugin_myprofile_controller.rb
@@ -6,24 +6,22 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -6,24 +6,22 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
6 6
7 def edit_institution 7 def edit_institution
8 @show_sisp_field = environment.admins.include?(current_user.person) 8 @show_sisp_field = environment.admins.include?(current_user.person)
9 - @state_list = NationalRegion.find(:all, :conditions => { :national_region_type_id => 2 }, :order => 'name') 9 + @state_list = NationalRegion.find(:all, :conditions =>
  10 + { :national_region_type_id => 2 },
  11 + :order => 'name')
10 @institution = @profile.institution 12 @institution = @profile.institution
11 update_institution if request.post? 13 update_institution if request.post?
12 end 14 end
13 15
14 def new_software 16 def new_software
15 - software_template = Community['software']  
16 - if !software_template.blank? && software_template.is_template  
17 - params["community"]["template_id"] = software_template.id unless params["community"].blank?  
18 - end  
19 - 17 + set_software_as_template
20 @community = Community.new(params[:community]) 18 @community = Community.new(params[:community])
21 @community.environment = environment 19 @community.environment = environment
22 @software_info = SoftwareInfo.new(params[:software_info]) 20 @software_info = SoftwareInfo.new(params[:software_info])
23 @license_info = if params[:license_info].nil? 21 @license_info = if params[:license_info].nil?
24 LicenseInfo.new 22 LicenseInfo.new
25 else 23 else
26 - LicenseInfo.find(:first, :conditions =>["version = ?","#{params[:license_info][:version]}"]) 24 + LicenseInfo.find(:first, :conditions => ["version = ?","#{params[:license_info][:version]}"])
27 end 25 end
28 control_software_creation 26 control_software_creation
29 end 27 end
@@ -38,7 +36,7 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -38,7 +36,7 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
38 update_software_atributes 36 update_software_atributes
39 37
40 return unless request.post? 38 return unless request.post?
41 - constroy_software 39 + @software_info = constroy_software
42 software_info_insert_models.call(@list_libraries, 'libraries') 40 software_info_insert_models.call(@list_libraries, 'libraries')
43 software_info_insert_models.call(@list_languages, 'software_languages') 41 software_info_insert_models.call(@list_languages, 'software_languages')
44 software_info_insert_models.call(@list_operating_systems, 'operating_systems') 42 software_info_insert_models.call(@list_operating_systems, 'operating_systems')
@@ -49,6 +47,7 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -49,6 +47,7 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
49 redirect_to :controller => 'profile_editor', :action => 'edit' 47 redirect_to :controller => 'profile_editor', :action => 'edit'
50 else 48 else
51 redirect_to :controller => 'profile_editor', :action => 'index' 49 redirect_to :controller => 'profile_editor', :action => 'index'
  50 + session[:notice] = _('Software updated sucessefuly')
52 end 51 end
53 rescue ActiveRecord::RecordInvalid => invalid 52 rescue ActiveRecord::RecordInvalid => invalid
54 end 53 end
@@ -117,6 +116,14 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -117,6 +116,14 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
117 @software_info.license_info = @license 116 @software_info.license_info = @license
118 @software_info.update_attributes(params[:software]) 117 @software_info.update_attributes(params[:software])
119 118
  119 + create_list_model_helpers
  120 +
  121 + @software_categories = SoftwareCategories::new params[:software_categories]
  122 + @software_info.software_categories = @software_categories unless params[:software_categories].nil?
  123 + @software_info
  124 + end
  125 +
  126 + def create_list_model_helpers
120 @list_libraries = LibraryHelper.list_libraries(params[:library]) 127 @list_libraries = LibraryHelper.list_libraries(params[:library])
121 @list_languages = SoftwareLanguageHelper.list_language(params[:language]) 128 @list_languages = SoftwareLanguageHelper.list_language(params[:language])
122 @list_databases = DatabaseHelper.list_database(params[:database]) 129 @list_databases = DatabaseHelper.list_database(params[:database])
@@ -129,15 +136,10 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -129,15 +136,10 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
129 :environment => environment, 136 :environment => environment,
130 :name => params[:community][:name], 137 :name => params[:community][:name],
131 :license_info => @license_info })) 138 :license_info => @license_info }))
132 - unless params[:q].nil?  
133 - admins = params[:q].split(/,/).map{ |n| environment.people.find n.to_i }  
134 139
135 - admins.each do |admin|  
136 - @community.add_member(admin)  
137 - @community.add_admin(admin)  
138 - end  
139 - end  
140 - if !environment.admins.include?(current_user.person) 140 + add_admin_to_community
  141 +
  142 + if !environment.admins.include?(current_user.person)
141 session[:notice] = _('Your new software request will be evaluated by an'\ 143 session[:notice] = _('Your new software request will be evaluated by an'\
142 'administrator. You will be notified.') 144 'administrator. You will be notified.')
143 redirect_to user.admin_url 145 redirect_to user.admin_url
@@ -156,4 +158,22 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController @@ -156,4 +158,22 @@ class MpogSoftwarePluginMyprofileController &lt; MyProfileController
156 @list_operating_systems = @software_info.operating_systems 158 @list_operating_systems = @software_info.operating_systems
157 @disabled_public_software_field = disabled_public_software_field 159 @disabled_public_software_field = disabled_public_software_field
158 end 160 end
  161 +
  162 + def set_software_as_template
  163 + software_template = Community['software']
  164 + software_valid = !software_template.blank? && software_template.is_template && !params['community'].blank?
  165 + if software_valid
  166 + params['community']['template_id'] = software_template.id if software_valid
  167 + end
  168 + end
  169 +
  170 + def add_admin_to_community
  171 + unless params[:q].nil?
  172 + admins = params[:q].split(/,/).map{ |n| environment.people.find n.to_i }
  173 + admins.each do |admin|
  174 + @community.add_member(admin)
  175 + @community.add_admin(admin)
  176 + end
  177 + end
  178 + end
159 end 179 end
lib/mpog_software_plugin.rb
@@ -21,7 +21,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin @@ -21,7 +21,7 @@ class MpogSoftwarePlugin &lt; Noosfero::Plugin
21 def profile_editor_extras 21 def profile_editor_extras
22 if context.profile.person? 22 if context.profile.person?
23 expanded_template('person_editor_extras.html.erb') 23 expanded_template('person_editor_extras.html.erb')
24 - elsif context.profile.respond_to? :software_info && 24 + elsif context.profile.respond_to?(:software_info) &&
25 !context.profile.software_info.nil? 25 !context.profile.software_info.nil?
26 26
27 if context.profile.software_info.first_edit? 27 if context.profile.software_info.first_edit?