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 |