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());
}
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);
}
}
Aggregations