Search in sources :

Example 1 with EntityAction

use of org.akaza.openclinica.bean.core.EntityAction in project OpenClinica by OpenClinica.

the class DeleteUserServlet method processRequest.

@Override
protected void processRequest() throws Exception {
    UserAccountDAO udao = new UserAccountDAO(sm.getDataSource());
    FormProcessor fp = new FormProcessor(request);
    int userId = fp.getInt(ARG_USERID);
    int action = fp.getInt(ARG_ACTION);
    UserAccountBean u = (UserAccountBean) udao.findByPK(userId);
    String message;
    if (!u.isActive()) {
        message = respage.getString("the_specified_user_not_exits");
    } else if (!EntityAction.contains(action)) {
        message = respage.getString("the_specified_action_on_the_user_is_invalid");
    } else if (!EntityAction.get(action).equals(EntityAction.DELETE) && !EntityAction.get(action).equals(EntityAction.RESTORE)) {
        message = respage.getString("the_specified_action_is_not_allowed");
    } else {
        EntityAction desiredAction = EntityAction.get(action);
        u.setUpdater(ub);
        if (desiredAction.equals(EntityAction.DELETE)) {
            udao.delete(u);
            if (udao.isQuerySuccessful()) {
                message = respage.getString("the_user_has_been_removed_successfully");
            // YW 07-31-2007 << for feature that deletion doesn't need
            // email the deleted user.
            /*
                     * //YW 07-26-2007 << catch exception (eg. timeout) and
                     * inform users. try { sendDeleteEmail(u); } catch
                     * (Exception e) { message += " However, there has been an
                     * error sending the user an email regarding this
                     * deletion."; }
                     */
            // YW >>
            } else {
                message = respage.getString("the_user_could_not_be_deleted_due_database_error");
            }
        } else {
            SecurityManager sm = (SecurityManager) SpringServletAccess.getApplicationContext(context).getBean("securityManager");
            String password = sm.genPassword();
            String passwordHash = sm.encrytPassword(password, getUserDetails());
            if (!u.isLdapUser()) {
                u.setPasswd(passwordHash);
                u.setPasswdTimestamp(null);
            }
            udao.restore(u);
            if (udao.isQuerySuccessful()) {
                message = respage.getString("the_user_has_been_restored");
                try {
                    if (!u.isLdapUser()) {
                        sendRestoreEmail(u, password);
                    }
                } catch (Exception e) {
                    message += respage.getString("however_was_error_sending_user_email_regarding");
                }
            } else {
                message = respage.getString("the_user_could_not_be_deleted_due_database_error");
            }
        }
    }
    addPageMessage(message);
    forwardPage(Page.LIST_USER_ACCOUNTS_SERVLET);
}
Also used : EntityAction(org.akaza.openclinica.bean.core.EntityAction) SecurityManager(org.akaza.openclinica.core.SecurityManager) FormProcessor(org.akaza.openclinica.control.form.FormProcessor) UserAccountBean(org.akaza.openclinica.bean.login.UserAccountBean) UserAccountDAO(org.akaza.openclinica.dao.login.UserAccountDAO) InsufficientPermissionException(org.akaza.openclinica.web.InsufficientPermissionException)

Example 2 with EntityAction

use of org.akaza.openclinica.bean.core.EntityAction in project OpenClinica by OpenClinica.

the class DeleteStudyUserRoleServlet method processRequest.

@Override
protected void processRequest() throws Exception {
    UserAccountDAO udao = new UserAccountDAO(sm.getDataSource());
    FormProcessor fp = new FormProcessor(request);
    int studyId = fp.getInt(ARG_STUDYID);
    String uName = fp.getString(ARG_USERNAME);
    UserAccountBean user = (UserAccountBean) udao.findByUserName(uName);
    int action = fp.getInt(ARG_ACTION);
    StudyUserRoleBean s = udao.findRoleByUserNameAndStudyId(uName, studyId);
    String message;
    if (!s.isActive()) {
        message = respage.getString("the_specified_user_role_not_exits_for_study");
    } else if (!EntityAction.contains(action)) {
        message = respage.getString("the_specified_action_is_invalid");
    } else if (!EntityAction.get(action).equals(EntityAction.DELETE) && !EntityAction.get(action).equals(EntityAction.RESTORE)) {
        message = respage.getString("the_specified_action_is_not_allowed");
    } else if (EntityAction.get(action).equals(EntityAction.RESTORE) && user.getStatus().equals(Status.DELETED)) {
        message = respage.getString("the_role_cannot_be_restored_since_user_deleted");
    } else {
        EntityAction desiredAction = EntityAction.get(action);
        if (desiredAction.equals(EntityAction.DELETE)) {
            s.setStatus(Status.DELETED);
            message = respage.getString("the_study_user_role_deleted");
        } else {
            s.setStatus(Status.AVAILABLE);
            message = respage.getString("the_study_user_role_restored");
        }
        s.setUpdater(ub);
        udao.updateStudyUserRole(s, uName);
    }
    addPageMessage(message);
    forwardPage(Page.LIST_USER_ACCOUNTS_SERVLET);
}
Also used : EntityAction(org.akaza.openclinica.bean.core.EntityAction) FormProcessor(org.akaza.openclinica.control.form.FormProcessor) StudyUserRoleBean(org.akaza.openclinica.bean.login.StudyUserRoleBean) UserAccountBean(org.akaza.openclinica.bean.login.UserAccountBean) UserAccountDAO(org.akaza.openclinica.dao.login.UserAccountDAO)

Aggregations

EntityAction (org.akaza.openclinica.bean.core.EntityAction)2 UserAccountBean (org.akaza.openclinica.bean.login.UserAccountBean)2 FormProcessor (org.akaza.openclinica.control.form.FormProcessor)2 UserAccountDAO (org.akaza.openclinica.dao.login.UserAccountDAO)2 StudyUserRoleBean (org.akaza.openclinica.bean.login.StudyUserRoleBean)1 SecurityManager (org.akaza.openclinica.core.SecurityManager)1 InsufficientPermissionException (org.akaza.openclinica.web.InsufficientPermissionException)1