#*
 * Aipo is a groupware program developed by Aimluck,Inc.
 * Copyright (C) 2004-2011 Aimluck,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/>.
 *#

## ---------------------------------------------------------------------------
#set($tabs = [["インポート", "",""]])
## ---------------------------------------------------------------------------
<script language="JavaScript" type="text/JavaScript">
<!--

function onClick_Select(button){
	disableButton(button.form);
	var option = button.form.SelectMenu0.options[button.form.SelectMenu0.selectedIndex];
	button.form.action = "$!jslink.getPortletById($!portlet.ID)" + '?' + option.value + '=1';
	button.form.submit();
	}

function event_account_csv(button) {
  disableButton(button.form);
  button.form.action = "$!jslink.getPortletById($!portlet.ID)" + '?' + button.name + '=1';
  button.form.submit();
}

function event_account_csv_regist(button) {
  if(confirm('ユーザー情報を上書き登録しますか？')) {
    disableButton(button.form);
    button.form.action = "$!jslink.getPortletById($!portlet.ID)" + '?' + button.name + '=1';
    button.form.submit();
  }
}

//-->
</script>
#ALtabheader($tabs "")
#if((! $result.List || $result.List.size() == 0) && !$!validateError)#ALerrmsg($errmsgs)#end
#if($result.getClass().getName() == "com.aimluck.eip.account.AccountCsvSelectData")
#if(! $result.List || $result.List.size() <= 0)
#if($result.overMaxUser() || $result.repeatUsers())
<ul>
#if($result.overMaxUser())
<li><span class="caution">ユーザー数がライセンス数を超えています。</span></li>
#end
###if($result.repeatUsers())
##<li><span class="caution">同じログイン名を複数追加できません。指定されたCSVファイルをご確認のうえ、ログイン名を変更してください。</span></li>
###end
</ul>
#end
#end
#end

<form name="io_select" action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="secid" value="$secid" />
<select name="post$!{portlet.ID}" onChange="location.href=this.options[this.selectedIndex].value">
<option value="$!jslink.getPortletById($!portlet.ID).addQueryData('eventsubmit_doAccount_form_csv','1')" selsected>ユーザーアカウント</option>
<option value="$!jslink.getPortletById($!portlet.ID).addQueryData('eventsubmit_doAccount_postcsv_form','1')">部署</option>
<option value="$!jslink.getPortletById($!portlet.ID).addQueryData('eventsubmit_doaddressbook_company_form','1')">アドレス(会社)帳</option>
<option value="$!jslink.getPortletById($!portlet.ID).addQueryData('eventsubmit_doaddressbook_form','1')">アドレス帳</option>
<option value="$!jslink.getPortletById($!portlet.ID).addQueryData('eventsubmit_doSchedule_form','1')">スケジュール</option>
</select>
を一括登録します。
</form>
<div style="margin:0px 0px 5px 0px">
ユーザーをファイルから一括して登録できます。
<a href="$jslink.getTemplate('FileIOAccountCsvFileScreen')">こちらのテンプレート</a>の形式で作成したファイルをボタン [参照...] で指定し、
ボタン [読み込む] を押してください。
確認画面が表示された後に、ボタン [登録] を押すことで、登録が完了します。
</div>
###ALerrmsg($errmsgs)
<form name="readcsv" action="$!jslink.getPortletById($!portlet.ID).addQueryData('eventSubmit_doAccount_upload_csv','1')" method="post" enctype="multipart/form-data">
<input type="hidden" name="secid" value="$secid" />
<input type="hidden" name="temp_folder" value="$temp_folder"/>
#ALtableheaderWide()
<tr>
<td width="150" class="caption">CSVファイルの指定</td>
<td nowrap="nowrap">
<input class="text" type="file" name="attachment" value="" size="30" style="ime-mode:disable" />
</td>
</tr>
<tr>
#ALtdcellAtt("#ALsubmit('send' '読み込む')" 'colspan="2" align="center"')
</tr>
#ALtablefooter()

