diff --git a/lib/ext/profile_helper.rb b/lib/ext/profile_helper.rb
index bb28642..ad6dd1f 100644
--- a/lib/ext/profile_helper.rb
+++ b/lib/ext/profile_helper.rb
@@ -1,3 +1,19 @@
module ProfileHelper extend ProfileHelper
PERSON_CATEGORIES[:mpog_profile_information] = [:secondary_email, :institutions]
+
+ def display_mpog_field(title, profile, field, force = false)
+ unless force || profile.may_display_field_to?(field, user)
+ return ''
+ end
+ value = profile.send(field)
+ if !value.blank?
+ if block_given?
+ value = yield(value)
+ end
+ content_tag('tr', content_tag('td', title, :class => 'field-name') + content_tag('td', value))
+ else
+ ''
+ end
+ end
+
end
diff --git a/views/profile/_software_tab.html.erb b/views/profile/_software_tab.html.erb
index 8765657..d7645ec 100644
--- a/views/profile/_software_tab.html.erb
+++ b/views/profile/_software_tab.html.erb
@@ -4,21 +4,21 @@
<%= _('Software Information')%> |
- <%= display_field(_('Name:'), profile, :name, true) %>
+ <%= display_mpog_field(_('Name:'), profile, :name, true) %>
<%= content_tag('tr', content_tag('td', _("Adherent to e_mag:")) + content_tag('td', profile.software_info.e_mag ? _("Yes") : _("No"))) %>
<%= content_tag('tr', content_tag('td', _("Adherent to icp_brasil:")) + content_tag('td', profile.software_info.icp_brasil ? _("Yes") : _("No"))) %>
<%= content_tag('tr', content_tag('td', _("Adherent to e_ping:")) + content_tag('td', profile.software_info.e_ping ? _("Yes") : _("No"))) %>
<%= content_tag('tr', content_tag('td', _("Adherent to e_arq:")) + content_tag('td', profile.software_info.e_arq ? _("Yes") : _("No"))) %>
<%= content_tag('tr', content_tag('td', _("Internacionalizable:")) + content_tag('td', profile.software_info.intern ? _("Yes") : _("No"))) %>
- <%= display_field(_('Operating Platform:'), profile.software_info, :operating_platform, true) %>
- <%= display_field(_('Demonstration URL:'), profile.software_info, :demonstration_url, true) %>
- <%= display_field(_('Acronym:'), profile.software_info, :acronym, true) %>
- <%= display_field(_('Objectives:'), profile.software_info, :objectives, true) %>
- <%= display_field(_('Features:'), profile.software_info, :features, true) %>
+ <%= display_mpog_field(_('Operating Platform:'), profile.software_info, :operating_platform, true) %>
+ <%= display_mpog_field(_('Demonstration URL:'), profile.software_info, :demonstration_url, true) %>
+ <%= display_mpog_field(_('Acronym:'), profile.software_info, :acronym, true) %>
+ <%= display_mpog_field(_('Objectives:'), profile.software_info, :objectives, true) %>
+ <%= display_mpog_field(_('Features:'), profile.software_info, :features, true) %>
<%= content_tag('tr', content_tag('td', _("License"))) %>
- <%= display_field(_('Version:'), profile.software_info.license_info, :version, true) %>
- <%= display_field(_('Link:'), profile.software_info.license_info, :link, true) %>
+ <%= display_mpog_field(_('Version:'), profile.software_info.license_info, :version, true) %>
+ <%= display_mpog_field(_('Link:'), profile.software_info.license_info, :link, true) %>
@@ -33,9 +33,9 @@
<%= content_tag('tr', content_tag('td', _("Libraries")) + content_tag('td', '')) %>
<% profile.software_info.libraries.each do |library| %>
- <%= display_field(_('Name:'), library, :name, true) %>
- <%= display_field(_('Version:'), library, :version, true) %>
- <%= display_field(_('License:'), library, :license, true) %>
+ <%= display_mpog_field(_('Name:'), library, :name, true) %>
+ <%= display_mpog_field(_('Version:'), library, :version, true) %>
+ <%= display_mpog_field(_('License:'), library, :license, true) %>
<% end %>
@@ -52,9 +52,9 @@
<%= content_tag('tr', content_tag('td', _("Program Database")) + content_tag('td', '')) %>
<% profile.software_info.software_databases.each do |database| %>
- <%= display_field(_('Name:'), DatabaseDescription.find(database.database_description_id), :name, true) %>
- <%= display_field(_('Version:'), database, :version, true) %>
- <%= display_field(_('Operating System:'), database, :operating_system, true) %>
+ <%= display_mpog_field(_('Name:'), DatabaseDescription.find(database.database_description_id), :name, true) %>
+ <%= display_mpog_field(_('Version:'), database, :version, true) %>
+ <%= display_mpog_field(_('Operating System:'), database, :operating_system, true) %>
<% end %>
@@ -71,9 +71,9 @@
<%= content_tag('tr', content_tag('td', _("Programming Language")) + content_tag('td', '')) %>
<% profile.software_info.software_languages.each do |language| %>
- <%= display_field(_('Name:'), language.programming_language , :name, true) %>
- <%= display_field(_('Version:'), language, :version, true) %>
- <%= display_field(_('Operating System:'), language, :operating_system, true) %>
+ <%= display_mpog_field(_('Name:'), language.programming_language , :name, true) %>
+ <%= display_mpog_field(_('Version:'), language, :version, true) %>
+ <%= display_mpog_field(_('Operating System:'), language, :operating_system, true) %>
<% end %>
@@ -90,8 +90,8 @@
<%= content_tag('tr', content_tag('td', _("Operating System")) + content_tag('td', '')) %>
<% profile.software_info.operating_systems.each do |operating_system| %>
- <%= display_field(_('Name:'), operating_system.operating_system_name , :name, true) %>
- <%= display_field(_('Version:'), operating_system, :version, true) %>
+ <%= display_mpog_field(_('Name:'), operating_system.operating_system_name , :name, true) %>
+ <%= display_mpog_field(_('Version:'), operating_system, :version, true) %>
<% end %>
--
libgit2 0.21.2