Commit e45cbbf7a5131039e7bbb7d5e6740dee58af8d79
Committed by
Fabio Teixeira
1 parent
8936e302
Exists in
master
and in
5 other branches
Edit specific software information
Signed-off-by: Arthur Del Esposte <arthurmde@gmail.com> Signed-off-by: Gabriela Navarro <navarro1703@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
5 changed files
with
83 additions
and
117 deletions
Show diff stats
controllers/mpog_software_plugin_myprofile_controller.rb
| ... | ... | @@ -66,48 +66,63 @@ class MpogSoftwarePluginMyprofileController < MyProfileController |
| 66 | 66 | end |
| 67 | 67 | |
| 68 | 68 | def edit_software |
| 69 | - | |
| 70 | - @list_libraries = LibraryHelper.list_libraries(params[:library]) | |
| 71 | - @list_languages = SoftwareLanguageHelper.list_language(params[:language]) | |
| 72 | - @list_databases = DatabaseHelper.list_database(params[:database]) | |
| 73 | - @software_categories = SoftwareCategories::new params[:software_categories] | |
| 74 | - @list_operating_systems = OperatingSystemHelper.list_operating_system(params[:operating_system]) | |
| 75 | - | |
| 76 | - | |
| 77 | - if not @list_libraries.nil? | |
| 78 | - @list_libraries.each do |library| | |
| 79 | - @software_info.libraries << library | |
| 69 | + @software_info = @profile.software_info | |
| 70 | + @list_libraries = @software_info.libraries | |
| 71 | + @list_databases = @software_info.software_databases | |
| 72 | + @list_languages = @software_info.software_languages | |
| 73 | + @list_operating_systems = @software_info.operating_systems | |
| 74 | + @software_categories = @software_info.software_categories | |
| 75 | + @software_categories = SoftwareCategories.new if @software_categories.blank? | |
| 76 | + if request.post? | |
| 77 | + @software_info = SoftwareInfo.find(Community.where(:name => params[:name]).first.software_info.id) | |
| 78 | + @license = LicenseInfo.find(params[:license][:license_infos_id]) | |
| 79 | + @software_info.license_info = @license | |
| 80 | + @software_info.update_attributes(params[:software]) | |
| 81 | + | |
| 82 | + @list_libraries = LibraryHelper.list_libraries(params[:library]) | |
| 83 | + @list_languages = SoftwareLanguageHelper.list_language(params[:language]) | |
| 84 | + @list_databases = DatabaseHelper.list_database(params[:database]) | |
| 85 | + @software_categories = SoftwareCategories::new params[:software_categories] | |
| 86 | + @list_operating_systems = OperatingSystemHelper.list_operating_system(params[:operating_system]) | |
| 87 | + | |
| 88 | + @software_info.software_categories = @software_categories | |
| 89 | + | |
| 90 | + if not @list_libraries.nil? | |
| 91 | + @software_info.libraries.destroy_all | |
| 92 | + @list_libraries.each do |library| | |
| 93 | + @software_info.libraries << library | |
| 94 | + end | |
| 80 | 95 | end |
| 81 | - end | |
| 82 | 96 | |
| 83 | - if not @list_languages.nil? | |
| 84 | - @list_languages.each do |language| | |
| 85 | - @software_info.software_languages << language | |
| 97 | + if not @list_languages.nil? | |
| 98 | + @software_info.software_languages.destroy_all | |
| 99 | + @list_languages.each do |language| | |
| 100 | + @software_info.software_languages << language | |
| 101 | + end | |
| 86 | 102 | end |
| 87 | - end | |
| 88 | 103 | |
| 89 | - if not @list_databases.nil? | |
| 90 | - @list_databases.each do |database| | |
| 91 | - @software_info.software_databases << database | |
| 104 | + if not @list_databases.nil? | |
| 105 | + @software_info.software_databases.destroy_all | |
| 106 | + @list_databases.each do |database| | |
| 107 | + @software_info.software_databases << database | |
| 108 | + end | |
| 92 | 109 | end |
| 93 | - end | |
| 94 | 110 | |
| 95 | - if not @list_operating_systems.nil? | |
| 96 | - @list_operating_systems.each do |operating_system| | |
| 97 | - @software_info.operating_systems << operating_system | |
| 111 | + if not @list_operating_systems.nil? | |
| 112 | + @software_info.operating_systems.destroy_all | |
| 113 | + @list_operating_systems.each do |operating_system| | |
| 114 | + @software_info.operating_systems << operating_system | |
| 115 | + end | |
| 98 | 116 | end |
| 99 | - end | |
| 100 | 117 | |
| 101 | - valid_libraries = @list_libraries.empty? || LibraryHelper.valid_list_libraries?(@list_libraries) | |
| 102 | - valid_database = DatabaseHelper.valid_list_database?(@list_databases) | |
| 103 | - valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages) | |
| 104 | - valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems) | |
| 105 | - valid_software_categories = request.post? && @software_categories.valid? | |
| 118 | + valid_libraries = @list_libraries.empty? || LibraryHelper.valid_list_libraries?(@list_libraries) | |
| 119 | + valid_database = DatabaseHelper.valid_list_database?(@list_databases) | |
| 120 | + valid_language = SoftwareLanguageHelper.valid_list_language?(@list_languages) | |
| 121 | + valid_operating_system = OperatingSystemHelper.valid_list_operating_system?(@list_operating_systems) | |
| 122 | + valid_software_categories = request.post? && @software_categories.valid? | |
| 106 | 123 | |
| 107 | - if request.post? | |
| 108 | - #@software_info.update_attributes(params[:software]) | |
| 109 | - #@software_info.save! | |
| 124 | + @software_info.save! | |
| 110 | 125 | end |
| 111 | 126 | end |
| 112 | 127 | |
| 113 | -end | |
| 114 | 128 | \ No newline at end of file |
| 129 | +end | ... | ... |
db/migrate/20141013193939_add_repository_link_to_software.rb
0 → 100644
lib/software_info.rb
| 1 | 1 | class SoftwareInfo < ActiveRecord::Base |
| 2 | - # attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform, :demonstration_url, :acronym, :objectives, :features, :license_infos_id, :community_id, :finality | |
| 3 | - attr_accessible :finality | |
| 2 | + attr_accessible :e_mag, :icp_brasil, :intern, :e_ping, :e_arq, :operating_platform, :demonstration_url, :acronym, :objectives, :features, :license_infos_id, :community_id, :finality, :repository_link | |
| 4 | 3 | |
| 5 | 4 | has_many :libraries, :dependent => :destroy |
| 6 | 5 | has_many :software_databases | ... | ... |
views/mpog_software_plugin_myprofile/_main_software_editor_extras.html.erb
| ... | ... | @@ -14,7 +14,7 @@ |
| 14 | 14 | |
| 15 | 15 | <h3> <%= _("Licenses") %> </h3> |
| 16 | 16 | <div id='licenses'> |
| 17 | - <%= select_tag(:version, options_for_select(LicenseHelper.getListLicenses.collect{|l| [l.version, l.id]}, :selected => @profile.software_info.license_info.id), :onchange => "get_license_link('version')") %> | |
| 17 | + <%= select_tag("license[license_infos_id]", options_for_select(LicenseHelper.getListLicenses.collect{|l| [l.version, l.id]}, :selected => @profile.software_info.license_info.id), :onchange => "get_license_link('version')") %> | |
| 18 | 18 | <br /> |
| 19 | 19 | |
| 20 | 20 | <h4> <%= _("License link") %> </h4> |
| ... | ... | @@ -27,6 +27,6 @@ |
| 27 | 27 | |
| 28 | 28 | <div class="formfieldline formfield type-text"> |
| 29 | 29 | <%= label_tag "repository_url", _("Link to Repository: ") %> |
| 30 | - <%= text_field_tag(:reository_url) %> | |
| 30 | + <%= text_field_tag("software[repository_link]", @profile.software_info.repository_link) %> | |
| 31 | 31 | </div> |
| 32 | 32 | ... | ... |
views/mpog_software_plugin_myprofile/_public_software_info.html.erb
| 1 | 1 | <h1><%= _('Edit software') %></h1> |
| 2 | 2 | |
| 3 | 3 | <div class="formfield type-text"> |
| 4 | - <%= label_tag("acronym" ,_("Acronym"), :class=>"formlabel") %> | |
| 5 | - <%= text_field_tag(:acronym) %> | |
| 4 | + <%= label_tag(:acronym ,_("Acronym"), :class=>"formlabel") %> | |
| 5 | + <%= text_field_tag("software[acronym]", @software_info.acronym) %> | |
| 6 | 6 | </div> |
| 7 | 7 | |
| 8 | 8 | <div class="formfieldline"> |
| 9 | 9 | <%= label_tag _("Adherent to e-PING ?") %> |
| 10 | 10 | |
| 11 | 11 | <%= label_tag "e_ping_true", "Yes" %> |
| 12 | - <%= radio_button_tag(:e_ping,true)%> | |
| 12 | + <%= radio_button_tag("software[e_ping]", true, @software_info.e_ping)%> | |
| 13 | 13 | <%= label_tag "e_ping_false", "No"%> |
| 14 | - <%= radio_button_tag(:e_ping,false)%> | |
| 14 | + <%= radio_button_tag("software[e_ping]", false, !@software_info.e_ping)%> | |
| 15 | 15 | </div> |
| 16 | 16 | |
| 17 | 17 | <div class="formfieldline"> |
| 18 | 18 | <%= label_tag _("Adherent to e-MAG ?") %> |
| 19 | 19 | |
| 20 | 20 | <%= label_tag "e_mag_true", "Yes"%> |
| 21 | - <%= radio_button_tag(:e_mag,true)%> | |
| 21 | + <%= radio_button_tag("software[e_mag]", true, @software_info.e_mag)%> | |
| 22 | 22 | <%= label_tag "e_mag_false", "No"%> |
| 23 | - <%= radio_button_tag(:e_mag,false)%> | |
| 23 | + <%= radio_button_tag("software[e_mag]", false, !@software_info.e_mag)%> | |
| 24 | 24 | </div> |
| 25 | 25 | |
| 26 | 26 | <div class="formfieldline"> |
| 27 | 27 | <%= label_tag _("Adherent to ICP-Brasil ?") %> |
| 28 | 28 | |
| 29 | 29 | <%= label_tag "icp_brasil_true", "Yes"%> |
| 30 | - <%= radio_button_tag(:icp_brasil,true)%> | |
| 30 | + <%= radio_button_tag("software[icp_brasil]", true, @software_info.icp_brasil)%> | |
| 31 | 31 | <%= label_tag "icp_brasil_false", "No"%> |
| 32 | - <%= radio_button_tag(:icp_brasil,false)%> | |
| 32 | + <%= radio_button_tag("software[icp_brasil]", false, !@software_info.icp_brasil)%> | |
| 33 | 33 | </div> |
| 34 | 34 | |
| 35 | 35 | <div class="formfieldline"> |
| 36 | 36 | <%= label_tag _("Adherent to e-ARQ ?") %> |
| 37 | 37 | |
| 38 | 38 | <%= label_tag "e_arq_true", "Yes"%> |
| 39 | - <%= radio_button_tag(:e_arq,true)%> | |
| 39 | + <%= radio_button_tag("software[e_arq]", true, @software_info.e_arq)%> | |
| 40 | 40 | <%= label_tag "e_arq_false", "No"%> |
| 41 | - <%= radio_button_tag(:e_arq,false)%> | |
| 41 | + <%= radio_button_tag("software[e_arq]", false, !@software_info.e_arq)%> | |
| 42 | 42 | </div> |
| 43 | 43 | |
| 44 | 44 | <div class="formfieldline"> |
| 45 | 45 | <%= label_tag _("Internacionalizable ?") %> |
| 46 | 46 | |
| 47 | 47 | <%= label_tag "intern_true", "Yes" %> |
| 48 | - <%= radio_button_tag(:intern,true)%> | |
| 48 | + <%= radio_button_tag("software[intern]", true, @software_info.intern)%> | |
| 49 | 49 | <%= label_tag "intern_false", "No"%> |
| 50 | - <%= radio_button_tag(:intern,false)%> | |
| 50 | + <%= radio_button_tag("software[intern]", false, !@software_info.intern)%> | |
| 51 | 51 | <div class="formfieldline"> |
| 52 | 52 | <%= label_tag "operating_platform", _("Operating Platform: ") %> <br /> |
| 53 | - <%= text_area_tag :operating_platform %> | |
| 53 | + <%= text_area_tag "software[operating_platform]", @software_info.operating_platform %> | |
| 54 | 54 | </div> |
| 55 | 55 | |
| 56 | 56 | <div class="formfieldline"> |
| 57 | 57 | <%= label_tag "objectives", _("Objectives: ")%><br /> |
| 58 | - <%= text_area_tag :objectives %> | |
| 58 | + <%= text_area_tag "software[objectives]", @software_info.objectives%> | |
| 59 | 59 | </div> |
| 60 | 60 | |
| 61 | 61 | <div class="formfieldline"> |
| 62 | 62 | <%= label_tag "features", _("Features: ")%><br /> |
| 63 | - <%= text_area_tag :features %> | |
| 63 | + <%= text_area_tag "software[features]", @software_info.features %> | |
| 64 | 64 | </div> |
| 65 | 65 | |
| 66 | 66 | <div id='libraries_fields'> |
| ... | ... | @@ -94,69 +94,12 @@ |
| 94 | 94 | <div id="software_categories_fields"> |
| 95 | 95 | <h4> <%= _("Software Categories:") %> </h4> |
| 96 | 96 | |
| 97 | - <%= check_box_tag :administration %> | |
| 98 | - <%= label_tag :administration, _("Administration") %><br /> | |
| 97 | + <% @software_categories.attributes.each do |k, v| %> | |
| 98 | + <% if not k == "id" and not k == "software_info_id" %> | |
| 99 | + <%= check_box_tag "software_categories[#{k}]", "true", !v.blank? %> | |
| 100 | + <%= label_tag k.to_sym, _("#{k.gsub("_", " ").capitalize}") %><br /> | |
| 101 | + <% puts "="*80, v%> | |
| 102 | + <% end %> | |
| 103 | + <% end %> | |
| 99 | 104 | |
| 100 | - <%= check_box_tag :agriculture %> | |
| 101 | - <%= label_tag :agriculture, _("Agriculture") %><br /> | |
| 102 | - | |
| 103 | - <%= check_box_tag :business_and_services %> | |
| 104 | - <%= label_tag :business_and_services, _("Business_and Services") %><br /> | |
| 105 | - | |
| 106 | - <%= check_box_tag :communication %> | |
| 107 | - <%= label_tag :communication, _("Communication") %><br /> | |
| 108 | - | |
| 109 | - <%= check_box_tag :culture %> | |
| 110 | - <%= label_tag :culture, _("Culture") %><br /> | |
| 111 | - | |
| 112 | - <%= check_box_tag :national_defense %> | |
| 113 | - <%= label_tag :national_defense, _("National Defense") %><br /> | |
| 114 | - | |
| 115 | - <%= check_box_tag :economy_and_finances %> | |
| 116 | - <%= label_tag :economy_and_finances, _("Economy and Finances") %><br /> | |
| 117 | - | |
| 118 | - <%= check_box_tag :education %> | |
| 119 | - <%= label_tag :education, _("Education") %><br /> | |
| 120 | - | |
| 121 | - <%= check_box_tag :energy %> | |
| 122 | - <%= label_tag :energy, _("Energy") %><br /> | |
| 123 | - | |
| 124 | - <%= check_box_tag :sports %> | |
| 125 | - <%= label_tag :sports, _("Sports") %><br /> | |
| 126 | - | |
| 127 | - <%= check_box_tag :habitation %> | |
| 128 | - <%= label_tag :habitation, _("Habitation") %><br /> | |
| 129 | - | |
| 130 | - <%= check_box_tag :industry %> | |
| 131 | - <%= label_tag :industry, _("Industry") %><br /> | |
| 132 | - | |
| 133 | - <%= check_box_tag :environment %> | |
| 134 | - <%= label_tag :environment, _("Environment") %><br /> | |
| 135 | - | |
| 136 | - <%= check_box_tag :research_and_development %> | |
| 137 | - <%= label_tag :research_and_development, _("Research and Development") %><br /> | |
| 138 | - | |
| 139 | - <%= check_box_tag :social_security %> | |
| 140 | - <%= label_tag :social_security, _("Social Security") %><br /> | |
| 141 | - | |
| 142 | - <%= check_box_tag :social_protection %> | |
| 143 | - <%= label_tag :social_protection, _("Social Protection") %><br /> | |
| 144 | - | |
| 145 | - <%= check_box_tag :sanitation %> | |
| 146 | - <%= label_tag :sanitation, _("Sanitation") %><br /> | |
| 147 | - | |
| 148 | - <%= check_box_tag :health %> | |
| 149 | - <%= label_tag :health, _("Health") %><br /> | |
| 150 | - | |
| 151 | - <%= check_box_tag :security_public_order %> | |
| 152 | - <%= label_tag :security_public_order, _("Security and Public Order") %><br /> | |
| 153 | - | |
| 154 | - <%= check_box_tag :work %> | |
| 155 | - <%= label_tag :work, _("Work") %><br /> | |
| 156 | - | |
| 157 | - <%= check_box_tag :transportation %> | |
| 158 | - <%= label_tag :transportation, _("Transportation") %><br /> | |
| 159 | - | |
| 160 | - <%= check_box_tag :urbanism %> | |
| 161 | - <%= label_tag :urbanism, _("Urbanism") %><br /> | |
| 162 | -</div> | |
| 163 | 105 | \ No newline at end of file |
| 106 | +</div> | ... | ... |