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