Show
Ignore:
Timestamp:
10/03/08 01:54:41 (3 months ago)
Author:
yandod
Message:

スキーマ変更シェル・懇親会の参加・懇親会の追加参加・キャンセル を実装。リファクタリングは後で。

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • websites/events.php.gr.jp/trunk/app/controllers/events_controller.php

    r19533 r20537  
    1616    var $name = 'Event'; 
    1717    var $helpers = array('Rss', 'Datespan', 'Javascript'); 
    18     var $uses = array('Event', 'Trackback'); 
     18    var $uses = array('Event', 'Trackback','User'); 
    1919 
    2020    /** 
     
    7979 
    8080        $this->Event->EventComment->bindModel(array('belongsTo' => $has_one2)); 
    81         $this->Event->EventAttendee->bindModel(array('belongsTo' => $has_one2)); 
    82  
     81        //$this->Event->EventAttendee->bindModel(array('belongsTo' => $has_one2)) 
     82         
    8383        $re = $this->Event->findById($id, null, null, 2); 
    8484        if (!$re) { 
     
    8888 
    8989        $attendee_count = 0; 
     90        $party_count = 0; 
    9091        $joined = false; 
    9192        $canceled = false; 
     93        $user_id_list = array(); 
    9294        foreach ($re['EventAttendee'] as $row) { 
     95                $user_id_list[] = $row['user_id']; 
    9396            // 自分が参加していたらフラグをたてる 
    94             if ($this->Session->read('id') == $row['User']['id']) { 
     97            if ($this->Session->read('id') == $row['user_id']) { 
    9598                $joined = true; 
    9699                if ($row['canceled'] == 1) { 
     
    102105                $attendee_count++; 
    103106            } 
    104         } 
    105  
     107            if ($row['canceled'] != 1 && $row['party'] == 1) { 
     108                $party_count++; 
     109            }             
     110        } 
     111 
     112        $cond = array( 
     113                'id' => $user_id_list 
     114        ); 
     115        $user = Set::combine($this->User->find('all',array('conditions' =>$cond)),'{n}.User.id','{n}.User.nickname'); 
     116 
     117        $this->set('user',$user); 
    106118        $this->set('joined', $joined); 
    107119        $this->set('canceled', $canceled); 
    108120        $this->set('attendee_count', $attendee_count); 
     121        $this->set('party_count', $party_count); 
    109122        $this->set('attendee_nokori', $re['Event']['max_register'] - $attendee_count); 
    110123        $this->set('is_over', $this->Event->isOver($id));