diff --git a/lib/database_helper.rb b/lib/database_helper.rb
index 4b32afe..3f6e90b 100644
--- a/lib/database_helper.rb
+++ b/lib/database_helper.rb
@@ -43,11 +43,8 @@ class DatabaseHelper < DynamicTableHelper
end
def self.database_as_tables(list_databases, disabled=false)
- model_list = if list_databases.blank?
- [{:database_description_id => "", :version => ""}]
- else
- list_databases
- end
+ model_list = list_databases
+ model_list ||= [{:database_description_id => "", :version => ""}]
models_as_tables model_list, "database_html_structure", disabled
end
@@ -69,12 +66,16 @@ class DatabaseHelper < DynamicTableHelper
name: {
value: database_name,
id: database_id,
+ hidden: true,
+ autocomplete: true
},
version: {
- value: database_data[:version]
+ value: database_data[:version],
+ hidden: true,
+ delete: true
}
}
-
+ DATA[:license].delete(:value)
table_html_structure(data, disabled)
end
diff --git a/lib/dynamic_table_helper.rb b/lib/dynamic_table_helper.rb
index bb646fc..34aa188 100644
--- a/lib/dynamic_table_helper.rb
+++ b/lib/dynamic_table_helper.rb
@@ -21,19 +21,16 @@ class DynamicTableHelper
DATA = {
name: {
label: LABEL_TEXT[:name],
- hidden: true,
- autocomplete: true,
name: COLLUMN_NAME[:name],
},
version: {
label: LABEL_TEXT[:version],
name: COLLUMN_NAME[:version],
- hidden: true,
- delete: true,
} ,
license: {
label: LABEL_TEXT[:license],
name: COLLUMN_NAME[:license],
+ delete: true
}
}
@@disabled = false
@@ -58,7 +55,7 @@ class DynamicTableHelper
self.table_line(row_data[:version])
]
- if row_data[:license].has_key? :value
+ if row_data[:license].has_key?(:value)
table_line_data << self.table_line(row_data[:license])
end
diff --git a/lib/library_helper.rb b/lib/library_helper.rb
index 88bd1de..8e84f52 100644
--- a/lib/library_helper.rb
+++ b/lib/library_helper.rb
@@ -1,4 +1,6 @@
-module LibraryHelper
+class LibraryHelper < DynamicTableHelper
+ MODEL_NAME ="library"
+
def self.list_libraries new_libraries
return [] if new_libraries.nil? or new_libraries.length == 0
list_libraries = []
@@ -26,79 +28,34 @@ module LibraryHelper
true
end
- def self.library_as_tables list_libraries
- extend(
- ActionView::Helpers::TagHelper,
- ActionView::Helpers::FormTagHelper,
- ActionView::Helpers::UrlHelper,
- ApplicationHelper
- )
-
- return library_html_structure(
- {
- :name=>"",
- :version=>"",
- :license=>""
- }
- ) if list_libraries.nil?
-
- lambdas_list = []
+ def self.libraries_as_tables list_libraries, disabled=false
+ model_list = list_libraries
+ model_list ||= [{:name=>"", :version=>"", :license=>""}]
- list_libraries.each do |library|
- lambdas_list << library_html_structure(library)
- end
-
- lambdas_list
+ models_as_tables model_list, "library_html_structure", disabled
end
- def self.library_html_structure library_data
- Proc::new do
- content_tag(
- 'table',
- content_tag(
- 'tr',
- content_tag('td', label_tag(_("Name")))+
- content_tag(
- 'td',
- text_field_tag("library[][name]", library_data[:name])
- )+
- content_tag('td')
- )+
-
- content_tag(
- 'tr',
- content_tag('td', label_tag(_("Version")))+
- content_tag(
- 'td',
- text_field_tag("library[][version]", library_data[:version])
- )+
- content_tag('td')
- )+
-
- content_tag(
- 'tr',
- content_tag('td', label_tag(_("License")))+
- content_tag(
- 'td',
- text_field_tag("library[][license]", library_data[:license])) +
- content_tag(
- 'td',
- button_without_text(
- :delete,
- _('Delete'),
- "#" ,
- :class=>"delete-dynamic-table"
- ),
- :align => 'right'
- )
- ),
+ def self.library_html_structure library_data, disabled
+ data = {
+ model_name: MODEL_NAME,
+ name: {
+ value: library_data[:name],
+ hidden: false,
+ autocomplete: false
+ },
+ version: {
+ value: library_data[:version],
+ delete: false
+ },
+ license: {
+ value: library_data[:license]
+ }
+ }
- :class => 'dynamic-table library-table'
- )
- end
+ table_html_structure(data, disabled)
end
def self.add_dynamic_table
- library_as_tables(nil).call
+ libraries_as_tables(nil).first.call
end
end
diff --git a/lib/mpog_software_plugin.rb b/lib/mpog_software_plugin.rb
index 6bd6e9e..5e9cf62 100644
--- a/lib/mpog_software_plugin.rb
+++ b/lib/mpog_software_plugin.rb
@@ -5,7 +5,6 @@ class MpogSoftwarePlugin < Noosfero::Plugin
include ActionView::Helpers::JavaScriptHelper
include ActionView::Helpers::AssetTagHelper
include FormsHelper
- include LibraryHelper
include ActionView::Helpers
include ActionDispatch::Routing
include Rails.application.routes.url_helpers
@@ -73,8 +72,11 @@ class MpogSoftwarePlugin < Noosfero::Plugin
def profile_tabs
if context.profile.community?
- profile_tabs_software if context.profile.software?
- profile_tabs_institution
+ if context.profile.software?
+ profile_tabs_software
+ elsif context.profile.institution?
+ profile_tabs_institution
+ end
end
end
diff --git a/lib/software_language_helper.rb b/lib/software_language_helper.rb
index a3be94c..4d7de2c 100644
--- a/lib/software_language_helper.rb
+++ b/lib/software_language_helper.rb
@@ -42,11 +42,8 @@ class SoftwareLanguageHelper < DynamicTableHelper
end
def self.language_as_tables(list_languages, disabled=false)
- model_list = if list_languages.blank?
- [{:programming_language_id => "", :version => ""}]
- else
- list_languages
- end
+ model_list = list_languages
+ model_list ||= [{:programming_language_id => "", :version => ""}]
models_as_tables model_list, "language_html_structure", disabled
end
@@ -68,12 +65,16 @@ class SoftwareLanguageHelper < DynamicTableHelper
name: {
value: language_name,
id: language_id,
+ hidden: true,
+ autocomplete: true
},
version: {
- value: language_data[:version]
+ value: language_data[:version],
+ hidden: true,
+ delete: true
}
}
-
+ DATA[:license].delete(:value)
table_html_structure(data, disabled)
end
diff --git a/views/mpog_software_plugin_myprofile/_database_fields.html.erb b/views/mpog_software_plugin_myprofile/_database_fields.html.erb
index f53fa55..e0b994e 100644
--- a/views/mpog_software_plugin_myprofile/_database_fields.html.erb
+++ b/views/mpog_software_plugin_myprofile/_database_fields.html.erb
@@ -1,7 +1,7 @@
<%= fields_for :database_description, @database_description do |db| %>
- <% database = [] if database.nil? %>
+ <% database = [] if database.blank? %>
<% DatabaseHelper.database_as_tables(database).each do |tab| %>
<%= tab.call %>
<%end%>
diff --git a/views/mpog_software_plugin_myprofile/_language_fields.html.erb b/views/mpog_software_plugin_myprofile/_language_fields.html.erb
index 6a56f6a..a7d31a1 100644
--- a/views/mpog_software_plugin_myprofile/_language_fields.html.erb
+++ b/views/mpog_software_plugin_myprofile/_language_fields.html.erb
@@ -1,7 +1,7 @@
<%= fields_for :software_language, @software_language do |lng| %>
- <% languages = [] if languages.nil? %>
+ <% languages = [] if languages.blank? %>
<% SoftwareLanguageHelper.language_as_tables(languages).each do |tab| %>
<%= tab.call %>
<%end%>
diff --git a/views/mpog_software_plugin_myprofile/_library_fields.html.erb b/views/mpog_software_plugin_myprofile/_library_fields.html.erb
index 2fea663..332654b 100644
--- a/views/mpog_software_plugin_myprofile/_library_fields.html.erb
+++ b/views/mpog_software_plugin_myprofile/_library_fields.html.erb
@@ -1,8 +1,8 @@
<%= fields_for :library ,@library do |lib| %>
- <% libraries = [] if libraries.nil? %>
- <% LibraryHelper.library_as_tables(libraries).each do |tab| %>
+ <% libraries = [] if libraries.blank? %>
+ <% LibraryHelper.libraries_as_tables(libraries).each do |tab| %>
<%= tab.call %>
<% end %>
diff --git a/views/profile/_software_tab.html.erb b/views/profile/_software_tab.html.erb
index 56b9b59..c62a9e6 100644
--- a/views/profile/_software_tab.html.erb
+++ b/views/profile/_software_tab.html.erb
@@ -30,13 +30,22 @@
-
- <%= content_tag('tr', content_tag('td', _("Libraries")) + content_tag('td', '')) %>
- <% profile.software_info.libraries.each do |library| %>
- <%= display_mpog_field(_('Name:'), library, :name, true) %>
- <%= display_mpog_field(_('Version:'), library, :version, true) %>
- <%= display_mpog_field(_('License:'), library, :license, true) %>
- <% end %>
+
+
+
+ <%= _("Libraries") %> |
+ |
+
+
+
+
+
+ <% libraries = profile.software_info.libraries %>
+ <% LibraryHelper.libraries_as_tables(libraries, true).each do |tab| %>
+ <%= tab.call %>
+ <%end%>
+ |
+
@@ -49,14 +58,22 @@
-
- <%= content_tag('tr', content_tag('td', _("Software Databases")) + content_tag('td', '')) %>
-
- <% databases = profile.software_info.software_databases %>
- <% DatabaseHelper.database_as_tables(databases, true).each do |tab| %>
- <%= tab.call %>
- <%end%>
- |
+
+
+
+ <%= _("Software Databases") %> |
+ |
+
+
+
+
+
+ <% databases = profile.software_info.software_databases %>
+ <% DatabaseHelper.database_as_tables(databases, true).each do |tab| %>
+ <%= tab.call %>
+ <%end%>
+ |
+
@@ -69,14 +86,22 @@
-
- <%= content_tag('tr', content_tag('td', _("Software Languages")) + content_tag('td', '')) %>
-
- <% languages = profile.software_info.software_languages %>
- <% SoftwareLanguageHelper.language_as_tables(languages, true).each do |tab| %>
- <%= tab.call %>
- <%end%>
- |
+
+
+
+ <%= _("Software Languages") %> |
+ |
+
+
+
+
+
+ <% languages = profile.software_info.software_languages %>
+ <% SoftwareLanguageHelper.language_as_tables(languages, true).each do |tab| %>
+ <%= tab.call %>
+ <%end%>
+ |
+
@@ -89,12 +114,20 @@
-
- <%= content_tag('tr', content_tag('td', _("Operating System")) + content_tag('td', '')) %>
- <% profile.software_info.operating_systems.each do |operating_system| %>
- <%= display_mpog_field(_('Name:'), operating_system.operating_system_name , :name, true) %>
- <%= display_mpog_field(_('Version:'), operating_system, :version, true) %>
- <% end %>
+
+
+
+ <%= _("Operating System") %> |
+ |
+
+
+
+
+ <% profile.software_info.operating_systems.each do |operating_system| %>
+ <%= display_mpog_field(_('Name:'), operating_system.operating_system_name , :name, true) %>
+ <%= display_mpog_field(_('Version:'), operating_system, :version, true) %>
+ <% end %>
+
--
libgit2 0.21.2 | | | |