Search in sources :

Example 26 with User

use of org.openmrs.User in project openmrs-core by openmrs.

the class CreateCoreUuids method getUUIDs.

// @Test
@SkipBaseSetup
public void getUUIDs() throws Exception {
    Context.authenticate("admin", "test");
    System.out.println("db: " + OpenmrsConstants.DATABASE_NAME);
    Map<String, List<? extends OpenmrsMetadata>> coremetadatas = new LinkedHashMap<>();
    coremetadatas.put("field_type", Context.getFormService().getAllFieldTypes(true));
    coremetadatas.put("person_attribute_type", Context.getPersonService().getAllPersonAttributeTypes(true));
    coremetadatas.put("encounter_type", Context.getEncounterService().getAllEncounterTypes(true));
    coremetadatas.put("concept_datatype", Context.getConceptService().getAllConceptDatatypes(true));
    coremetadatas.put("concept_class", Context.getConceptService().getAllConceptClasses(true));
    coremetadatas.put("patient_identifier_type", Context.getPatientService().getAllPatientIdentifierTypes(true));
    coremetadatas.put("location", Context.getLocationService().getAllLocations(true));
    coremetadatas.put("hl7_source", Context.getHL7Service().getAllHL7Sources());
    for (Map.Entry<String, List<? extends OpenmrsMetadata>> entry : coremetadatas.entrySet()) {
        System.out.println("new table: " + entry.getKey());
        for (OpenmrsMetadata obj : entry.getValue()) {
            String output = "<update tableName=\"" + entry.getKey() + "\"><column name=\"uuid\" value=\"" + obj.getUuid() + "\"/><where>" + entry.getKey() + "_id" + "= '" + obj.getId() + "' and name = '" + obj.getName().replace("'", "\\'") + "'</where></update>";
            System.out.println(output);
        }
    }
    // /////////////////////////////////////
    // exceptions:
    // 
    // relationship types
    System.out.println("Relationship type");
    for (RelationshipType type : Context.getPersonService().getAllRelationshipTypes()) {
        String output = "<update tableName=\"relationship_type\"><column name=\"uuid\" value=\"" + type.getUuid() + "\"/><where> relationship_type_id = '" + type.getRelationshipTypeId() + "' and a_is_to_b = '" + type.getaIsToB().replace("'", "\\'") + "' and b_is_to_a = '" + type.getbIsToA().replace("'", "\\'") + "'</where></update>";
        System.out.println(output);
    }
    // roles:
    System.out.println("Roles");
    for (Role role : Context.getUserService().getAllRoles()) {
        String output = "<update tableName=\"role\"><column name=\"uuid\" value=\"" + role.getUuid() + "\"/><where> role = '" + role.getRole().replace("'", "\\'") + "'</where></update>";
        System.out.println(output);
    }
    // user:
    System.out.println("Users");
    for (User user : Context.getUserService().getAllUsers()) {
        String output = "<update tableName=\"users\"><column name=\"uuid\" value=\"" + user.getUuid() + "\"/><where> user_id = '" + user.getUserId() + "' and system_id = '" + user.getSystemId().replace("'", "\\'") + "'</where></update>";
        System.out.println(output);
    }
}
Also used : Role(org.openmrs.Role) User(org.openmrs.User) RelationshipType(org.openmrs.RelationshipType) List(java.util.List) OpenmrsMetadata(org.openmrs.OpenmrsMetadata) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) LinkedHashMap(java.util.LinkedHashMap)

Example 27 with User

use of org.openmrs.User in project openmrs-core by openmrs.

the class HibernateUserDAO method changePassword.

/**
 * @see org.openmrs.api.db.UserDAO#changePassword(org.openmrs.User, java.lang.String)
 */
@Override
public void changePassword(User u, String pw) throws DAOException {
    User authUser = Context.getAuthenticatedUser();
    if (authUser == null) {
        authUser = u;
    }
    log.debug("updating password");
    // update the user with the new password
    String salt = getLoginCredential(u).getSalt();
    String newHashedPassword = Security.encodeString(pw + salt);
    updateUserPassword(newHashedPassword, salt, authUser.getUserId(), new Date(), u.getUserId());
}
Also used : User(org.openmrs.User) Date(java.util.Date)

