Search in sources :

Example 36 with User

use of org.activityinfo.server.database.hibernate.entity.User in project activityinfo by bedatadriven.

the class UpdateUserPermissionsHandler method execute.

@Override
public CommandResult execute(UpdateUserPermissions cmd, User executingUser) {
    LOGGER.info("UpdateUserPermissions: " + cmd);
    Database database = databaseDAO.findById(cmd.getDatabaseId());
    UserPermissionDTO dto = cmd.getModel();
    /*
         * First check that the current user has permission to add users to to
         * the queries
         */
    boolean isOwner = executingUser.getId() == database.getOwner().getId();
    UserPermission executingUserPermission = queryUserPermission(executingUser, database);
    LOGGER.info("executingUserPermission: isOwner: " + isOwner + ", executingUserPermissions: " + cmd);
    if (!isOwner) {
        verifyAuthority(cmd, executingUserPermission);
    }
    /* Database owner cannot be added */
    if (database.getOwner().getEmail().equalsIgnoreCase(cmd.getModel().getEmail())) {
        throw new UserExistsException();
    }
    User user = null;
    if (userDAO.doesUserExist(dto.getEmail())) {
        user = userDAO.findUserByEmail(dto.getEmail());
    }
    if (user == null) {
        user = createNewUser(executingUser, dto);
    }
    /*
         * Does the permission record exist ?
         */
    UserPermission perm = queryUserPermission(user, database);
    if (perm == null) {
        perm = new UserPermission(database, user);
        doUpdate(perm, dto, isOwner, executingUserPermission);
        permDAO.persist(perm);
    } else {
        // If the user is intending to add a new user, verify that this user doesn't already exist
        if (cmd.isNewUser() && perm.isAllowView()) {
            throw new UserExistsException();
        }
        doUpdate(perm, dto, isOwner, executingUserPermission);
    }
    return null;
}
Also used : UserExistsException(org.activityinfo.legacy.shared.command.result.UserExistsException) User(org.activityinfo.server.database.hibernate.entity.User) Database(org.activityinfo.server.database.hibernate.entity.Database) UserPermissionDTO(org.activityinfo.legacy.shared.model.UserPermissionDTO) UserPermission(org.activityinfo.server.database.hibernate.entity.UserPermission)

Example 37 with User

use of org.activityinfo.server.database.hibernate.entity.User in project activityinfo by bedatadriven.

the class BasicAuthentication method tryAuthenticate.

public Authentication tryAuthenticate(String authorizationHeader) {
    User user;
    try {
        user = doAuthentication(authorizationHeader);
    } catch (IOException e) {
        return null;
    }
    Authentication auth = new Authentication(user);
    auth.setId("");
    return auth;
}
Also used : User(org.activityinfo.server.database.hibernate.entity.User) AuthenticatedUser(org.activityinfo.legacy.shared.AuthenticatedUser) Authentication(org.activityinfo.server.database.hibernate.entity.Authentication) IOException(java.io.IOException)

Example 38 with User

use of org.activityinfo.server.database.hibernate.entity.User in project activityinfo by bedatadriven.

the class HumanitarianId method createNewAccount.

private Response createNewAccount(URI baseUri, HumanitarianIdAccount account) {
    entityManager.get().getTransaction().begin();
    User user = new User();
    user.setEmail(account.getEmail());
    user.setName(account.getName());
    user.setDateCreated(new Date());
    user.setLocale("en");
    entityManager.get().persist(user);
    entityManager.get().getTransaction().commit();
    return redirectToApp(baseUri, user);
}
Also used : User(org.activityinfo.server.database.hibernate.entity.User) Date(java.util.Date)

Example 39 with User

use of org.activityinfo.server.database.hibernate.entity.User in project activityinfo by bedatadriven.

the class DispatcherSyncImpl method execute.

@Override
public <C extends Command<R>, R extends CommandResult> R execute(C command) throws CommandException {
    if (RemoteExecutionContext.inProgress()) {
        return RemoteExecutionContext.current().execute(command);
    } else {
        User user = new User();
        user.setId(userProvider.get().getUserId());
        user.setEmail(userProvider.get().getEmail());
        user.setLocale(userProvider.get().getUserLocale());
        RemoteExecutionContext context = new RemoteExecutionContext(injector);
        return context.startExecute(command);
    }
}
Also used : User(org.activityinfo.server.database.hibernate.entity.User) AuthenticatedUser(org.activityinfo.legacy.shared.AuthenticatedUser) RemoteExecutionContext(org.activityinfo.server.endpoint.gwtrpc.RemoteExecutionContext)

Example 40 with User

use of org.activityinfo.server.database.hibernate.entity.User in project activityinfo by bedatadriven.

the class UserDAOImpl method createNewUser.

/**
 * Initializes this User as a new User with a secure changePasswordKey
 */
public static User createNewUser(String email, String name, String organization, String jobtitle, String locale) {
    User user = new User();
    user.setEmail(email);
    user.setName(name);
    user.setOrganization(organization);
    user.setJobtitle(jobtitle);
    user.setEmailNotification(false);
    user.setLocale(locale);
    user.setChangePasswordKey(SecureTokenGenerator.generate());
    return user;
}
Also used : User(org.activityinfo.server.database.hibernate.entity.User)

Aggregations

User (org.activityinfo.server.database.hibernate.entity.User)51 Test (org.junit.Test)19 Date (java.util.Date)7 EntityManager (javax.persistence.EntityManager)7 NoResultException (javax.persistence.NoResultException)7 AuthenticatedUser (org.activityinfo.legacy.shared.AuthenticatedUser)6 Database (org.activityinfo.server.database.hibernate.entity.Database)6 IOException (java.io.IOException)5 ServletException (javax.servlet.ServletException)4 GET (javax.ws.rs.GET)3 Produces (javax.ws.rs.Produces)3 GetSyncRegionUpdates (org.activityinfo.legacy.shared.command.GetSyncRegionUpdates)3 SyncRegionUpdate (org.activityinfo.legacy.shared.command.result.SyncRegionUpdate)3 OnDataSet (org.activityinfo.server.database.OnDataSet)3 Transactional (org.activityinfo.server.database.hibernate.dao.Transactional)3 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 POST (javax.ws.rs.POST)2 Filter (org.activityinfo.legacy.shared.command.Filter)2 PivotSites (org.activityinfo.legacy.shared.command.PivotSites)2