#if($!result.List && $!result.List.size() > 0)
#set($showErrmsg1 = false)
#set($showErrmsg2 = false)
#set($showErrmsg3 = false)
#set($showErrmsg4 = false)
#set($showErrmsg5 = false)
#set($showErrmsg6 = false)
#set($showErrmsg7 = false)
#set($showErrmsg8 = false)
#set($showErrmsg9 = false)
#set($showErrmsg10 = false)
#set($showErrmsg11 = false)
#set($showErrmsg12 = false)
#set($showErrmsg13 = false)
#set($showErrmsg14 = false)
#set($showErrmsg15 = false)
#set($showErrmsg16 = false)
#set($showErrmsg17 = false)
#if($!result.overMaxUser())#set($showErrmsg16 = true)#else #set($showErrmsg16 = false)#end
#foreach ($record in $result.List)
#if(!$!record.User.LoginName)#set($showErrmsg1 = true)#end
#if(!$!record.User.PasswordValue)#set($showErrmsg2 = true)#end
#if(!$!record.User.LastName)#set($showErrmsg3 = true)#end
#if(!$!record.User.FirstName)#set($showErrmsg4 = true)#end
#if(!$!record.User.LastNameKana)#set($showErrmsg5 = true)#end
#if(!$!record.User.FirstNameKana)#set($showErrmsg6 = true)#end
#if(!$!record.User.Email.toString())#set($showErrmsg7 = true)#end
#if(!$!record.User.OutTelephone.toString())#set($showErrmsg8 = true)#end
#if(!$!record.User.InTelephone.toString())#set($showErrmsg9 = true)#end
#if(!$!record.User.CellularPhone.toString())#set($showErrmsg10 = true)#end
#if(!$!record.User.CellularMail.toString())#set($showErrmsg11 = true)#end
#if(!$!record.PostName)#set($showErrmsg12 = true)#end
#if(!$!record.PositionName)#set($showErrmsg13 = true)#end
#if($!record.getPostNotFound())#set($showErrmsg14 = true)#end
#if($!record.getPositionNotFound())#set($showErrmsg15 = true)#end
#if($!record.getSameUser())#set($showErrmsg17 = true)#end
#end

#if($result.isError())${result.getLineCount()}件中${result.getNotErrorCount()}件のデータを登録しました。<br>以下のデータはエラーが見つかった為登録できませんでした。#end
#set($showErrmsg = $showErrmsg1 || $showErrmsg2 || $showErrmsg3 || $showErrmsg4 || $showErrmsg5 || $showErrmsg6 || $showErrmsg7 || $showErrmsg8 || $showErrmsg9 || $showErrmsg10 || $showErrmsg11 || $showErrmsg12 || $showErrmsg13 || $showErrmsg14 || $showErrmsg15 || $showErrmsg16 || $showErrmsg17)
#if($showErrmsg)
<ul>
#if($showErrmsg1)
<li>
<span class="caution">（※1）&nbsp;ログイン名は 16 文字以下の英数字と記号で入力してください。使用できる記号は『-』『_』『.』の三つです。
また、ログイン名として、「admin」「template」「anon」「先頭に dummy_ がつくログイン名」は登録することができません。</span><br />
</li>
#end
#if($showErrmsg2)
<li><span class="caution">（※2）&nbsp;パスワードは 16 文字以下の英数字で入力してください。</span></li>
#end
#if($showErrmsg3)
<li><span class="caution">（※3）&nbsp;名前（名）は 20 文字以下で入力してください。</span></li>
#end
#if($showErrmsg4)
<li><span class="caution">（※4）&nbsp;名前（姓）は 20 文字以下で入力してください。</span></li>
#end
#if($showErrmsg5)
<li><span class="caution">（※5）&nbsp;名前（名・フリガナ）は 20 文字以下で入力してください。</span></li>
#end
#if($showErrmsg6)
<li><span class="caution">（※6）&nbsp;名前（姓・フリガナ）は 20 文字以下で入力してください。</span></li>
#end
#if($showErrmsg7)
<li><span class="caution">（※7）&nbsp;メールアドレスは 50 文字以下の英数字記号で入力してください。</span></li>
#end
#if($showErrmsg8)
<li><span class="caution">（※8）&nbsp;電話番号（外線）は 15 文字以下でハイフン（-）を含めて入力してください。</span></li>
#end
#if($showErrmsg9)
<li><span class="caution">（※9）&nbsp;電話番号（内線）は 15 文字以下でハイフン（-）または半角数字で入力してください。</span></li>
#end
#if($showErrmsg10)
<li><span class="caution">（※10）&nbsp;電話番号（携帯）は 15 文字以下でハイフン（-）を含めて入力してください。</span></li>
#end
#if($showErrmsg11)
<li><span class="caution">（※11）&nbsp;携帯メールアドレスは 50 文字以下の英数字記号で入力してください。</span></li>
#end
#if($showErrmsg12)
<li><span class="caution">（※12）&nbsp;部署名は 50 文字以下で入力してください。</span></li>
#end
#if($showErrmsg13)
<li><span class="caution">（※13）&nbsp;役職は 50 文字以下で入力してください。</span></li>
#end
#if($showErrmsg14)
<li><span class="caution">（※14）&nbsp;部署が見つかりません。</span></li>
#end
#if($showErrmsg15)
<li><span class="caution">（※15）&nbsp;役職が見つかりません。</span></li>
#end
#if($showErrmsg16)
<li><span class="caution">（※16）&nbsp;ユーザー登録数がライセンス数を上回っています。</span></li>
#end
#if($showErrmsg17)
<li><span class="caution">（※17）&nbsp;同じログイン名を複数追加できません。指定されたCSVファイルをご確認のうえ、ログイン名を変更してください。</span></li>
#end
</ul>
#else
<br>
<div style="margin:0px 0px 5px 0px">ボタン [登録する] をクリックして、登録してください。</div>
#end

