Search in sources :

Example 1 with SitePreferenceHelper

use of org.mifos.ui.core.controller.util.helpers.SitePreferenceHelper in project head by mifos.

the class PersonnelSettingsAction method update.

@CloseSession
@TransactionDemarcate(validateAndResetToken = true)
public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    PersonnelSettingsActionForm personnelSettingsActionForm = (PersonnelSettingsActionForm) form;
    PersonnelBO personnel = (PersonnelBO) SessionUtils.getAttribute(Constants.BUSINESS_KEY, request);
    AddressDto address = null;
    if (personnelSettingsActionForm.getAddress() != null) {
        address = Address.toDto(personnelSettingsActionForm.getAddress());
    }
    this.personnelServiceFacade.updateUserSettings(personnel.getPersonnelId(), personnelSettingsActionForm.getEmailId(), personnelSettingsActionForm.getName(), personnelSettingsActionForm.getMaritalStatusValue(), personnelSettingsActionForm.getGenderValue(), address, personnelSettingsActionForm.getPreferredLocaleValue(), personnelSettingsActionForm.getPreferredSiteTypeId());
    MifosUser user = (MifosUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
    (new SitePreferenceHelper()).setSitePreferenceCookie(personnelServiceFacade.retrieveSitePreference(user.getUserId()), response);
    return mapping.findForward(ActionForwards.updateSettings_success.toString());
}
Also used : SitePreferenceHelper(org.mifos.ui.core.controller.util.helpers.SitePreferenceHelper) PersonnelBO(org.mifos.customers.personnel.business.PersonnelBO) MifosUser(org.mifos.security.MifosUser) AddressDto(org.mifos.dto.domain.AddressDto) PersonnelSettingsActionForm(org.mifos.customers.personnel.struts.actionforms.PersonnelSettingsActionForm) CloseSession(org.mifos.framework.util.helpers.CloseSession) TransactionDemarcate(org.mifos.framework.util.helpers.TransactionDemarcate)

Example 2 with SitePreferenceHelper

use of org.mifos.ui.core.controller.util.helpers.SitePreferenceHelper in project head by mifos.

the class MifosLegacyUsernamePasswordAuthenticationFilter method handleLegacySuccessfulAuthentication.

