CakePHP1.3で作る会員管理システム(19) 退会処理
退会処理
最後に退会の処理を作ります。 アクション delete() のままでもいいんですが、お客さんに delete ってのもどうかと思ったので、 leave にしてみました。
function leave() { if (!$this->Session->check('Member.id')) { $this->redirect(array('action'=>'login')); } if (!empty($this->data)) { if ($this->Member->delete($this->Session->read('Member.id'))) { $this->Session->destroy(); $this->render('quit'); } else { $this->Session->setFlash(__('退会できませんでした', true)); } } else { $this->data = $this->Member->read(null, $this->Session->read('Member.id')); $this->set('member', $this->data); } $types = $this->Member->Type->find('list'); $favorites = $this->Member->Favorite->find('list'); $this->set(compact('types', 'favorites')); }
また、 confirm.ctp をコピーしてきて改造します。フォームの始まりと終わりの部分だけ書き換えます。
<?php echo $javascript->link(array('jquery','util'), false); ?> <div class="members view"> <?php echo $this->Form->create(null, array('url'=>'/members/leave'));?> <?php echo $this->Form->input('id');?> ・ ・ ・ <div class="submit"> <?php echo $this->Form->button('戻る', array('type'=>'button', 'id'=>'back_button')); ?> </div> <?php echo $this->Form->end('退会する'); ?> </div>
ここで id=’back_button’ というのを作ったので、これも javascript の util.js に追加しておきます。
$('#back_button').click(function(){ history.back(); });
戻れればいいだけなので、ただのヒストリーバックです。
退会の完了画面用にビューで quit.ctp を用意しておきます。