/** * Convenience method to find the AlertRecipient object within this alert that corresponds to * the given <code>recipient</code> * * @param recipient * @return AlertRecipient */ public AlertRecipient getRecipient(User recipient) { if (getRecipients() != null) { for (AlertRecipient ar : recipients) { if (ar.getRecipient().equals(recipient)) { return ar; } } } return null; }
/** * Gets all the roles for a user. Anonymous and Authenticated roles are appended if necessary * * @param user * @return all expanded roles for a user * @should not fail with null user * @should add anonymous role to all users * @should add authenticated role to all authenticated users * @should return same roles as user getAllRoles method */ public Set<Role> getAllRoles(User user) throws Exception { Set<Role> roles = new HashSet<>(); // add the Anonymous Role roles.add(getAnonymousRole()); // add the Authenticated role if (user != null && getAuthenticatedUser() != null && getAuthenticatedUser().equals(user)) { roles.addAll(user.getAllRoles()); roles.add(getAuthenticatedRole()); } return roles; }
/** * @see org.openmrs.api.CohortService#notifyPatientUnvoided(Patient, User, Date) */ @Override public void notifyPatientUnvoided(Patient patient, User originallyVoidedBy, Date originalDateVoided) throws APIException { List<CohortMembership> memberships = getCohortMemberships(patient.getPatientId(), null, true); List<CohortMembership> toUnvoid = memberships.stream().filter( m -> m.getVoided() && m.getVoidedBy().equals(originallyVoidedBy) && OpenmrsUtil.compare( truncateToSeconds(m.getDateVoided()), truncateToSeconds(originalDateVoided)) == 0) .collect(Collectors.toList()); for (CohortMembership member : toUnvoid) { member.setVoided(false); member.setDateVoided(null); member.setVoidedBy(null); member.setVoidReason(null); dao.saveCohortMembership(member); } }
for (Encounter encounter : encounters) { if (encounter.getVoided() && encounter.getDateVoided().equals(origParentVoidedDate) && encounter.getVoidedBy().equals(originalVoidingUser)) { es.unvoidEncounter(encounter); for (Order order : orders) { if (order.getVoided() && order.getDateVoided().equals(origParentVoidedDate) && order.getVoidedBy().equals(originalVoidingUser)) { os.unvoidOrder(order);
Assert.assertTrue("Expected user1 to be the first in the sorted user list but wasn't", user1.equals(it.next())); Assert.assertTrue("Expected user2 to be the second in the sorted user list but wasn't", user2.equals(it.next())); Assert.assertTrue("Expected user3 to be the third in the sorted user list but wasn't", user3.equals(it.next())); Assert.assertTrue("Expected user4 to be the fourth in the sorted user list but wasn't", user4.equals(it.next()));
/** * @see org.openmrs.api.UserService#setUserProperty(User, String, String) */ @Override public User setUserProperty(User user, String key, String value) { if (user != null) { if (!Context.hasPrivilege(PrivilegeConstants.EDIT_USERS) && !user.equals(Context.getAuthenticatedUser())) { throw new APIException("you.are.not.authorized.change.properties", new Object[] { user.getUserId() }); } user.setUserProperty(key, value); try { Context.addProxyPrivilege(PrivilegeConstants.EDIT_USERS); Context.getUserService().saveUser(user); } finally { Context.removeProxyPrivilege(PrivilegeConstants.EDIT_USERS); } } return user; }
/** * @see org.openmrs.api.UserService#removeUserProperty(org.openmrs.User, java.lang.String) */ @Override public User removeUserProperty(User user, String key) { if (user != null) { // if the current user isn't allowed to edit users and // the user being edited is not the current user, throw an // exception if (!Context.hasPrivilege(PrivilegeConstants.EDIT_USERS) && !user.equals(Context.getAuthenticatedUser())) { throw new APIException("you.are.not.authorized.change.properties", new Object[] { user.getUserId() }); } user.removeUserProperty(key); try { Context.addProxyPrivilege(PrivilegeConstants.EDIT_USERS); Context.getUserService().saveUser(user); } finally { Context.removeProxyPrivilege(PrivilegeConstants.EDIT_USERS); } } return user; }
@Test public void createUser_shouldCreateNewUserWithBasicElements() { assertTrue("The context needs to be correctly authenticated to by a user", Context.isAuthenticated()); User u = new User(); u.setPerson(new Person()); u.addName(new PersonName("Benjamin", "A", "Wolfe")); u.setUsername("bwolfe"); u.getPerson().setGender("M"); User createdUser = userService.createUser(u, "Openmr5xy"); // if we're returning the object from create methods, check validity assertTrue("The user returned by the create user method should equal the passed in user", createdUser.equals(u)); createdUser = userService.getUserByUsername("bwolfe"); assertTrue("The created user should equal the passed in user", createdUser.equals(u)); }
if (Context.isAuthenticated() && Context.getAuthenticatedUser().equals(authenticatedUser)) { return;
/** * @see EncounterService#saveEncounterType(EncounterType) */ @Test public void saveEncounterType_shouldSetAuditInfoIfAnyItemInEncounterTypeIsEdited() { EncounterService es = Context.getEncounterService(); // Create encounter type, ensure creator/dateCreated are set, and changedBy and dateChanged are not setDateCreated. EncounterType encounterType = es.saveEncounterType(new EncounterType("testing", "desc")); User creator = encounterType.getCreator(); Date dateCreated = encounterType.getDateCreated(); assertNotNull("creator should be set after saving", creator); assertNotNull("date creates should be set after saving", dateCreated); assertNull("changed by should not be set after creation", encounterType.getChangedBy()); assertNull("date changed should not be set after creation", encounterType.getDateChanged()); // Edit encounter type. encounterType.setDescription("This has been a test!"); EncounterType editedEt = es.saveEncounterType(encounterType); Context.flushSession(); // Ensure creator/dateCreated remain unchanged, and changedBy and dateChanged are set. assertTrue("creator should not change during edit", creator.equals(editedEt.getCreator())); assertTrue("date created should not changed during edit", dateCreated.equals(editedEt.getDateCreated())); assertNotNull("changed by should be set after edit", editedEt.getChangedBy()); assertNotNull("date changed should be set after edit", editedEt.getDateChanged()); }
@Override public String generateHtml(FormEntryContext context) { if (context.getMode() == Mode.VIEW) { if (user != null) return WidgetFactory.displayValue(user.getPersonName().toString()); else return ""; } StringBuilder sb = new StringBuilder(); sb.append("<select name=\"" + context.getFieldName(this) + "\">"); // TODO translate sb.append("\n<option value=\"\">"); sb.append(Context.getMessageSourceService().getMessage("general.choose") + "..."); sb.append("</option>"); List<User> userList; if (options != null) { userList = options; } else { userList = Context.getUserService().getAllUsers(); } for (User u : userList) { sb.append("\n<option"); if (user != null && user.equals(u)) sb.append(" selected=\"true\""); sb.append(" value=\"" + u.getUserId() + "\">").append(u.getPersonName()).append("</option>"); } sb.append("</select>"); return sb.toString(); }