/** * Convenience method to get the Role in the system designed to be given to all users that have * authenticated in some manner * * @return Role * @should fail if database doesn't contain authenticated role */ private Role getAuthenticatedRole() { if (authenticatedRole != null) { return authenticatedRole; } authenticatedRole = Context.getUserService().getRole(RoleConstants.AUTHENTICATED); if (authenticatedRole == null) { throw new RuntimeException("Database out of sync with code: " + RoleConstants.AUTHENTICATED + " role does not exist"); } return authenticatedRole; }
/** * @should set using name * @should set using uuid */ @Override public void setAsText(String text) throws IllegalArgumentException { UserService es = Context.getUserService(); if (StringUtils.hasText(text)) { try { Role r = es.getRole(text); setValue(r); //when a role is not found, no exception is generated. throw one to execute the catch block if (r == null) { throw new Exception(); } } catch (Exception ex) { Role r = es.getRoleByUuid(text); setValue(r); if (r == null) { log.error("Error setting text: " + text, ex); throw new IllegalArgumentException("Role not found: " + ex.getMessage()); } } } else { setValue(null); } }
/** * Convenience method to get the Role in the system designed to be given to all users * * @return Role * @should fail if database doesn't contain anonymous role */ private Role getAnonymousRole() { if (anonymousRole != null) { return anonymousRole; } anonymousRole = Context.getUserService().getRole(RoleConstants.ANONYMOUS); if (anonymousRole == null) { throw new RuntimeException("Database out of sync with code: " + RoleConstants.ANONYMOUS + " role does not exist"); } return anonymousRole; }
/** * @param rolesParameter A comma separated list of role names or role UUIDs. May not be null. * @return A non-null list of existing {@link Role}s that may be empty, if no valid roles are * found. */ private List<Role> getRequestedRoles(final String rolesParameter) { final List<Role> result = new ArrayList<Role>(); final List<String> roleStrings = Arrays.asList(StringUtils.split(rolesParameter, ",")); for (String roleString : roleStrings) { // try with uuid Role role = Context.getUserService().getRoleByUuid(roleString); // try with display name if (role == null) { role = Context.getUserService().getRole(roleString); } // add if found if (role != null) { result.add(role); } } return result; }
/** * Send a message to a group of users identified by their role. */ @Override public void sendMessage(Message message, String roleName) throws MessageException { log.debug("Sending message to role with name " + roleName); Role role = Context.getUserService().getRole(roleName); Context.getMessageService().sendMessage(message, role); }
/** * @see org.openmrs.scheduler.tasks.AbstractTask#execute() */ @Override public void execute() { // TODO url should be provided as a property to taskconfig String url = "http://www.google.com:80/index.html"; try { URLConnection connection = new URL(url).openConnection(); connection.connect(); } catch (IOException ioe) { try { String text = "At " + new Date() + " there was an error reported connecting to the internet address " + url + ": " + ioe; // TODO role should be provided as a property to taskconfig Role role = Context.getUserService().getRole("System Developer"); Collection<User> users = Context.getUserService().getUsersByRole(role); Context.getAlertService().saveAlert(new Alert(text, users)); } catch (Exception e) { // Uh oh, just log it. log.error("Failed to check internet connectivity", e); } } } }
/** * @see UserService#getUsers(String, List, boolean, Integer, Integer) */ @Test public void getUsers_shouldReturnUsersWhoseRolesInheritRequestedRoles() { executeDataSet(XML_FILENAME); List<Role> roles = new ArrayList<>(); roles.add(userService.getRole("Parent")); Assert.assertEquals(3, userService.getUsers(null, roles, true, null, null).size()); }
Role role = us.getRole(relationshipType); if (role != null) { user.addRole(role);
/** * @see UserService#getRole(String) */ @Test public void getRole_shouldFetchRoleForGivenRoleName() { executeDataSet(XML_FILENAME); Role role = userService.getRole("Some Role"); Assert.assertEquals("Some Role", role.getRole()); }
/** * @see UserService#saveRole(Role) */ @Test public void saveRole_shouldSaveGivenRoleToTheDatabase() { Role role = new Role("new role", "new desc"); userService.saveRole(role); Assert.assertNotNull(userService.getRole("new role")); }
private void addProviderRole(User user, Role role) { if (!role.toString().equals(OpenmrsConstants.PROVIDER_ROLE)) { user.addRole(userService.getRole(OpenmrsConstants.PROVIDER_ROLE)); } }
/** * @see EncounterService#canEditEncounter(Encounter, User) */ @Test public void canEditEncounter_shouldReturnTrueIfUserCanEditEncounter() { // get encounter that has type with edit privilege set Encounter encounter = getEncounterWithEditPrivilege(); User user = Context.getUserService().getUserByUsername("test_user"); assertNotNull(user); // add required privilege to role in which this user is Role role = Context.getUserService().getRole("Provider"); role.addPrivilege(encounter.getEncounterType().getEditPrivilege()); user.addRole(role); assertTrue(Context.getEncounterService().canEditEncounter(encounter, user)); }
/** * @see EncounterService#canViewEncounter(Encounter, User) */ @Test public void canViewEncounter_shouldReturnTrueIfUserCanViewEncounter() { // get encounter that has type with view privilege set Encounter encounter = getEncounterWithViewPrivilege(); User user = Context.getUserService().getUserByUsername("test_user"); assertNotNull(user); // add required privilege to role in which this user is Role role = Context.getUserService().getRole("Provider"); role.addPrivilege(encounter.getEncounterType().getViewPrivilege()); user.addRole(role); assertTrue(Context.getEncounterService().canViewEncounter(encounter, user)); }
/** * @see EncounterService#canViewAllEncounterTypes(User) */ @Test public void canViewAllEncounterTypes_shouldReturnTrueIfUserIsGrantedToViewEncounters() { EncounterService encounterService = Context.getEncounterService(); EncounterType encounterType = new EncounterType("testing", "desc"); Privilege viewPrivilege = Context.getUserService().getPrivilege("Some Privilege For View Encounter Types"); encounterType.setViewPrivilege(viewPrivilege); encounterService.saveEncounterType(encounterType); User user = Context.getUserService().getUserByUsername("test_user"); assertNotNull(user); assertFalse(encounterService.canViewAllEncounterTypes(user)); Role role = Context.getUserService().getRole("Provider"); role.addPrivilege(viewPrivilege); user.addRole(role); assertTrue(encounterService.canViewAllEncounterTypes(user)); }
/** * @see EncounterService#getEncounter(Integer) */ @Test public void getEncounter_shouldReturnEncounterIfUserIsAllowedToViewIt() { // get encounter that has type with view privilege set Encounter encounter = getEncounterWithViewPrivilege(); User user = Context.getUserService().getUserByUsername("test_user"); assertNotNull(user); // add required privilege to role in which this user is Role role = Context.getUserService().getRole("Provider"); role.addPrivilege(encounter.getEncounterType().getViewPrivilege()); user.addRole(role); // and authenticate under it's account Context.becomeUser(user.getSystemId()); // have to add privilege in order to be able to call getEncounter(Integer) method Context.addProxyPrivilege(PrivilegeConstants.GET_ENCOUNTERS); assertNotNull(Context.getEncounterService().getEncounter(encounter.getId())); }
/** * @see EncounterService#canEditAllEncounterTypes(User) */ @Test public void canEditAllEncounterTypes_shouldReturnTrueIfUserIsGrantedToEditEncounters() { EncounterService encounterService = Context.getEncounterService(); EncounterType encounterType = new EncounterType("testing", "desc"); Privilege editPrivilege = Context.getUserService().getPrivilege("Some Privilege For Edit Encounter Types"); encounterType.setEditPrivilege(editPrivilege); encounterService.saveEncounterType(encounterType); User user = Context.getUserService().getUserByUsername("test_user"); assertNotNull(user); assertFalse(encounterService.canEditAllEncounterTypes(user)); Role role = Context.getUserService().getRole("Provider"); role.addPrivilege(editPrivilege); user.addRole(role); assertTrue(encounterService.canEditAllEncounterTypes(user)); }
private void loadTestMappings() { MetadataSource metadataSource = new MetadataSource(); metadataSource.setName("source"); metadataSource.setDateCreated(new Date()); metadataSource.setRetired(false); metadataSource.setId(1); metadataSource = Context.getService(MetadataMappingService.class).saveMetadataSource(metadataSource); MetadataTermMapping metadataTermMapping1 = new MetadataTermMapping(metadataSource, "CODE", Context.getProgramWorkflowService().getProgram(1)); metadataTermMapping1.setName("mapping1"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping1); MetadataTermMapping metadataTermMapping2 = new MetadataTermMapping(metadataSource, "CODE2", Context.getUserService().getRole("Provider")); metadataTermMapping2.setName("mapping2"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping2); }
User mrsUserToOpenMRSUser(MRSUser mrsUser) { User user = getOrCreateUser(mrsUser.getUserId()); Person person = user.getPerson(); clearAttributes(user); MRSPerson mrsPerson = mrsUser.getPerson(); PersonName personName = new PersonName(mrsPerson.getFirstName(), mrsPerson.getMiddleName(), mrsPerson.getLastName()); person.addName(personName); person.setGender(PERSON_UNKNOWN_GENDER); for (MRSAttribute attribute : mrsPerson.getAttributes()) { PersonAttributeType attributeType = personService.getPersonAttributeTypeByName(attribute.getName()); person.addAttribute(new PersonAttribute(attributeType, attribute.getValue())); } Role role = userService.getRole(mrsUser.getSecurityRole()); user.addRole(role); addProviderRole(user, role); user.setSystemId(mrsUser.getSystemId()); user.setUsername(mrsUser.getUserName()); return user; }
private void setupMappings() { MetadataSource metadataSource = new MetadataSource(); metadataSource.setName("source"); metadataSource.setDateCreated(new Date()); metadataSource.setRetired(false); metadataSource.setId(1); metadataSource = Context.getService(MetadataMappingService.class).saveMetadataSource(metadataSource); MetadataTermMapping metadataTermMapping1 = new MetadataTermMapping(metadataSource, "DataClerk", Context.getUserService().getRole("Data Clerk")); metadataTermMapping1.setName("mapping1"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping1); MetadataTermMapping metadataTermMapping2 = new MetadataTermMapping(metadataSource, "ROLE", Context.getUserService().getRole("Provider")); metadataTermMapping2.setName("mapping2"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping2); MetadataTermMapping metadataTermMapping3 = new MetadataTermMapping(metadataSource, "Location", Context.getLocationService().getLocationByUuid("9356400c-a5a2-4532-8f2b-2361b3446eb8")); metadataTermMapping3.setName("mapping3"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping3); MetadataTermMapping metadataTermMapping4 = new MetadataTermMapping(metadataSource, "MDR-TB PROGRAM", Context.getProgramWorkflowService().getProgramByName("MDR-TB PROGRAM")); metadataTermMapping4.setName("mapping4"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping4); MetadataTermMapping metadataTermMapping5 = new MetadataTermMapping(metadataSource, "1", Context.getPatientService().getPatientIdentifierType(1)); metadataTermMapping5.setName("mapping5"); Context.getService(MetadataMappingService.class).saveMetadataTermMapping(metadataTermMapping5); Context.flushSession(); }