/** * @param obj * @return */ @Override protected Object getResultDataDetail(ALBaseUser record) { try { Integer id = Integer.valueOf(record.getUserId()); AccountResultData rd = new AccountResultData(); rd.initField(); rd.setUserId(Integer.valueOf(record.getUserId()).intValue()); rd.setUserName(record.getUserName()); rd.setName( new StringBuffer() .append(record.getLastName()) .append(" ") .append(record.getFirstName()) .toString()); rd.setNameKana( new StringBuffer() .append(record.getLastNameKana()) .append(" ") .append(record.getFirstNameKana()) .toString()); rd.setEmail(record.getEmail()); rd.setOutTelephone(record.getOutTelephone()); rd.setInTelephone(record.getInTelephone()); rd.setCellularPhone(record.getCellularPhone()); rd.setCellularMail(record.getCellularMail()); rd.setPostNameList(ALEipUtils.getPostNameList(id.intValue())); rd.setPositionName(ALEipUtils.getPositionName(record.getPositionId())); rd.setDisabled(record.getDisabled()); rd.setIsAdmin(ALEipUtils.isAdmin(Integer.valueOf(record.getUserId()))); rd.setHasPhoto(record.hasPhoto()); rd.setIsNewPhotoSpec("N".equals(record.hasPhotoString())); rd.setPhotoModified(record.getPhotoModified().getTime()); return rd; } catch (Exception ex) { logger.error("AccountUserSelectData.getResultDataDetail", ex); return null; } }
/** * @param rundata * @param context * @param msgList * @return */ @Override protected boolean updateFormData(RunData rundata, Context context, List<String> msgList) { boolean res = true; try { ALBaseUser user = AccountUtils.getBaseUser(rundata, context); if (user == null) { return false; } // WebAPIのDBへ接続できるか確認 if (!ALDataSyncFactoryService.getInstance().getDataSyncHandler().checkConnect()) { msgList.add(ALLocalizationUtils.getl10n("ACCOUNT_ALERT_CONNECT_DB_FAILED")); return false; } // 新しいパスワードをセットする JetspeedSecurity.forcePassword(user, new_passwd.toString()); // ユーザを更新する JetspeedSecurity.saveUser(user); // WebAPIとのDB同期 if (!ALDataSyncFactoryService.getInstance().getDataSyncHandler().updateUser(user)) { return false; } ALBaseUser currentUser = (ALBaseUser) rundata.getUser(); if (currentUser.getUserName().equals(user.getUserName())) { currentUser.setPassword(user.getPassword()); } // イベントログに保存 ALEventlogFactoryService.getInstance() .getEventlogHandler() .log(Integer.valueOf(user.getUserId()), ALEventlogConstants.PORTLET_TYPE_ACCOUNT, null); } catch (Exception e) { logger.error("AccountPasswdFormData.updateFormData", e); res = false; } return res; }