Commit 8a3149ace3272139cda836ffed1f37722eeb7908

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

Build dynamic table into SoftwareLanguageHelper

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
Signed-off-by: Parley Martins <parley@outlook.com>
lib/database_helper.rb
1 module DatabaseHelper 1 module DatabaseHelper
  2 + MODEL_NAME = "database"
  3 + FIELD_NAME = "database_description_id"
  4 + COLLUMN_NAME = {
  5 + name: "name",
  6 + version: "version",
  7 + operating_system: "operating_system"
  8 + }
2 9
3 def self.valid_database? database 10 def self.valid_database? database
4 return false if SoftwareHelper.all_table_is_empty?(database) 11 return false if SoftwareHelper.all_table_is_empty?(database)
@@ -42,14 +49,6 @@ module DatabaseHelper @@ -42,14 +49,6 @@ module DatabaseHelper
42 end 49 end
43 50
44 def self.database_as_tables(list_databases) 51 def self.database_as_tables(list_databases)
45 - extend(  
46 - ActionView::Helpers::TagHelper,  
47 - ActionView::Helpers::FormTagHelper,  
48 - ActionView::Helpers::UrlHelper,  
49 - ActionView::Helpers::FormOptionsHelper,  
50 - ApplicationHelper  
51 - )  
52 -  
53 return database_html_structure( 52 return database_html_structure(
54 {:database_description_id => "", :version => "", :operating_system => ""} 53 {:database_description_id => "", :version => "", :operating_system => ""}
55 ) if list_databases.nil? 54 ) if list_databases.nil?
@@ -64,33 +63,37 @@ module DatabaseHelper @@ -64,33 +63,37 @@ module DatabaseHelper
64 end 63 end
65 64
66 def self.database_html_structure(database_data) 65 def self.database_html_structure(database_data)
67 - database_name, database_id = if database_data[:database_description_id].blank?  
68 - ["", ""] 66 + database_id = database_data[:database_description_id]
  67 + database_name = if database_data[:database_description_id].blank?
  68 + ""
69 else 69 else
70 - [DatabaseDescription.find( 70 + DatabaseDescription.find(
71 database_data[:database_description_id], 71 database_data[:database_description_id],
72 :select=>"name" 72 :select=>"name"
73 - ).name, database_data[:database_description_id]] 73 + ).name
74 end 74 end
75 75
76 data = { 76 data = {
77 - model_name: "database",  
78 - field_name: "database_description_id", 77 + model_name: MODEL_NAME,
  78 + field_name: FIELD_NAME,
79 name: { 79 name: {
80 - label: _("Name"), 80 + label: DynamicTableHelper::LABEL_TEXT[:name],
81 value: database_name, 81 value: database_name,
82 hidden: true, 82 hidden: true,
83 autocomplete: true, 83 autocomplete: true,
  84 + name: COLLUMN_NAME[:name],
84 id: database_id 85 id: database_id
85 }, 86 },
86 version: { 87 version: {
87 - label: _("Version"), 88 + label: DynamicTableHelper::LABEL_TEXT[:version],
88 value: database_data[:version], 89 value: database_data[:version],
  90 + name: COLLUMN_NAME[:version],
89 hidden: true 91 hidden: true
90 }, 92 },
91 operating_system: { 93 operating_system: {
92 - label: _("Operating system"), 94 + label: DynamicTableHelper::LABEL_TEXT[:operating_system],
93 value: database_data[:operating_system], 95 value: database_data[:operating_system],
  96 + name: COLLUMN_NAME[:operating_system],
94 delete: true 97 delete: true
95 } 98 }
96 } 99 }
lib/dynamic_table_helper.rb
1 module DynamicTableHelper 1 module DynamicTableHelper
  2 + extend(
  3 + ActionView::Helpers::TagHelper,
  4 + ActionView::Helpers::FormTagHelper,
  5 + ActionView::Helpers::UrlHelper,
  6 + ApplicationHelper
  7 + )
2 8
3 -extend(  
4 - ActionView::Helpers::TagHelper,  
5 - ActionView::Helpers::FormTagHelper,  
6 - ActionView::Helpers::UrlHelper,  
7 - ApplicationHelper  
8 - ) 9 + LABEL_TEXT = {
  10 + :name => _("Name"),
  11 + :version => _("Version"),
  12 + :operating_system => _("Operating system"),
  13 + :license => _("License")
  14 + }
