Commit 250d3d380cd5c5c8a0e2f9744e19116d23ea5574

Authored by Fabio Teixeira
Committed by David Silva
1 parent 1a947629
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

Remove operating system from software tab and reuse DynamicTable on it

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Parley Martins <parley@outlook.com>
lib/database_helper.rb
... ... @@ -3,8 +3,7 @@ module DatabaseHelper
3 3 FIELD_NAME = "database_description_id"
4 4 COLLUMN_NAME = {
5 5 name: "name",
6   - version: "version",
7   - operating_system: "operating_system"
  6 + version: "version"
8 7 }
9 8  
10 9 def self.valid_database? database
... ... @@ -30,7 +29,6 @@ module DatabaseHelper
30 29 new_database[:database_description_id]
31 30  
32 31 database.version = new_database[:version]
33   - database.operating_system = new_database[:operating_system]
34 32 list_databases << database
35 33 end
36 34 end
... ... @@ -48,21 +46,21 @@ module DatabaseHelper
48 46 true
49 47 end
50 48  
51   - def self.database_as_tables(list_databases)
  49 + def self.database_as_tables(list_databases, disabled=false)
52 50 return database_html_structure(
53   - {:database_description_id => "", :version => "", :operating_system => ""}
  51 + {:database_description_id => "", :version => ""}, disabled
54 52 ) if list_databases.nil?
55 53  
56 54 lambdas_list = []
57 55  
58 56 list_databases.each do |database|
59   - lambdas_list << database_html_structure(database)
  57 + lambdas_list << database_html_structure(database, disabled)
60 58 end
61 59  
62 60 lambdas_list
63 61 end
64 62  
65   - def self.database_html_structure(database_data)
  63 + def self.database_html_structure(database_data, disabled)
66 64 database_id = database_data[:database_description_id]
67 65 database_name = if database_data[:database_description_id].blank?
68 66 ""
... ... @@ -93,7 +91,7 @@ module DatabaseHelper
93 91 }
94 92 }
95 93  
96   - DynamicTableHelper.table_html_structure(data)
  94 + DynamicTableHelper.table_html_structure(data, disabled)
97 95 end
98 96  
99 97 def self.add_dynamic_table
... ...
lib/dynamic_table_helper.rb
... ... @@ -9,11 +9,12 @@ module DynamicTableHelper
9 9 LABEL_TEXT = {
10 10 :name => _("Name"),
11 11 :version => _("Version"),
12   - :operating_system => _("Operating system"),
13 12 :license => _("License")
14 13 }
  14 + @disabled = false
15 15  
16   - def self.table_html_structure data={}
  16 + def self.table_html_structure data={}, disabled=false
  17 + @disabled = disabled
17 18 Proc::new do
18 19 content_tag :table , DynamicTableHelper.generate_table_lines(data), :class => "dynamic-table"
19 20 end
... ... @@ -46,7 +47,7 @@ module DynamicTableHelper
46 47 content_tag :td, label_tag(label)
47 48 end
48 49  
49   - def self.value_collumn value="", name="", autocomplete=false
  50 + def self.value_collumn value="", name="", autocomplete=false, disabled=false
