Skip to content

Commit

Permalink
Merge pull request #26 from ploneintranet/sharing-tab
Browse files Browse the repository at this point in the history
Show acquired roles from workspace policy
  • Loading branch information
mattss committed Jul 14, 2014
2 parents f44c75b + 3b0b899 commit 63304ca
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
12 changes: 11 additions & 1 deletion src/ploneintranet/workspace/browser/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,19 @@ def user_search_results(self):
"""
results = super(SharingView, self).user_search_results()
ws = IWorkspace(self.context)
roles_mapping = ws.available_groups
roles = roles_mapping.get(self.context.participant_policy.title())

for result in results:
if result["id"] in ws.members:
groups = ws.get(result["id"]).groups
title = "administrator" if "Admins" in groups else "member"
for role in roles:
result["roles"][role] = "acquired"
if "Admins" in groups:
title = "administrator"
result["roles"]["TeamManager"] = "acquired"
else:
title = "member"
result["title"] = "%s [%s]" % (result["title"], title)

return results
19 changes: 18 additions & 1 deletion src/ploneintranet/workspace/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,4 +107,21 @@ def test_administrator_is_added_to_administrator(self):
self.assertIn(
'%s [administrator]' % (self.user.getUserName(),),
view())
self.assertNotIn('%s [member]' % (self.user.getUserName(),), view())
self.assertNotIn("%s [member]" % (self.user.getUserName(),), view())

def test_acquired_roles_from_policy_settings(self):
self.login_as_portal_owner()
policy = "moderators"
self.workspace.participant_policy = policy
ws = IWorkspace(self.workspace)
ws.add_to_team(user=self.user.getUserName())
roles = ws.available_groups.get(policy.title())
self.request.form = {'form.button.Search': 'Search',
'search_term': 'demo'}
view = SharingView(self.workspace, self.request)
results = view.user_search_results()

self.assertEqual(len(results), 1)
self.assertTrue(
all([results[0]["roles"][role] == "acquired" for role in roles]),
"Acquired roles were not set correctly")

0 comments on commit 63304ca

Please sign in to comment.