Index: impl/src/test/org/sakaiproject/mailsender/logic/impl/ExternalLogicImplTest.java =================================================================== --- impl/src/test/org/sakaiproject/mailsender/logic/impl/ExternalLogicImplTest.java (revision 110026) +++ impl/src/test/org/sakaiproject/mailsender/logic/impl/ExternalLogicImplTest.java (working copy) @@ -252,6 +252,11 @@ assertFalse(impl.isUserAdmin(USER_ID)); } + @Test + public void getPermissionKeys() { + assertNotNull(impl.getPermissionKeys()); + } + @Test(expected = MailsenderException.class) public void sendMailNullFrom() throws Exception { impl.sendEmail(null, null, null, null, null, null, null); Index: impl/src/java/org/sakaiproject/mailsender/logic/impl/ExternalLogicImpl.java =================================================================== --- impl/src/java/org/sakaiproject/mailsender/logic/impl/ExternalLogicImpl.java (revision 110026) +++ impl/src/java/org/sakaiproject/mailsender/logic/impl/ExternalLogicImpl.java (working copy) @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.List; import java.util.Map; @@ -451,6 +452,12 @@ org.sakaiproject.site.api.SiteService.SECURE_UPDATE_SITE, locationId); } + public List getPermissionKeys() + { + String[] perms = new String[] {PERM_ADMIN, PERM_SEND}; + return Arrays.asList(perms); + } + public void setFunctionManager(FunctionManager functionManager) { this.functionManager = functionManager; Index: api/src/java/org/sakaiproject/mailsender/logic/ExternalLogic.java =================================================================== --- api/src/java/org/sakaiproject/mailsender/logic/ExternalLogic.java (revision 110026) +++ api/src/java/org/sakaiproject/mailsender/logic/ExternalLogic.java (working copy) @@ -181,4 +181,11 @@ * @return the current location id of the current user */ String getCurrentLocationId(); + + /** + * Get a list of the permission keys for the tool + * + * @return List of the permission keys + */ + List getPermissionKeys(); } Index: tool/src/java/org/sakaiproject/mailsender/tool/producers/PermissionsProducer.java =================================================================== --- tool/src/java/org/sakaiproject/mailsender/tool/producers/PermissionsProducer.java (revision 110026) +++ tool/src/java/org/sakaiproject/mailsender/tool/producers/PermissionsProducer.java (working copy) @@ -17,6 +17,7 @@ package org.sakaiproject.mailsender.tool.producers; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import org.sakaiproject.authz.api.PermissionsHelper; @@ -65,6 +66,16 @@ "mailsender.permissions.header", externalLogic.getCurrentSiteTitle())); session.setAttribute(PermissionsHelper.PREFIX, "mailtool."); + List perms = externalLogic.getPermissionKeys(); + HashMap pRbValues = new HashMap(); + for (int i = 0; i < perms.size(); i++) + { + String perm = perms.get(i); + String descr = messageLocator.getMessage("desc-" + perm); + pRbValues.put("desc-" + perm, descr); + } + + session.setAttribute("permissionDescriptions", pRbValues); UIOutput.make(tofill, HelperViewParameters.HELPER_ID, HELPER); UICommand.make(tofill, HelperViewParameters.POST_HELPER_BINDING, "", null); } Index: tool/src/webapp/WEB-INF/bundle/Messages.properties =================================================================== --- tool/src/webapp/WEB-INF/bundle/Messages.properties (revision 110026) +++ tool/src/webapp/WEB-INF/bundle/Messages.properties (working copy) @@ -80,4 +80,6 @@ navigate.lose.data=Navigating away will cause your changes to be lost. Are you sure you want to continue? mailsender.permissions.header=Set permissions for {0} -mailsender.navbar.permissions=Permissions \ No newline at end of file +mailsender.navbar.permissions=Permissions +desc-mailtool.admin=Administrate +desc-mailtool.send=Send emails