50 51 html_options =
51 52 if autocomplete
52 53 {
... ... @@ -57,6 +58,7 @@ module DynamicTableHelper
57 58 {}
58 59 end
59 60  
  61 + html_options[:disabled] = @disabled
60 62 if autocomplete
61 63 content_tag :td, text_field_tag("#{@model}_autocomplete", value, html_options)
62 64 else
... ... @@ -66,7 +68,9 @@ module DynamicTableHelper
66 68  
67 69 def self.hidden_collumn delete=false, hidden_data=false
68 70 value =
69   - if delete
  71 + if @disabled
  72 + nil
  73 + elsif delete
70 74 button_without_text(
71 75 :delete, _('Delete'), "#" , :class=>"delete-dynamic-table"
72 76 )
... ...
lib/software_language_helper.rb
... ... @@ -3,8 +3,7 @@ module SoftwareLanguageHelper
3 3 FIELD_NAME = "programming_language_id"
4 4 COLLUMN_NAME = {
5 5 name: "name",
6   - version: "version",
7   - operating_system: "operating_system"
  6 + version: "version"
8 7 }
9 8  
10 9 def self.valid_language? language
... ... @@ -29,7 +28,6 @@ module SoftwareLanguageHelper
29 28 language.programming_language =
30 29 ProgrammingLanguage.find(new_language[:programming_language_id])
31 30 language.version = new_language[:version]
32   - language.operating_system = new_language[:operating_system]
33 31 list_languages << language
34 32 end
35 33 end
... ... @@ -47,21 +45,21 @@ module SoftwareLanguageHelper
47 45 true
48 46 end
49 47  
50   - def self.language_as_tables(list_languages)
  48 + def self.language_as_tables(list_languages, disabled=false)
51 49 return language_html_structure(
52   - {:programming_language_id => "", :version => "", :operating_system => ""}
  50 + {:programming_language_id => "", :version => ""}, disabled
53 51 ) if list_languages.nil?
54 52  
55 53 lambdas_list = []
56 54  
57 55 list_languages.each do |language|
58   - lambdas_list << language_html_structure(language)
  56 + lambdas_list << language_html_structure(language, disabled)
59 57 end
60 58  
61 59 lambdas_list
62 60 end
63 61  
64   - def self.language_html_structure(language_data)
  62 + def self.language_html_structure(language_data, disabled)
65 63 language_id = language_data[:programming_language_id]
66 64 language_name = if language_data[:programming_language_id].blank?
67 65 ""
... ... @@ -92,7 +90,7 @@ module SoftwareLanguageHelper
92 90 }
93 91 }
94 92  
95   - DynamicTableHelper.table_html_structure(data)
  93 + DynamicTableHelper.table_html_structure(data, disabled)
96 94 end
97 95  
98 96 def self.add_dynamic_table
... ...
views/profile/_software_tab.html.erb
... ... @@ -50,11 +50,13 @@
50 50 <tr>
51 51 <td>
52 52 <table class = "database-info dynamic-table">
53   - <%= content_tag('tr', content_tag('td', _("Program Database")) + content_tag('td', '')) %>
54   - <% profile.software_info.software_databases.each do |database| %>
55   - <%= display_mpog_field(_('Name:'), DatabaseDescription.find(database.database_description_id), :name, true) %>
56   - <%= display_mpog_field(_('Version:'), database, :version, true) %>
57   - <% end %>
  53 + <%= content_tag('tr', content_tag('td', _("Software Databases")) + content_tag('td', '')) %>
  54 + <tr> <td>
  55 + <% databases = profile.software_info.software_databases %>
  56 + <% DatabaseHelper.database_as_tables(databases, true).each do |tab| %>
  57 + <%= tab.call %>
  58 + <%end%>
  59 + </td> </tr>
58 60 </table>
59 61 </td>
60 62 </tr>
... ... @@ -68,11 +70,13 @@
68 70 <tr>
69 71 <td>
70 72 <table class = "language-info dynamic-table">
71   - <%= content_tag('tr', content_tag('td', _("Programming Language")) + content_tag('td', '')) %>
72   - <% profile.software_info.software_languages.each do |language| %>
73   - <%= display_mpog_field(_('Name:'), language.programming_language , :name, true) %>
74   - <%= display_mpog_field(_('Version:'), language, :version, true) %>
75   - <% end %>
  73 + <%= content_tag('tr', content_tag('td', _("Software Languages")) + content_tag('td', '')) %>
  74 + <tr> <td>
  75 + <% languages = profile.software_info.software_languages %>
  76 + <% SoftwareLanguageHelper.language_as_tables(languages, true).each do |tab| %>
  77 + <%= tab.call %>
  78 + <%end%>
  79 + </td> </tr>
76 80 </table>
77 81 </td>
78 82 </tr>
... ...