#if($result.getErrorCount() > 0)
## #if($result.getErrorCount() >= $result.getErrorCountMax())<span class="caution">${result.getLineCount()}件中${result.getErrorCountMax()}件以上エラーが発生しました。読み込みを中止します。</span> #else<span class="caution">${result.getLineCount()}件中${result.getErrorCount()}件エラーが発生しました。</span> #end
<span class="caution">${result.getLineCount()}件中${result.getErrorCount()}件エラーが発生しました。</span>
#end
#if(($result.getPageCount() > 1)&&($result.getErrorCount() == 0))
#foreach($p in $plist)
#ALbutton('eventSubmit_doAccount_csv_list_page' $p "event_csv_page(this, $p)")
#end
#end

<div style="width:100%; overflow:auto;">

<table class="tableWrapper" style="margin: 1px"><tbody><tr><td>
#ALtableheaderWide()
<tr>
<th nowrap="nowrap" class="head">登録の可否</th>
<th nowrap="nowrap" class="head">ログイン名</th>
<th nowrap="nowrap" class="head">パスワード</th>
<th nowrap="nowrap" class="head">名前（姓）</th>
<th nowrap="nowrap" class="head">名前（名）</th>
<th nowrap="nowrap" class="head">名前（姓・フリガナ）</th>
<th nowrap="nowrap" class="head">名前（名・フリガナ）</th>
<th nowrap="nowrap" class="head">メールアドレス</th>
<th nowrap="nowrap" class="head">電話番号（外線）</th>
<th nowrap="nowrap" class="head">電話番号（内線）</th>
<th nowrap="nowrap" class="head">電話番号（携帯）</th>
<th nowrap="nowrap" class="head">携帯メールアドレス</th>
<th nowrap="nowrap" class="head">部署</th>
<th nowrap="nowrap" class="head">役職</th>
</tr>
#foreach ($record in $result.List)
<tr>
<td nowrap="nowrap" class="item">
#if(!$record.IsError)可($!{record.LineCount}行目)#else <span class="caution">不可($!{record.LineCount}行目)</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.LoginName)$!{record.User.LoginName}#else <span class="caution">※1</span> #end
#if($!record.getSameUser())<span class="caution">※17</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.PasswordValue)$!{record.User.PasswordValue}#else <span class="caution">※2</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.LastName)$!{record.User.LastName}#else <span class="caution">※3</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.FirstName)$!{record.User.FirstName}#else <span class="caution">※4</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.LastNameKana)$!{record.User.LastNameKana}#else <span class="caution">※5</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.FirstNameKana)$!{record.User.FirstNameKana}#else <span class="caution">※6</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.Email.toString())$!{record.User.Email}#else <span class="caution">※7</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.OutTelephone.toString())$!{record.User.OutTelephone}#else <span class="caution">※8</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.InTelephone.toString())$!{record.User.InTelephone}#else <span class="caution">※9</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.CellularPhone.toString())$!{record.User.CellularPhone}#else <span class="caution">※10</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.User.CellularMail.toString())$!{record.User.CellularMail}#else <span class="caution">※11</span> #end
</td>
<td nowrap="nowrap" class="item">


