PermissionsController::admin_add PHP Method

admin_add() public method

[ADMIN] 登録処理
public admin_add ( $userGroupId ) : void
return void
    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');
    }