9 15
10 def self.table_html_structure data 16 def self.table_html_structure data
11 Proc::new do 17 Proc::new do
@@ -29,7 +35,7 @@ extend( @@ -29,7 +35,7 @@ extend(
29 def self.table_line row_data 35 def self.table_line row_data
30 content_tag :tr, [ 36 content_tag :tr, [
31 self.label_collumn(row_data[:label]), 37 self.label_collumn(row_data[:label]),
32 - self.value_collumn(row_data[:value], row_data[:autocomplete]), 38 + self.value_collumn(row_data[:value], row_data[:name], row_data[:autocomplete]),
33 self.hidden_collumn(row_data[:delete], row_data[:hidden]) 39 self.hidden_collumn(row_data[:delete], row_data[:hidden])
34 ].join() 40 ].join()
35 end 41 end
@@ -38,7 +44,7 @@ extend( @@ -38,7 +44,7 @@ extend(
38 content_tag :td, label_tag(label) 44 content_tag :td, label_tag(label)
39 end 45 end
40 46
41 - def self.value_collumn value, autocomplete=false 47 + def self.value_collumn value, name, autocomplete=false
42 html_options = 48 html_options =
43 if autocomplete 49 if autocomplete
44 { 50 {
@@ -49,7 +55,7 @@ extend( @@ -49,7 +55,7 @@ extend(
49 {} 55 {}
50 end 56 end
51 57
52 - content_tag :td, text_field_tag("#{@model}", value, html_options) 58 + content_tag :td, text_field_tag("#{@model}[][#{name}]", value, html_options)
53 end 59 end
54 60
55 def self.hidden_collumn delete=false, hidden_data=false 61 def self.hidden_collumn delete=false, hidden_data=false
lib/software_language_helper.rb
1 module SoftwareLanguageHelper 1 module SoftwareLanguageHelper
  2 + MODEL_NAME = "language"
  3 + FIELD_NAME = "programming_language_id"
  4 + COLLUMN_NAME = {
  5 + name: "name",
  6 + version: "version",
  7 + operating_system: "operating_system"
  8 + }
2 9
3 def self.valid_language? language 10 def self.valid_language? language
4 return false if SoftwareHelper.all_table_is_empty?(language) 11 return false if SoftwareHelper.all_table_is_empty?(language)
@@ -41,14 +48,6 @@ module SoftwareLanguageHelper @@ -41,14 +48,6 @@ module SoftwareLanguageHelper
41 end 48 end
42 49
43 def self.language_as_tables(list_languages, show_information = false) 50 def self.language_as_tables(list_languages, show_information = false)
44 - extend(  
45 - ActionView::Helpers::TagHelper,  
46 - ActionView::Helpers::FormTagHelper,  
47 - ActionView::Helpers::UrlHelper,  
48 - ActionView::Helpers::FormOptionsHelper,  
49 - ApplicationHelper  
50 - )  
51 -  
52 lambdas_list = [] 51 lambdas_list = []
53 52
54 if not show_information 53 if not show_information
@@ -73,6 +72,7 @@ module SoftwareLanguageHelper @@ -73,6 +72,7 @@ module SoftwareLanguageHelper
73 end 72 end
74 73
75 def self.language_html_structure(language_data) 74 def self.language_html_structure(language_data)
  75 + language_id = language_data[:programming_language_id]
76 language_name = if language_data[:programming_language_id].blank? 76 language_name = if language_data[:programming_language_id].blank?
77 "" 77 ""
78 else 78 else
@@ -82,65 +82,32 @@ module SoftwareLanguageHelper @@ -82,65 +82,32 @@ module SoftwareLanguageHelper
82 ).name 82 ).name
83 end 83 end
84 84
85 - Proc::new do  
86 - content_tag('table',  
87 - content_tag(  
88 - 'tr',  
89 - content_tag('td', label_tag(_("Language Name: "))) +  
90 - content_tag(  
91 - 'td',  
92 - text_field_tag(  
93 - "language_autocomplete",  
94 - language_name,  
95 - :class=>"language_autocomplete",  
96 - :placeholder=>_("Autocomplete field, type something")  
97 - ) +  
98 - content_tag(  
99 - 'div',  
100 - _("Pick an item on the list"),  
101 - :class=>"autocomplete_validation_message hide-field")  
102 - ) +  
103 - content_tag(  
104 - 'td',  
105 - hidden_field_tag("language[][programming_language_id]",  
106 - language_data[:programming_language_id],  
107 - :class=>"programming_language_id",  
108 - data:{label:language_name})  
109 - )  
110 - )+  
111 -  
112 - content_tag(  
113 - 'tr',  
114 - content_tag('td', label_tag(_("Version")))+  
115 - content_tag(  
116 - 'td',  
117 - text_field_tag("language[][version]",language_data[:version])  
118 - ) +  
119 - content_tag('td')  
120 - )+  
121 -  
122 - content_tag(  
123 - 'tr',  
124 - content_tag('td', label_tag(_("Operating System")))+  
125 - content_tag(  
126 - 'td',  
127 - text_field_tag(  
128 - "language[][operating_system]",  
129 - language_data[:operating_system]  
130 - )  
131 - ) +  
132 - content_tag('td',  
133 - button_without_text(  
134 - :delete,  
135 - _('Delete'),  
136 - "#",  
137 - :class=>"delete-dynamic-table"  
138 - ),  
139 - :align => 'right'  
140 - )  
141 - ), :class => 'dynamic-table software-language-table'  
142 - )  
143 - end 85 + data = {
  86 + model_name: MODEL_NAME,
  87 + field_name: FIELD_NAME,
  88 + name: {
  89 + label: DynamicTableHelper::LABEL_TEXT[:name],
  90 + value: language_name,
  91 + hidden: true,
  92 + autocomplete: true,
  93 + name: COLLUMN_NAME[:name],
  94 + id: language_id
  95 + },
  96 + version: {
  97 + label: DynamicTableHelper::LABEL_TEXT[:version],
  98 + value: language_data[:version],
  99 + name: COLLUMN_NAME[:version],
  100 + hidden: true
  101 + },
  102 + operating_system: {
  103 + label: DynamicTableHelper::LABEL_TEXT[:operating_system],
  104 + value: language_data[:operating_system],
  105 + name: COLLUMN_NAME[:operating_system],
  106 + delete: true
  107 + }
  108 + }
  109 +
  110 + DynamicTableHelper.table_html_structure(data)
144 end 111 end
145 112
146 def self.language_html_show_structure(language) 113 def self.language_html_show_structure(language)