Example 28 with User

use of org.openmrs.User in project openmrs-core by openmrs.

the class HibernateUserDAO method getUsersByName.

/**
 * @see org.openmrs.api.UserService#getUsersByName(java.lang.String, java.lang.String, boolean)
 */
@Override
public List<User> getUsersByName(String givenName, String familyName, boolean includeRetired) {
    Criteria crit = sessionFactory.getCurrentSession().createCriteria(User.class);
    crit.createAlias("person", "person");
    crit.createAlias("person.names", "names");
    crit.add(Restrictions.eq("names.givenName", givenName));
    crit.add(Restrictions.eq("names.familyName", familyName));
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    if (!includeRetired) {
        crit.add(Restrictions.eq("retired", false));
    }
    return new ArrayList<>((List<User>) crit.list());
}
Also used : User(org.openmrs.User) ArrayList(java.util.ArrayList) Criteria(org.hibernate.Criteria)

Example 29 with User

use of org.openmrs.User in project openmrs-core by openmrs.

the class HibernateUserDAO method changeHashedPassword.

/**
 * @see org.openmrs.api.db.UserDAO#changeHashedPassword(User, String, String)
 */
@Override
public void changeHashedPassword(User user, String hashedPassword, String salt) throws DAOException {
    User authUser = Context.getAuthenticatedUser();
    updateUserPassword(hashedPassword, salt, authUser.getUserId(), new Date(), user.getUserId());
}
Also used : User(org.openmrs.User) Date(java.util.Date)

Example 30 with User

use of org.openmrs.User in project openmrs-core by openmrs.

the class HibernateUserDAO method updateUserPassword.

/**
 * @param newHashedPassword
 * @param salt
 * @param userId
 * @param date
 * @param userId2
 */
private void updateUserPassword(String newHashedPassword, String salt, Integer changedBy, Date dateChanged, Integer userIdToChange) {
    User changeForUser = getUser(userIdToChange);
    if (changeForUser == null) {
        throw new DAOException("Couldn't find user to set password for userId=" + userIdToChange);
    }
    User changedByUser = getUser(changedBy);
    LoginCredential credentials = getLoginCredential(changeForUser);
    credentials.setUserId(userIdToChange);
    credentials.setHashedPassword(newHashedPassword);
    credentials.setSalt(salt);
    credentials.setChangedBy(changedByUser);
    credentials.setDateChanged(dateChanged);
    credentials.setUuid(changeForUser.getUuid());
    sessionFactory.getCurrentSession().merge(credentials);
    // reset lockout
    changeForUser.setUserProperty(OpenmrsConstants.USER_PROPERTY_LOCKOUT_TIMESTAMP, "");
    changeForUser.setUserProperty(OpenmrsConstants.USER_PROPERTY_LOGIN_ATTEMPTS, "0");
    saveUser(changeForUser, null);
}
Also used : DAOException(org.openmrs.api.db.DAOException) User(org.openmrs.User) LoginCredential(org.openmrs.api.db.LoginCredential)

Aggregations

User (org.openmrs.User)201 Test (org.junit.Test)150 BaseContextSensitiveTest (org.openmrs.test.BaseContextSensitiveTest)132 Date (java.util.Date)38 Person (org.openmrs.Person)33 Encounter (org.openmrs.Encounter)21 Patient (org.openmrs.Patient)18 PersonName (org.openmrs.PersonName)17 Role (org.openmrs.Role)13 GlobalProperty (org.openmrs.GlobalProperty)11 Location (org.openmrs.Location)11 ArrayList (java.util.ArrayList)10 EncounterType (org.openmrs.EncounterType)10 Locale (java.util.Locale)7 UserService (org.openmrs.api.UserService)7 PatientServiceImplTest (org.openmrs.api.impl.PatientServiceImplTest)7 BindException (org.springframework.validation.BindException)7 Errors (org.springframework.validation.Errors)7 EncounterRole (org.openmrs.EncounterRole)6 PatientIdentifier (org.openmrs.PatientIdentifier)6