PermissionsController::admin_edit PHP Method

admin_edit() public method

[ADMIN] 編集処理
public admin_edit ( $userGroupId, integer $id ) : void
$id integer
return void
    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');
    }