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