Changeset 576 for trunk/app/models

Show
Ignore:
Timestamp:
05/30/08 22:31:24 (6 months ago)
Author:
aarkerio
Message:

Update record

Location:
trunk/app/models
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/app/models/test.php

    r535 r576  
    9090    $result = $this->find($conditions); 
    9191     
    92     foreach ($result['Vclassroom'] as $val) 
    93     { 
    94       $vclassrooms[$val['name']] = $val['id']; 
    95     } 
    96  
     92    foreach ($result['Vclassroom'] as $val): 
     93       $vclassrooms[$val['name']] = $val['id']; 
     94    endforeach; 
     95     
    9796    return $vclassrooms; 
    9897 } 
     
    109108    $conditions =  array("Result.user_id"=>$user_id, "Result.test_id"=>$test_id, "Result.vclassroom_id"=>$vclassroom_id); 
    110109    $data       =  $this->Result->field('Result.id', $conditions); 
    111     
     110     
    112111    if ($data == false ): 
    113112          return false;    
     
    115114          return true; 
    116115    endif; 
     116 } 
     117 
     118 public function getTest($test_id, $user_id, $vclassroom_id) 
     119 { 
     120  $tests = $this->Test->Question->findAll(array('Question.test_id'=>$this->data['Test']['test_id']), $fields); 
     121 
     122    //die(debug($this->data['Test'])); 
     123  
     124    $points  = 0;  
     125 
     126    foreach($this->data['Test'] as $k => $t): 
     127      if ( is_numeric($k) ): 
     128    $res = $this->Test->Question->Answer->find(array('Answer.id'=>$t));  
     129     if ( $res['Answer']['correct'] == 1): 
     130             $points += (int) $res['Question']['worth'];         
     131     endif; 
     132      endif; 
     133    endforeach; 
     134     
     135   return $data; 
    117136 } 
    118137 
  • trunk/app/models/vclassroom.php

    r568 r576  
    130130     $record   = $this->User->find(array('User.id'=>$user_id), array('id', 'username', 'name', 'email')); 
    131131      
    132      // Consult Test Model  
    133      $conditions        = array('Result.vclassroom_id'=>$vclassroom_id, 'Result.user_id'=>$user_id); 
    134      $fields            = array('Result.percentage', 'Test.title', 'Test.id');  //null; 
    135      $record['tests']   = $this->Test->Result->findAll($conditions, $fields); 
    136      
     132     // Consult Test Model 
     133     //$this->TestsVclassroom->bindModel(array('hasMany'=>array('Tests'))); 
     134      
     135     $conditions        = array('TestsVclassroom.vclassroom_id'=>$vclassroom_id); 
     136     $fields            = array('Result.question_id', 'Result.answer_id', 'Result.correct', 'Test.title', 'Test.id', 'Question.id', 'Question.worth');  
     137     $record['tests']   = $this->TestsVclassroom->findAll($conditions, null, null, null, null, 2); 
     138     foreach($record['tests'] as $k => $t): 
     139       $this->Test->Result->unbindAll(); 
     140       $this->Test->Result->bindModel(array('belongsTo'=>array('Question','Test'))); 
     141        
     142       $conditions = array('Result.vclassroom_id'=>$vclassroom_id,'Result.user_id'=>$user_id,'Result.test_id'=>$t['TestsVclassroom']['test_id']); 
     143       $fields     = array('Result.correct', 'Result.answer_id','Test.title', 'Question.question', 'Question.worth'); 
     144       $results    = $this->Test->Result->findAll($conditions, $fields); 
     145       $points     = (int) 0; 
     146       foreach($results as $r): 
     147         if ($r['Result']['correct'] == 1): 
     148               $points     += $r['Question']['worth'];      
     149     endif; 
     150     //die(debug($results)); 
     151       $record['tests'][$k]['TestsVclassroom']['title'] = $r['Test']['title']; 
     152       endforeach; 
     153     
     154        $record['tests'][$k]['TestsVclassroom']['points'] = $points; 
     155     endforeach; 
     156     //die(debug($record['tests'])); 
    137157     // Consult Treasure Model 
    138158     $conditions = array('ResultTreasure.vclassroom_id'=>$vclassroom_id, 'ResultTreasure.user_id'=>$user_id);