/*
* Aipo is a groupware program developed by TOWN, Inc.
* Copyright (C) 2004-2015 TOWN, Inc.
* http://www.aipo.com
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.aimluck.eip.account;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.imageio.ImageIO;
import org.apache.jetspeed.services.JetspeedSecurity;
import org.apache.jetspeed.services.logging.JetspeedLogFactoryService;
import org.apache.jetspeed.services.logging.JetspeedLogger;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
import com.aimluck.commons.field.ALStringField;
import com.aimluck.commons.utils.ALStringUtil;
import com.aimluck.eip.account.util.AccountUtils;
import com.aimluck.eip.cayenne.om.security.TurbineUser;
import com.aimluck.eip.common.ALAbstractFormData;
import com.aimluck.eip.common.ALBaseUser;
import com.aimluck.eip.common.ALDBErrorException;
import com.aimluck.eip.common.ALEipConstants;
import com.aimluck.eip.common.ALEipManager;
import com.aimluck.eip.common.ALPageNotFoundException;
import com.aimluck.eip.fileupload.beans.FileuploadLiteBean;
import com.aimluck.eip.fileupload.util.FileuploadMinSizeException;
import com.aimluck.eip.fileupload.util.FileuploadUtils;
import com.aimluck.eip.fileupload.util.FileuploadUtils.ShrinkImageSet;
import com.aimluck.eip.modules.actions.common.ALAction;
import com.aimluck.eip.orm.Database;
import com.aimluck.eip.services.datasync.ALDataSyncFactoryService;
import com.aimluck.eip.services.eventlog.ALEventlogConstants;
import com.aimluck.eip.services.eventlog.ALEventlogFactoryService;
import com.aimluck.eip.services.storage.ALStorageService;
import com.aimluck.eip.util.ALEipUtils;
import com.aimluck.eip.util.ALLocalizationUtils;
/**
* ユーザーアカウントのフォームデータを管理するためのクラスです。 <br />
*/
public class AccountEditFormData extends ALAbstractFormData {
/** logger */
private static final JetspeedLogger logger = JetspeedLogFactoryService
.getLogger(AccountEditFormData.class.getName());
/** ブラウザに表示するデフォルトのパスワード(ダミーパスワード) */
private static final String DEFAULT_VIEW_PASSWORD = "******";
/** プロフィール画像バリデートのサイズ(横幅) */
public static final int DEF_PHOTO_VALIDATE_WIDTH = 200;
/** プロフィール画像バリデートのサイズ(縦幅) */
public static final int DEF_PHOTO_VALIDATE_HEIGHT = 200;
/** ログイン名 */
private ALStringField loginname;
/** 名前(名) */
private ALStringField firstname;
/** 名前(姓) */
private ALStringField lastname;
/** 新しいパスワード */
private ALStringField new_password;
/** 新しいパスワード(確認用) */
private ALStringField new_password_confirm;
/** メールアドレス */
private ALStringField email;
/** 電話番号(内線) */
private ALStringField in_telephone;
/** 電話番号 */
private ALStringField out_telephone1;
/** 電話番号 */
private ALStringField out_telephone2;
/** 電話番号 */
private ALStringField out_telephone3;
/** 電話番号(携帯) */
private ALStringField cellular_phone1;
/** 電話番号(携帯) */
private ALStringField cellular_phone2;
/** 電話番号(携帯) */
private ALStringField cellular_phone3;
/** 携帯メールアドレス */
private ALStringField cellular_mail;
/** フリガナ(名) */
private ALStringField first_name_kana;
/** フリガナ(姓) */
private ALStringField last_name_kana;
/** 部署名リスト */
private final List<ALStringField> post_name_list =
new ArrayList<ALStringField>();
/** 役職 */
private ALStringField position_name;
/** 社員コード */
private ALStringField code;
/** 顔写真 */
private ALStringField photo = null;
private boolean photo_vali_flag = false;
/** 添付ファイル */
private FileuploadLiteBean filebean = null;
/** 添付フォルダ名 */
private String folderName = null;
private String orgId;
/** 顔写真データ */
private byte[] facePhoto;
/** 顔写真データ */
private byte[] facePhoto_smartphone;
/** パスワード変更の可否.変更する場合は,false. */
private boolean dontUpdatePasswd = false;
/** 登録済顔写真削除 */
private boolean delete_photo = false;
private boolean isNewPhotoSpec = false;
/**
* 初期化処理を行います。 <BR>
*
* @param action
* @param rundata
* @param context
*/
@Override
public void init(ALAction action, RunData rundata, Context context)
throws ALPageNotFoundException, ALDBErrorException {
super.init(action, rundata, context);
if (ALEipUtils.isMatch(rundata, context)) {
ALEipUtils.setTemp(rundata, context, ALEipConstants.ENTITY_ID, rundata
.getUser()
.getUserName());
}
folderName = rundata.getParameters().getString("folderName");
orgId = Database.getDomainName();
delete_photo = rundata.getParameters().getBoolean("delete_photo", false);
}
/**
*
*
*/
@Override
public void initField() {
// ログイン名
loginname = new ALStringField();
loginname.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_LOGIN_NAME"));
loginname.setTrim(true);
// 名
firstname = new ALStringField();
firstname.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_LASTNAME"));
firstname.setTrim(true);
// 姓
lastname = new ALStringField();
lastname.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_FIRSTNAME"));
lastname.setTrim(true);
// 新しいパスワード
new_password = new ALStringField();
new_password
.setFieldName(ALLocalizationUtils.getl10nFormat("ACCOUNT_PASS"));
new_password.setTrim(true);
// 新しいパスワード(確認用)
new_password_confirm = new ALStringField();
new_password_confirm.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_PASSWORDCONFIRMMSG_NOT_INDENTION"));
new_password_confirm.setTrim(true);
// メールアドレス
email = new ALStringField();
email.setFieldName(ALLocalizationUtils.getl10nFormat("ACCOUNT_USER_EMAIL"));
email.setTrim(true);
// 内線番号
in_telephone = new ALStringField();
in_telephone.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_IN_TELEPHONE"));
in_telephone.setTrim(true);
// 外線番号
out_telephone1 = new ALStringField();
out_telephone1.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_OUT_TELEPHONE"));
out_telephone1.setTrim(true);
out_telephone2 = new ALStringField();
out_telephone2.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_OUT_TELEPHONE"));
out_telephone2.setTrim(true);
out_telephone3 = new ALStringField();
out_telephone3.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_OUT_TELEPHONE"));
out_telephone3.setTrim(true);
// 携帯番号
cellular_phone1 = new ALStringField();
cellular_phone1.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_USER_CELLULAR_PHONE"));
cellular_phone1.setTrim(true);
cellular_phone2 = new ALStringField();
cellular_phone2.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_USER_CELLULAR_PHONE"));
cellular_phone2.setTrim(true);
cellular_phone3 = new ALStringField();
cellular_phone3.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_USER_CELLULAR_PHONE"));
cellular_phone3.setTrim(true);
// 携帯アドレス
cellular_mail = new ALStringField();
cellular_mail.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_USER_CELLULAR_MAIL"));
cellular_mail.setTrim(true);
// 名(フリガナ)
first_name_kana = new ALStringField();
first_name_kana.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_LAST_NAME_SPELL1"));
first_name_kana.setTrim(true);
// 姓(フリガナ)
last_name_kana = new ALStringField();
last_name_kana.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_FIRST_NAME_SPELL1"));
last_name_kana.setTrim(true);
// 役職
position_name = new ALStringField();
position_name.setFieldName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_POSITION"));
position_name.setTrim(true);
// 社員コード
code = new ALStringField();
code.setFieldName(ALLocalizationUtils.getl10nFormat("ACCOUNT_CODE"));
code.setTrim(true);
// 顔写真
photo = new ALStringField();
photo.setFieldName(ALLocalizationUtils.getl10nFormat("ACCOUNT_USER_PHOTO"));
photo.setTrim(true);
}
/**
*
* @param rundata
* @param context
* @param msgList
* @return
*/
@Override
protected boolean setFormData(RunData rundata, Context context,
List<String> msgList) throws ALPageNotFoundException, ALDBErrorException {
boolean res = super.setFormData(rundata, context, msgList);
try {
if (res) {
List<FileuploadLiteBean> fileBeanList =
FileuploadUtils.getFileuploadList(rundata);
if (fileBeanList != null && fileBeanList.size() > 0) {
filebean = fileBeanList.get(0);
if (filebean.getFileId() != 0) {
// 顔写真をセットする.
String[] acceptExts = ImageIO.getWriterFormatNames();
facePhoto_smartphone = null;
ShrinkImageSet bytesShrinkFilebean =
FileuploadUtils.getBytesShrinkFilebean(
orgId,
folderName,
ALEipUtils.getUserId(rundata),
filebean,
acceptExts,
FileuploadUtils.DEF_NORMAL_THUMBNAIL_WIDTH,
FileuploadUtils.DEF_NORMAL_THUMBNAIL_HEIGHT,
msgList,
false,
DEF_PHOTO_VALIDATE_WIDTH,
DEF_PHOTO_VALIDATE_HEIGHT);
if (bytesShrinkFilebean != null) {
facePhoto_smartphone = bytesShrinkFilebean.getShrinkImage();
}
String[] acceptExts2 = ImageIO.getWriterFormatNames();
facePhoto = null;
ShrinkImageSet bytesShrinkFilebean2 =
FileuploadUtils.getBytesShrinkFilebean(
orgId,
folderName,
ALEipUtils.getUserId(rundata),
filebean,
acceptExts2,
FileuploadUtils.DEF_LARGE_THUMBNAIL_WIDTH,
FileuploadUtils.DEF_LARGE_THUMBNAIL_HEIGHT,
msgList,
false,
DEF_PHOTO_VALIDATE_WIDTH,
DEF_PHOTO_VALIDATE_HEIGHT);
if (bytesShrinkFilebean2 != null) {
facePhoto = bytesShrinkFilebean2.getShrinkImage();
}
isNewPhotoSpec = true;
} else {
facePhoto = null;
}
}
}
} catch (FileuploadMinSizeException ex) {
// ignore
photo_vali_flag = true;
} catch (Exception ex) {
logger.error("AccountEditFormData.setFormData", ex);
res = false;
}
return res;
}
/**
*
*
*/
@Override
protected void setValidator() {
// 名
firstname.setNotNull(true);
firstname.limitMaxLength(50);
// 姓
lastname.setNotNull(true);
lastname.limitMaxLength(50);
// 名(フリガナ)
first_name_kana.setNotNull(true);
first_name_kana.limitMaxLength(50);
// 姓(フリガナ)
last_name_kana.setNotNull(true);
last_name_kana.limitMaxLength(50);
// 新しいパスワード
new_password.setNotNull(true);
new_password.setCharacterType(ALStringField.TYPE_ASCII);
new_password.limitMaxLength(16);
// 新しいパスワード(確認用)
new_password_confirm.setNotNull(true);
new_password_confirm.setCharacterType(ALStringField.TYPE_ASCII);
new_password_confirm.limitMaxLength(16);
// 内線
in_telephone.setCharacterType(ALStringField.TYPE_ASCII);
in_telephone.limitMaxLength(13);
// メールアドレス
email.setCharacterType(ALStringField.TYPE_ASCII);
// 外線
out_telephone1.setCharacterType(ALStringField.TYPE_NUMBER);
out_telephone1.limitMaxLength(5);
out_telephone2.setCharacterType(ALStringField.TYPE_NUMBER);
out_telephone2.limitMaxLength(4);
out_telephone3.setCharacterType(ALStringField.TYPE_NUMBER);
out_telephone3.limitMaxLength(4);
// 携帯
cellular_phone1.setCharacterType(ALStringField.TYPE_NUMBER);
cellular_phone1.limitMaxLength(5);
cellular_phone2.setCharacterType(ALStringField.TYPE_NUMBER);
cellular_phone2.limitMaxLength(4);
cellular_phone3.setCharacterType(ALStringField.TYPE_NUMBER);
cellular_phone3.limitMaxLength(4);
// 携帯メール
cellular_mail.setCharacterType(ALStringField.TYPE_ASCII);
cellular_mail.limitMaxLength(50);
}
/**
* @param msgList
* @return
*
*/
@Override
protected boolean validate(List<String> msgList) {
List<String> dummy = new ArrayList<String>();
firstname.validate(msgList);
lastname.validate(msgList);
// 名前(フリガナ)をカタカナへと変換します
first_name_kana.setValue(ALStringUtil.convertHiragana2Katakana(ALStringUtil
.convertH2ZKana(first_name_kana.toString())));
last_name_kana.setValue(ALStringUtil.convertHiragana2Katakana(ALStringUtil
.convertH2ZKana(last_name_kana.toString())));
first_name_kana.validate(msgList);
last_name_kana.validate(msgList);
if (!new_password.toString().equals(new_password_confirm.toString())) {
msgList.add(ALLocalizationUtils.getl10nFormat("ACCOUNT_ALERT_NEWPW"));
}
// 内線
in_telephone.validate(msgList);
// ハイフン以外の記号とアルファベットの入力をはじきます
Pattern pattern = Pattern.compile(".*[^-0-9]+.*");
Matcher matcher = pattern.matcher(in_telephone.getValue());
Boolean ext_validater = matcher.matches();
if (ext_validater) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_POST_WITHIN_SIXTEEN"));
}
// メールアドレス
email.validate(msgList);
if (email.getValue() != null
&& email.getValue().trim().length() > 0
&& !ALStringUtil.isMailAddress(email.getValue())) {
msgList.add(ALLocalizationUtils.getl10nFormat("ACCOUNT_ALERT_EMAIL"));
}
// 携帯メールアドレス
cellular_mail.validate(msgList);
if (cellular_mail.getValue().trim().length() > 0
&& !ALStringUtil.isCellPhoneMailAddress(cellular_mail.getValue())) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_ALERT_EMAIL_MOBILE"));
}
if (!out_telephone1.getValue().equals("")
|| !out_telephone2.getValue().equals("")
|| !out_telephone3.getValue().equals("")) {
if (!out_telephone1.validate(dummy)
|| !out_telephone2.validate(dummy)
|| !out_telephone3.validate(dummy)) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_POST_SET_TELEPHON_EXTERNAL_NOMBER"));
}
}
if (!cellular_phone1.getValue().equals("")
|| !cellular_phone2.getValue().equals("")
|| !cellular_phone3.getValue().equals("")) {
if (!cellular_phone1.validate(dummy)
|| !cellular_phone2.validate(dummy)
|| !cellular_phone3.validate(dummy)) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_ALERT_TELEPHONE_MOBILE"));
}
}
// 顔写真
if (photo_vali_flag) {
msgList
.add(ALLocalizationUtils.getl10nFormat("ACCOUNT_ALERT_PHOTO_SIZE"));
} else if (filebean != null
&& filebean.getFileId() != 0
&& facePhoto == null) {
msgList.add(ALLocalizationUtils.getl10nFormat("ACCOUNT_ALERT_PHOTO"));
}
// パスワードの確認
if (ALEipConstants.MODE_INSERT.equals(getMode())) {
if (!new_password.getValue().equals(new_password_confirm.getValue())) {
msgList
.add(ALLocalizationUtils.getl10nFormat("ACCOUNT_ALERT_PASSWORD"));
} else {
new_password.validate(msgList);
new_password_confirm.validate(msgList);
}
} else if (ALEipConstants.MODE_UPDATE.equals(getMode())) {
if (new_password.getValue().equals(DEFAULT_VIEW_PASSWORD)
&& new_password_confirm.getValue().equals(DEFAULT_VIEW_PASSWORD)) {
dontUpdatePasswd = true;
} else {
if (!new_password.getValue().equals(new_password_confirm.getValue())) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_ALERT_PASSWORD"));
} else {
new_password.validate(msgList);
new_password_confirm.validate(msgList);
}
}
}
return (msgList.size() == 0);
}
/**
* @param rundata
* @param context
* @param msgList
* @return
*/
@Override
protected boolean loadFormData(RunData rundata, Context context,
List<String> msgList) {
try {
ALBaseUser user = AccountUtils.getBaseUser(rundata, context);
if (user == null) {
logger
.debug("Not found. (" + AccountEditFormData.class.getName() + ")");
return false;
}
loginname.setValue(user.getUserName());
firstname.setValue(user.getFirstName());
lastname.setValue(user.getLastName());
email.setValue(user.getEmail());
// 電話番号(内線)
in_telephone.setValue(user.getInTelephone());
// 電話番号(外線)
StringTokenizer token;
if (user.getOutTelephone() != null) {
token = new StringTokenizer(user.getOutTelephone(), "-");
if (token.countTokens() == 3) {
out_telephone1.setValue(token.nextToken());
out_telephone2.setValue(token.nextToken());
out_telephone3.setValue(token.nextToken());
}
}
// 電話番号(携帯)
if (user.getCellularPhone() != null) {
token = new StringTokenizer(user.getCellularPhone(), "-");
if (token.countTokens() == 3) {
cellular_phone1.setValue(token.nextToken());
cellular_phone2.setValue(token.nextToken());
cellular_phone3.setValue(token.nextToken());
}
}
cellular_mail.setValue(user.getCellularMail());
first_name_kana.setValue(user.getFirstNameKana());
last_name_kana.setValue(user.getLastNameKana());
List<ALStringField> postNames =
ALEipUtils.getPostNameList(Integer.valueOf(user.getUserId()));
setPostNameList(postNames);
position_name.setValue(getPositionName(user.getPositionId()));
code.setValue(user.getCode());
if (user.getPhoto() != null) {
filebean = new FileuploadLiteBean();
filebean.initField();
filebean.setFolderName("");
filebean.setFileId(0);
filebean.setFileName(ALLocalizationUtils
.getl10nFormat("ACCOUNT_OLD_PHOTO"));
filebean.setUserId(Integer.parseInt(user.getUserId()));
filebean.setPhotoModified(String.valueOf(user
.getPhotoModified()
.getTime()));
}
new_password.setValue(DEFAULT_VIEW_PASSWORD);
new_password_confirm.setValue(DEFAULT_VIEW_PASSWORD);
isNewPhotoSpec = "N".equals(user.hasPhotoString());
return true;
} catch (Exception e) {
logger.error("AccountEditFormData.loadFormData", e);
return false;
}
}
/**
* メールアドレスを設定します。
*
* @return
*/
public void loadEmail(RunData rundata) {
try {
ALBaseUser user = (ALBaseUser) rundata.getUser();
if (user == null) {
logger
.debug("Not found. (" + AccountEditFormData.class.getName() + ")");
email.setValue("");
} else {
email.setValue(user.getEmail());
}
} catch (Exception e) {
logger.error("AccountEditFormData.loadEmail", e);
}
}
/**
* 未使用。
*
* @param rundata
* @param context
* @param msgList
* @return
*/
@Override
protected boolean insertFormData(RunData rundata, Context context,
List<String> msgList) {
return false;
}
/**
*
* @param rundata
* @param context
* @param msgList
* @return
*/
@Override
protected boolean updateFormData(RunData rundata, Context context,
List<String> msgList) {
try {
// 編集者自身を示すオブジェクト
ALBaseUser user = AccountUtils.getBaseUser(rundata, context);
if (user == null) {
return false;
}
// WebAPIのDBへ接続できるか確認
if (!ALDataSyncFactoryService
.getInstance()
.getDataSyncHandler()
.checkConnect()) {
msgList.add(ALLocalizationUtils
.getl10nFormat("ACCOUNT_ALERT_CONNECT_DB_FAILED"));
return false;
}
user.setLastAccessDate();
user.setFirstName(firstname.getValue());
user.setLastName(lastname.getValue());
user.setInTelephone(in_telephone.getValue());
if (!out_telephone1.getValue().equals("")
&& !out_telephone2.getValue().equals("")
&& !out_telephone3.getValue().equals("")) {
user.setOutTelephone(new StringBuffer().append(
out_telephone1.getValue()).append("-").append(
out_telephone2.getValue()).append("-").append(
out_telephone3.getValue()).toString());
} else {
user.setOutTelephone("");
}
if (!cellular_phone1.getValue().equals("")
&& !cellular_phone2.getValue().equals("")
&& !cellular_phone3.getValue().equals("")) {
user.setCellularPhone(new StringBuffer().append(
cellular_phone1.getValue()).append("-").append(
cellular_phone2.getValue()).append("-").append(
cellular_phone3.getValue()).toString());
} else {
user.setCellularPhone("");
}
user.setCellularMail(cellular_mail.getValue());
user.setFirstNameKana(first_name_kana.getValue());
user.setLastNameKana(last_name_kana.getValue());
user.setEmail(email.getValue());
if (filebean != null && filebean.getFileId() != 0) {
// 顔写真を登録する.
user.setPhotoSmartphone(facePhoto_smartphone);
user.setHasPhotoSmartphone("N");
user.setPhotoModifiedSmartphone(new Date());
user.setPhoto(facePhoto);
user.setHasPhoto("N");
user.setPhotoModified(new Date());
} else if (delete_photo) {
user.setPhoto(null);
user.setHasPhoto("F");
user.setPhotoSmartphone(null);
user.setHasPhotoSmartphone("F");
}
// 新しいパスワードをセットする
if (!dontUpdatePasswd) {
JetspeedSecurity.forcePassword(user, new_password.getValue());
} else {
TurbineUser tuser = Database.get(TurbineUser.class, user.getUserId());
user.setPassword(tuser.getPasswordValue());
}
// ユーザーを更新
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());
currentUser.setHasPhoto(user.hasPhotoString());
currentUser.setPhotoModified(user.getPhotoModified());
currentUser.setPasswordChanged(user.getPasswordChanged());
}
// イベントログに保存
ALEventlogFactoryService.getInstance().getEventlogHandler().log(
Integer.valueOf(user.getUserId()),
ALEventlogConstants.PORTLET_TYPE_ACCOUNTPERSON,
null);
// 一時的な添付ファイルの削除
ALStorageService.deleteTmpFolder(
ALEipUtils.getUserId(rundata),
folderName);
return true;
} catch (Exception e) {
logger.error("AccountEditFormData.updateFormData", e);
return false;
}
}
/**
* @param rundata
* @param context
* @param msgList
* @return
*/
@Override
protected boolean deleteFormData(RunData rundata, Context context,
List<String> msgList) {
return false;
}
/**
* 携帯メールアドレスを取得します。 <BR>
*
* @return
*/
public ALStringField getCellularMail() {
return cellular_mail;
}
/**
* メールアドレスを取得します。 <BR>
*
* @return
*/
public ALStringField getEmail() {
return email;
}
/**
* フリガナ(名)を取得します。 <BR>
*
* @return
*/
public ALStringField getFirstNameKana() {
return first_name_kana;
}
/**
* 名前(名)を取得します。 <BR>
*
* @return
*/
public ALStringField getFirstName() {
return firstname;
}
/**
* @return
*/
public ALStringField getNewPassword() {
return new_password;
}
/**
* @return
*/
public ALStringField getNewPasswordConfirm() {
return new_password_confirm;
}
/**
* @param field
*/
public void setNewPassword(String field) {
new_password.setValue(field);
}
/**
* @param field
*/
public void setNewPasswordConfirm(String field) {
new_password_confirm.setValue(field);
}
/**
* 電話番号(内線)を取得します。 <BR>
*
* @return
*/
public ALStringField getInTelephone() {
return in_telephone;
}
/**
* フリガナ(姓)を取得します。 <BR>
*
* @return
*/
public ALStringField getLastNameKana() {
return last_name_kana;
}
/**
* 名前(姓)を取得します。 <BR>
*
* @return
*/
public ALStringField getLastName() {
return lastname;
}
/**
* 携帯電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getCellularPhone1() {
return cellular_phone1;
}
/**
* 携帯電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getCellularPhone2() {
return cellular_phone2;
}
/**
* 携帯電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getCellularPhone3() {
return cellular_phone3;
}
/**
* 電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getOutTelephone1() {
return out_telephone1;
}
/**
* 電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getOutTelephone2() {
return out_telephone2;
}
/**
* 電話番号を取得します。 <BR>
*
* @return
*/
public ALStringField getOutTelephone3() {
return out_telephone3;
}
public String getFolderName() {
return folderName;
}
public List<FileuploadLiteBean> getAttachmentFileNameList() {
if (filebean == null) {
return null;
}
List<FileuploadLiteBean> list = new ArrayList<FileuploadLiteBean>();
list.add(filebean);
return list;
}
/**
* 部署を取得します。 <BR>
*
* @return
*/
public List<ALStringField> getPostNameList() {
return post_name_list;
}
public void setPostNameList(List<ALStringField> list) {
post_name_list.addAll(list);
}
/**
* 役職を取得します。 <BR>
*
* @return
*/
public ALStringField getPositionName() {
return position_name;
}
/**
* @param loginname
* セットする loginname
*/
public void setLoginName(ALStringField loginname) {
this.loginname = loginname;
}
/**
* @return loginname
*/
public ALStringField getLoginName() {
return loginname;
}
/**
*
* @param id
* @return
*/
private String getPositionName(int id) {
if (ALEipManager.getInstance().getPositionMap().containsKey(
Integer.valueOf(id))) {
return (ALEipManager.getInstance().getPositionMap().get(Integer
.valueOf(id))).getPositionName().getValue();
}
return null;
}
public boolean isNewPhotoSpec() {
return isNewPhotoSpec;
}
/**
* @return code
*/
public ALStringField getCode() {
return code;
}
}