/** * Get the integer stored for the given user that is their number of login attempts * * @param user the user to check * @return the # of login attempts for this user defaulting to zero if none defined */ private Integer getUsersLoginAttempts(User user) { String attemptsString = user.getUserProperty(OpenmrsConstants.USER_PROPERTY_LOGIN_ATTEMPTS, "0"); Integer attempts = 0; try { attempts = Integer.valueOf(attemptsString); } catch (NumberFormatException e) { // skip over errors and leave the attempts at zero } return attempts; }
/** * Send message to a single user. * * @param message the <code>Message</code> to be sent * @param user the recipient of the message */ @Override public void sendMessage(Message message, User user) throws MessageException { log.debug("Sending message to user " + user); String address = user.getUserProperty(OpenmrsConstants.USER_PROPERTY_NOTIFICATION_ADDRESS); if (address != null) { message.addRecipient(address); } Context.getMessageService().sendMessage(message); }
String proficientLocalesProperty = getUserProperty(OpenmrsConstants.USER_PROPERTY_PROFICIENT_LOCALES);
/** * Send message to a collection of recipients. */ @Override public void sendMessage(Message message, Collection<User> users) throws MessageException { log.debug("Sending message to users " + users); for (User user : users) { String address = user.getUserProperty(OpenmrsConstants.USER_PROPERTY_NOTIFICATION_ADDRESS); if (address != null) { message.addRecipient(address); } } Context.getMessageService().sendMessage(message); }
String locationId = this.user.getUserProperty(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCATION); if (StringUtils.isNotBlank(locationId)) {
/** * Send a message to a user that is identified by the given identifier. * * @param message <code>Message</code> to be sent * @param recipientId Integer identifier of user (recipient) */ @Override public void sendMessage(Message message, Integer recipientId) throws MessageException { log.debug("Sending message to user with user id " + recipientId); User user = Context.getUserService().getUser(recipientId); message.addRecipient(user.getUserProperty(OpenmrsConstants.USER_PROPERTY_NOTIFICATION_ADDRESS)); Context.getMessageService().sendMessage(message); }
/** * Become a different user. (You should only be able to do this as a superuser.) * * @param systemId * @throws ContextAuthenticationException * @should change locale when become another user */ public static void becomeUser(String systemId) throws ContextAuthenticationException { log.info("systemId: {}", systemId); User user = getUserContext().becomeUser(systemId); // if assuming identity procedure finished successfully, we should change context locale parameter Locale locale = null; if (user.getUserProperties().containsKey(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCALE)) { String localeString = user.getUserProperty(OpenmrsConstants.USER_PROPERTY_DEFAULT_LOCALE); locale = LocaleUtility.fromSpecification(localeString); } // when locale parameter is not valid or does not exist if (locale == null) { locale = LocaleUtility.getDefaultLocale(); } Context.setLocale(locale); }
String lockoutTimeString = candidateUser.getUserProperty(OpenmrsConstants.USER_PROPERTY_LOCKOUT_TIMESTAMP, null); Long lockoutTime = null; if (lockoutTimeString != null && !"0".equals(lockoutTimeString)) {
/** * @see UserService#setUserProperty(User,String,String) */ @Test public void setUserProperty_shouldModifyPropertyWithGivenKeyAndValueWhenKeyAlreadyExists() { executeDataSet(XML_FILENAME); User user = userService.getUser(5505); // Check that it already exists Assert.assertEquals(user.getUserProperty("some key"), "some value"); userService.setUserProperty(user, "some key", "some new value"); user = userService.getUser(5505); Assert.assertEquals("some new value", user.getUserProperty("some key")); }
/** * @see UserService#removeUserProperty(User,String) */ @Test public void removeUserProperty_shouldRemoveUserPropertyForGivenUserAndKey() { executeDataSet(XML_FILENAME); User user = userService.getUser(5505); Assert.assertNotSame("", user.getUserProperty("some key")); userService.removeUserProperty(user, "some key"); user = userService.getUser(5505); Assert.assertEquals("", user.getUserProperty("some key")); }
/** * @see UserService#setUserProperty(User,String,String) */ @Test public void setUserProperty_shouldAddPropertyWithGivenKeyAndValueWhenKeyDoesNotAlreadyExist() { executeDataSet(XML_FILENAME); User user = userService.getUser(5505); // Check that it doesn't already exist Assert.assertEquals(user.getUserProperty("some new key"), ""); userService.setUserProperty(user, "some new key", "some new value"); user = userService.getUser(5505); Assert.assertEquals("some new value", user.getUserProperty("some new key")); }
@Test public void saveUserProperties_shouldRemoveAllExistingPropertiesAndAssignNewProperties() { executeDataSet(XML_FILENAME); // retrieve a user who has UserProperties User user = userService.getUser(5511); assertEquals(1, user.getUserProperties().size()); // Authenticate the test user so that Context.getAuthenticatedUser() method returns above user Context.authenticate(user.getUsername(), "testUser1234"); final String USER_PROPERTY_KEY_1 = "test-key1"; final String USER_PROPERTY_VALUE_1 = "test-value1"; final String USER_PROPERTY_KEY_2 = "test-key2"; final String USER_PROPERTY_VALUE_2 = "test-value2"; Map<String, String> propertiesMap = new HashMap<>(); propertiesMap.put(USER_PROPERTY_KEY_1, USER_PROPERTY_VALUE_1); propertiesMap.put(USER_PROPERTY_KEY_2, USER_PROPERTY_VALUE_2); propertiesMap = Collections.unmodifiableMap(propertiesMap); User updatedUser = userService.saveUserProperties(propertiesMap); //we should have only the new properties assertEquals(2, updatedUser.getUserProperties().size()); //Verify that the new properties were saved assertEquals(USER_PROPERTY_VALUE_1, updatedUser.getUserProperty(USER_PROPERTY_KEY_1)); assertEquals(USER_PROPERTY_VALUE_2, updatedUser.getUserProperty(USER_PROPERTY_KEY_2)); }
@Test public void saveUserProperty_shouldAddNewPropertyToExistingUserProperties() { executeDataSet(XML_FILENAME); // retrieve a user who has UserProperties User user = userService.getUser(5511); // Authenticate the test user so that Context.getAuthenticatedUser() method returns above user Context.authenticate(user.getUsername(), "testUser1234"); final int numberOfUserProperties = user.getUserProperties().size(); assertEquals(1, user.getUserProperties().size()); final String USER_PROPERTY_KEY = "test-key"; final String USER_PROPERTY_VALUE = "test-value"; User updatedUser = userService.saveUserProperty(USER_PROPERTY_KEY, USER_PROPERTY_VALUE); assertNotNull(updatedUser.getUserProperty(USER_PROPERTY_KEY)); assertEquals(USER_PROPERTY_VALUE, updatedUser.getUserProperty(USER_PROPERTY_KEY)); //make sure that properties count is incremented by one assertEquals((numberOfUserProperties + 1), updatedUser.getUserProperties().size()); }
String upValue = Context.getAuthenticatedUser().getUserProperty(upName); if (StringUtils.isNotEmpty(upValue)) { return getLocation(upValue, context);