#if($!record.PostNameList)
#set($pcount = 0)
#foreach($rec in $!record.PostNameList)
#if($pcount != 0)、&nbsp;#end
$!rec
#set($pcount = $pcount + 1)
#end
#else
<span class="caution">※12</span>
#end
##if($!record.PostName)$!{record.PostName}#else <span class="caution">※12</span> #end
#if($!record.getPostNotFound())<span class="caution">※14</span> #end
</td>
<td nowrap="nowrap" class="item">
#if($!record.PositionName)$!{record.PositionName}#else <span class="caution">※13</span> #end
#if($!record.getPositionNotFound())<span class="caution">※15</span> #end
</td>
</tr>
#end
#ALtablefooter()
</td></tr></tbody></table>
</div>
<br>

#ALtableheaderWide()
<tr>
#if($result.isError() || $result.overMaxUser())
#ALtdcellAtt("#ALbutton('eventSubmit_doAccount_form_csv' '戻る' 'event_account_csv(this)')" 'colspan="11" align="center"')
#elseif(($result.getErrorCount() >= $result.getLineCount()))
##($result.getErrorCount() >= $result.getErrorCountMax())||
#ALtdcellAtt("#ALbutton('eventSubmit_doAccount_form_csv' 'キャンセルする' 'event_account_csv(this)')" 'colspan="11" align="center"')
#elseif($result.getErrorCount() > 0)
#ALtdcellAtt("#ALbutton('eventSubmit_doAccount_insert_csv' '正常な部分のみ登録する' 'event_account_csv_regist(this)')#ALbutton('eventSubmit_doAccount_form_csv' 'キャンセルする' 'event_account_csv(this)')" 'colspan="12" align="center"')
#else
#ALtdcellAtt("#ALbutton('eventSubmit_doAccount_insert_csv' '登録する' 'event_account_csv_regist(this)')#ALbutton('eventSubmit_doAccount_form_csv' 'キャンセルする' 'event_account_csv(this)')" 'colspan="12" align="center"')
#end
</tr>
#ALtablefooter()

###ALbuttonheader()
###if(!$showErrmsg)
###ALbutton('eventSubmit_doAccount_insert_csv' '登録する' 'event_account_csv_regist(this)')#end#ALbutton('eventSubmit_doAccount_form_csv' 'キャンセルする' 'event_account_csv(this)')
###ALbuttonfooter()

#end
</form>

<div style="margin:5px 0px 5px 0px">
##<span class="caution">はじめに、Aipoマネージャーのタブ [バックアップ/修復] で、現在のデータをバックアップすることをお薦めいたします。</span><br>
ログイン名、パスワード、名前（姓）、名前（名）、名前（姓・フリガナ）、名前（名・フリガナ）は必須項目です。
パスワードの値が「*」の場合、パスワードは変更されません。「*」以外の場合、その値にパスワードが設定されます。
登録されているログイン名と同じログイン名を指定した場合には、情報が上書きされます。部署の項目は、「/」で区切ることにより、複数の部署に登録できます。
</div>
#ALtabfooter()
