public function admin_add($userGroupId)
{
$userGroup = $this->Permission->UserGroup->find('first', array('conditions' => array('UserGroup.id' => $userGroupId), 'fields' => array('id', 'title'), 'order' => 'UserGroup.id ASC', 'recursive' => -1));
if (!$this->request->data) {
$this->request->data = $this->Permission->getDefaultValue();
$this->request->data['Permission']['user_group_id'] = $userGroupId;
// TODO 現在 admin 固定、今後、mypage 等にも対応する
$permissionAuthPrefix = 'admin';
} else {
/* 登録処理 */
if (isset($this->request->data['Permission']['user_group_id'])) {
$userGroupId = $this->request->data['Permission']['user_group_id'];
} else {
$userGroupId = null;
}
// TODO 現在 admin 固定、今後、mypage 等にも対応する
$permissionAuthPrefix = 'admin';
$this->request->data['Permission']['url'] = '/' . $permissionAuthPrefix . '/' . $this->request->data['Permission']['url'];
$this->request->data['Permission']['no'] = $this->Permission->getMax('no', array('user_group_id' => $userGroupId)) + 1;
$this->request->data['Permission']['sort'] = $this->Permission->getMax('sort', array('user_group_id' => $userGroupId)) + 1;
$this->Permission->create($this->request->data);
if ($this->Permission->save()) {
$this->setMessage('新規アクセス制限設定「' . $this->request->data['Permission']['name'] . '」を追加しました。', false, true);
$this->redirect(array('action' => 'index', $userGroupId));
} else {
$this->request->data['Permission']['url'] = preg_replace('/^(\\/' . $permissionAuthPrefix . '\\/|\\/)/', '', $this->request->data['Permission']['url']);
$this->setMessage('入力エラーです。内容を修正してください。', true);
}
}
/* 表示設定 */
if ($permissionAuthPrefix == 'admin') {
$permissionAuthPrefix = Configure::read('Routing.prefixes.0');
}
$this->pageTitle = '[' . $userGroup['UserGroup']['title'] . '] 新規アクセス制限設定登録';
$this->set('permissionAuthPrefix', $permissionAuthPrefix);
$this->help = 'permissions_form';
$this->render('form');
}