private void handleLegacySuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, final String username, final String password) {
    try {
        FlowManager flowManager = new FlowManager();
        String flowKey = String.valueOf(new DateTimeService().getCurrentDateTime().getMillis());
        flowManager.addFLow(flowKey, new Flow(), this.getFilterName());
        request.setAttribute(Constants.CURRENTFLOWKEY, flowKey);
        request.getSession(false).setAttribute(Constants.FLOWMANAGER, flowManager);
        request.getSession(false).setAttribute(Constants.RANDOMNUM, new Random().nextLong());
        boolean flag = AccountingRules.getSimpleAccountingStatus();
        request.getSession(false).setAttribute("accountingActivationStatus", flag);
        LoginDto loginActivity = loginServiceFacade.login(username, password);
        PersonnelBO user = ApplicationContextProvider.getBean(LegacyPersonnelDao.class).findPersonnelById(loginActivity.getUserId());
        SitePreferenceHelper sitePreferenceHelper = new SitePreferenceHelper();
        sitePreferenceHelper.setSitePreferenceCookie(SitePreferenceType.getSitePreference(user.getSitePreference()), response);
        ActivityContext activityContext = new ActivityContext(Short.valueOf("0"), user.getOffice().getOfficeId(), user.getPersonnelId());
        request.getSession(false).setAttribute(Constants.ACTIVITYCONTEXT, activityContext);
        request.setAttribute("activityDto", loginActivity);
        Short localeId = user.getPreferredLocale();
        Locale preferredLocale = Localization.getInstance().getLocaleById(localeId);
        UserContext userContext = new UserContext();
        userContext.setPreferredLocale(preferredLocale);
        userContext.setLocaleId(localeId);
        userContext.setId(user.getPersonnelId());
        userContext.setName(user.getDisplayName());
        userContext.setLevel(user.getLevelEnum());
        userContext.setRoles(user.getRoles());
        userContext.setLastLogin(user.getLastLogin());
        userContext.setPasswordChanged(user.getPasswordChanged());
        userContext.setBranchId(user.getOffice().getOfficeId());
        userContext.setBranchGlobalNum(user.getOffice().getGlobalOfficeNum());
        userContext.setOfficeLevelId(user.getOffice().getLevel().getId());
        request.setAttribute(Constants.USERCONTEXT, userContext);
        request.getSession(false).setAttribute(Constants.USERCONTEXT, userContext);
        request.removeAttribute("CURRENT_LOCALE_ID");
        request.setAttribute("CURRENT_LOCALE_ID", localeId);
        if (loginActivity.isPasswordChanged()) {
            HttpSession hs = request.getSession(false);
            hs.setAttribute(Constants.USERCONTEXT, userContext);
            hs.setAttribute(Globals.LOCALE_KEY, userContext.getCurrentLocale());
        } else {
            flowManager.addObjectToFlow(flowKey, Constants.TEMPUSERCONTEXT, userContext);
        }
        if (loginActivity.isPasswordChanged()) {
            flowManager.removeFlow((String) request.getAttribute(Constants.CURRENTFLOWKEY));
            request.setAttribute(Constants.CURRENTFLOWKEY, null);
        }
    } catch (ApplicationException e1) {
        throw new MifosRuntimeException(e1);
    }
}
Also used : ActivityContext(org.mifos.security.util.ActivityContext) Locale(java.util.Locale) FlowManager(org.mifos.framework.util.helpers.FlowManager) SitePreferenceHelper(org.mifos.ui.core.controller.util.helpers.SitePreferenceHelper) UserContext(org.mifos.security.util.UserContext) HttpSession(javax.servlet.http.HttpSession) LegacyPersonnelDao(org.mifos.customers.personnel.persistence.LegacyPersonnelDao) Flow(org.mifos.framework.util.helpers.Flow) ApplicationException(org.mifos.framework.exceptions.ApplicationException) Random(java.util.Random) PersonnelBO(org.mifos.customers.personnel.business.PersonnelBO) LoginDto(org.mifos.dto.domain.LoginDto) DateTimeService(org.mifos.framework.util.DateTimeService) MifosRuntimeException(org.mifos.core.MifosRuntimeException)

Aggregations

PersonnelBO (org.mifos.customers.personnel.business.PersonnelBO)2 SitePreferenceHelper (org.mifos.ui.core.controller.util.helpers.SitePreferenceHelper)2 Locale (java.util.Locale)1 Random (java.util.Random)1 HttpSession (javax.servlet.http.HttpSession)1 MifosRuntimeException (org.mifos.core.MifosRuntimeException)1 LegacyPersonnelDao (org.mifos.customers.personnel.persistence.LegacyPersonnelDao)1 PersonnelSettingsActionForm (org.mifos.customers.personnel.struts.actionforms.PersonnelSettingsActionForm)1 AddressDto (org.mifos.dto.domain.AddressDto)1 LoginDto (org.mifos.dto.domain.LoginDto)1 ApplicationException (org.mifos.framework.exceptions.ApplicationException)1 DateTimeService (org.mifos.framework.util.DateTimeService)1 CloseSession (org.mifos.framework.util.helpers.CloseSession)1 Flow (org.mifos.framework.util.helpers.Flow)1 FlowManager (org.mifos.framework.util.helpers.FlowManager)1 TransactionDemarcate (org.mifos.framework.util.helpers.TransactionDemarcate)1 MifosUser (org.mifos.security.MifosUser)1 ActivityContext (org.mifos.security.util.ActivityContext)1 UserContext (org.mifos.security.util.UserContext)1