Commit 250d3d380cd5c5c8a0e2f9744e19116d23ea5574

Authored by Fabio Teixeira
Committed by David Silva
1 parent 1a947629

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>
... ...