diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 2f35aa4..51bc8c3 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -600,4 +600,22 @@ module ApplicationHelper ) end + def rolename_for(profile, resource) + role = profile.role_assignments.find_by_resource_id(resource.id).role + content_tag('span', role.name, :style => "color: #{role_color(role)}") + end + + def role_color(role) + case role + when Profile::Roles.admin + 'blue' + when Profile::Roles.member + 'green' + when Profile::Roles.moderator + 'gray' + else + 'black' + end + end + end diff --git a/app/views/memberships/index.rhtml b/app/views/memberships/index.rhtml index 864b23b..02b519a 100644 --- a/app/views/memberships/index.rhtml +++ b/app/views/memberships/index.rhtml @@ -9,7 +9,8 @@ <%= image_tag(profile_icon(membership)) %> - <%= _('Name: %s:') % link_to(membership.name, membership.url) %>
+ <%= _('Name: %s') % link_to(membership.name, membership.url) %>
+ <%= _('Role: %s') % rolename_for(profile, membership) %>
<%= _('Type: %s') % _(membership.class.name) %>
<%= _('Description: %s') % membership.description + '
' if membership.kind_of?(Community) %> <%= _('Members: %s') % membership.members.size.to_s %>
diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb index 28e25ab..325a89e 100644 --- a/test/unit/application_helper_test.rb +++ b/test/unit/application_helper_test.rb @@ -100,6 +100,26 @@ class ApplicationHelperTest < Test::Unit::TestCase assert_not_nil theme_javascript end + should 'role color for admin role' do + assert_equal 'blue', role_color(Profile::Roles.admin) + end + should 'role color for member role' do + assert_equal 'green', role_color(Profile::Roles.member) + end + should 'role color for moderator role' do + assert_equal 'gray', role_color(Profile::Roles.moderator) + end + should 'default role color' do + assert_equal 'black', role_color('none') + end + + should 'rolename for' do + person = create_user('usertest').person + community = Community.create!(:name => 'new community', :identifier => 'new-community', :environment => Environment.default) + community.add_member(person) + assert_equal 'Profile Member', rolename_for(person, community) + end + protected def content_tag(tag, content, options) -- libgit2 0.21.2