diff --git a/lib/database_helper.rb b/lib/database_helper.rb index 2285245..53a7473 100644 --- a/lib/database_helper.rb +++ b/lib/database_helper.rb @@ -1,4 +1,11 @@ module DatabaseHelper + MODEL_NAME = "database" + FIELD_NAME = "database_description_id" + COLLUMN_NAME = { + name: "name", + version: "version", + operating_system: "operating_system" + } def self.valid_database? database return false if SoftwareHelper.all_table_is_empty?(database) @@ -42,14 +49,6 @@ module DatabaseHelper end def self.database_as_tables(list_databases) - extend( - ActionView::Helpers::TagHelper, - ActionView::Helpers::FormTagHelper, - ActionView::Helpers::UrlHelper, - ActionView::Helpers::FormOptionsHelper, - ApplicationHelper - ) - return database_html_structure( {:database_description_id => "", :version => "", :operating_system => ""} ) if list_databases.nil? @@ -64,33 +63,37 @@ module DatabaseHelper end def self.database_html_structure(database_data) - database_name, database_id = if database_data[:database_description_id].blank? - ["", ""] + database_id = database_data[:database_description_id] + database_name = if database_data[:database_description_id].blank? + "" else - [DatabaseDescription.find( + DatabaseDescription.find( database_data[:database_description_id], :select=>"name" - ).name, database_data[:database_description_id]] + ).name end data = { - model_name: "database", - field_name: "database_description_id", + model_name: MODEL_NAME, + field_name: FIELD_NAME, name: { - label: _("Name"), + label: DynamicTableHelper::LABEL_TEXT[:name], value: database_name, hidden: true, autocomplete: true, + name: COLLUMN_NAME[:name], id: database_id }, version: { - label: _("Version"), + label: DynamicTableHelper::LABEL_TEXT[:version], value: database_data[:version], + name: COLLUMN_NAME[:version], hidden: true }, operating_system: { - label: _("Operating system"), + label: DynamicTableHelper::LABEL_TEXT[:operating_system], value: database_data[:operating_system], + name: COLLUMN_NAME[:operating_system], delete: true } } diff --git a/lib/dynamic_table_helper.rb b/lib/dynamic_table_helper.rb index 49225b4..c6c4551 100644 --- a/lib/dynamic_table_helper.rb +++ b/lib/dynamic_table_helper.rb @@ -1,11 +1,17 @@ module DynamicTableHelper + extend( + ActionView::Helpers::TagHelper, + ActionView::Helpers::FormTagHelper, + ActionView::Helpers::UrlHelper, + ApplicationHelper + ) -extend( - ActionView::Helpers::TagHelper, - ActionView::Helpers::FormTagHelper, - ActionView::Helpers::UrlHelper, - ApplicationHelper - ) + LABEL_TEXT = { + :name => _("Name"), + :version => _("Version"), + :operating_system => _("Operating system"), + :license => _("License") + } def self.table_html_structure data Proc::new do @@ -29,7 +35,7 @@ extend( def self.table_line row_data content_tag :tr, [ self.label_collumn(row_data[:label]), - self.value_collumn(row_data[:value], row_data[:autocomplete]), + self.value_collumn(row_data[:value], row_data[:name], row_data[:autocomplete]), self.hidden_collumn(row_data[:delete], row_data[:hidden]) ].join() end @@ -38,7 +44,7 @@ extend( content_tag :td, label_tag(label) end - def self.value_collumn value, autocomplete=false + def self.value_collumn value, name, autocomplete=false html_options = if autocomplete { @@ -49,7 +55,7 @@ extend( {} end - content_tag :td, text_field_tag("#{@model}", value, html_options) + content_tag :td, text_field_tag("#{@model}[][#{name}]", value, html_options) end def self.hidden_collumn delete=false, hidden_data=false diff --git a/lib/software_language_helper.rb b/lib/software_language_helper.rb index 404bf57..e9303bd 100644 --- a/lib/software_language_helper.rb +++ b/lib/software_language_helper.rb @@ -1,4 +1,11 @@ module SoftwareLanguageHelper + MODEL_NAME = "language" + FIELD_NAME = "programming_language_id" + COLLUMN_NAME = { + name: "name", + version: "version", + operating_system: "operating_system" + } def self.valid_language? language return false if SoftwareHelper.all_table_is_empty?(language) @@ -41,14 +48,6 @@ module SoftwareLanguageHelper end def self.language_as_tables(list_languages, show_information = false) - extend( - ActionView::Helpers::TagHelper, - ActionView::Helpers::FormTagHelper, - ActionView::Helpers::UrlHelper, - ActionView::Helpers::FormOptionsHelper, - ApplicationHelper - ) - lambdas_list = [] if not show_information @@ -73,6 +72,7 @@ module SoftwareLanguageHelper end def self.language_html_structure(language_data) + language_id = language_data[:programming_language_id] language_name = if language_data[:programming_language_id].blank? "" else @@ -82,65 +82,32 @@ module SoftwareLanguageHelper ).name end - Proc::new do - content_tag('table', - content_tag( - 'tr', - content_tag('td', label_tag(_("Language Name: "))) + - content_tag( - 'td', - text_field_tag( - "language_autocomplete", - language_name, - :class=>"language_autocomplete", - :placeholder=>_("Autocomplete field, type something") - ) + - content_tag( - 'div', - _("Pick an item on the list"), - :class=>"autocomplete_validation_message hide-field") - ) + - content_tag( - 'td', - hidden_field_tag("language[][programming_language_id]", - language_data[:programming_language_id], - :class=>"programming_language_id", - data:{label:language_name}) - ) - )+ - - content_tag( - 'tr', - content_tag('td', label_tag(_("Version")))+ - content_tag( - 'td', - text_field_tag("language[][version]",language_data[:version]) - ) + - content_tag('td') - )+ - - content_tag( - 'tr', - content_tag('td', label_tag(_("Operating System")))+ - content_tag( - 'td', - text_field_tag( - "language[][operating_system]", - language_data[:operating_system] - ) - ) + - content_tag('td', - button_without_text( - :delete, - _('Delete'), - "#", - :class=>"delete-dynamic-table" - ), - :align => 'right' - ) - ), :class => 'dynamic-table software-language-table' - ) - end + data = { + model_name: MODEL_NAME, + field_name: FIELD_NAME, + name: { + label: DynamicTableHelper::LABEL_TEXT[:name], + value: language_name, + hidden: true, + autocomplete: true, + name: COLLUMN_NAME[:name], + id: language_id + }, + version: { + label: DynamicTableHelper::LABEL_TEXT[:version], + value: language_data[:version], + name: COLLUMN_NAME[:version], + hidden: true + }, + operating_system: { + label: DynamicTableHelper::LABEL_TEXT[:operating_system], + value: language_data[:operating_system], + name: COLLUMN_NAME[:operating_system], + delete: true + } + } + + DynamicTableHelper.table_html_structure(data) end def self.language_html_show_structure(language) -- libgit2 0.21.2