source: iPeer/app/views/evaluations/view_mixeval_evaluation_results_detail.ctp @ 9df04ef0

3.1.xdevhotfixpagodaboxticket463
Last change on this file since 9df04ef0 was 9df04ef0, checked in by Compass <pan.luo@…>, 6 years ago

fixed the view evaluation result ctp files

  • Property mode set to 100644
File size: 21.7 KB
Line 
1<?php
2$rowspan = count($groupMembersNoTutors) + 3;
3$numerical_index = 1;  //use numbers instead of words; get users to refer to the legend
4$color = array("", "#FF3366","#ff66ff","#66ccff","#66ff66","#ff3333","#00ccff","#ffff33");
5$membersAry = array();  //used to format result (students)
6$withTutorsAry = array(); //used to format result (students,tutors)
7$groupAve = 0;
8$groupAverage = array_fill(1, $mixeval['Mixeval']['lickert_question_max'], 0);
9$averagePerQuestion = array();
10
11echo $html->script('ricobase');
12echo $html->script('ricoeffects');
13echo $html->script('ricoanimation');
14echo $html->script('ricopanelcontainer');
15echo $html->script('ricoaccordion');
16?>
17
18<div class="content-container">
19
20<?php echo $this->element('evaluations/view_event_info', array('controller'=>'evaluations', 'event'=>$event));?>
21
22<div class="event-summary">
23    <span class="instruction-icon"><?php __('Summary:')?> ( <?php echo $this->Html->link(__('Basic', true), "/evaluations/viewEvaluationResults/".$event['Event']['id']."/".$event['Group']['id']."/Basic")?> |
24    <?php echo $html->link(__('Detail', true), "/evaluations/viewEvaluationResults/".$event['Event']['id']."/".$event['Group']['id']."/Detail")?> )</span>
25    <font size = "1" face = "arial" color = "red" >*Numerics in red denotes late submission penalty.</font>
26    <?php if (!$allMembersCompleted): ?>
27        <div class="incompleted">
28          <?php __('These people have not yet submit their evaluations:')?>
29            <ul>
30                <?php foreach($inCompletedMembers as $row): $user = $row['User']; ?>
31                    <li><?php echo $user['first_name']." ".$user['last_name'] . ($row['Role']['role_id']==4 ? ' (TA)' : ' (student)');?></li>
32                <?php endforeach; ?>
33            </ul>
34        </div>
35    <?php endif; ?>
36</div>
37
38<!-- summary table -->
39<table width="100%" align="center" class="outer-table">
40    <tr>
41        <td width="25%" valign="middle" class="result-header-td">Student Name:</td>
42        <td width="75%" rowspan="<?php echo $rowspan?>" class="inner-table-cell"><div class="scrollbar">
43            <table class="inner-table"><tr class="result-header-td">
44            <?php for ($i = 1; $i <= $mixeval['Mixeval']["lickert_question_max"]; $i++):?>
45                <td width='200' class='inner-table-cell'>
46                    <font color="<?php echo $color[ $numerical_index % sizeof($color) ]?>"><?php echo $numerical_index ?></font>(/<?php echo $mixevalQuestion[$i]['multiplier'];?>)
47                </td>
48                <?php $numerical_index++;?>
49            <?php endfor; ?>
50        <td width="250" class="inner-table-cell">
51            <?php echo __("Total:( /", true).number_format($mixeval['Mixeval']['total_marks'], 2)?>)
52        </td>
53    </tr>
54            <?php  if ($groupMembersNoTutors) {
55                foreach ($groupMembersNoTutors as $member) {
56                    $aveScoreSum = 0;
57                    echo "<tr class='result-cell'>";
58                    if (isset($memberScoreSummary[$member['User']['id']]['received_ave_score'])) {
59                        $totalScore = $memberScoreSummary[$member['User']['id']]['received_total_score'];
60                        $penalty = ($penalties[$member['User']['id']] / 100) * $totalScore;
61                            $questionIndex = 0;
62                            $avgPerQuestion = 0;
63                            for ($j = 1; $j <= $mixeval['Mixeval']["lickert_question_max"]; $j++) {
64                            if (!empty($scoreRecords[$member['User']['id']]['mixeval_question_ave'])) {
65                                $criteriaAveGrade = $scoreRecords[$member['User']['id']]['mixeval_question_ave'][$j];
66                            } else {
67                                $criteriaAveGrade = 0;
68                            }
69                                $scaledQuestionGrade = $criteriaAveGrade * (1 - $penalties[$member['User']['id']] / 100);
70                                $questionPenalty = $criteriaAveGrade * $penalties[$member['User']['id']] / 100;
71                            // for adding up the average percentage per question
72                            $avgPerQuestion += $criteriaAveGrade / $mixevalQuestion[$j]['multiplier'];
73                                $questionIndex++;
74                                $penalty > 0 ? $stringAddOn = ' - '."<font color=\"red\">".$questionPenalty.
75                                                                                "</font> = ".number_format($scaledQuestionGrade, 2).'</td>' :
76                                                      $stringAddOn = '</td>';
77                                        $aveScoreSum += $criteriaAveGrade;
78                                        echo '<td class="result-cell">' . number_format($criteriaAveGrade, 2).$stringAddOn;
79                                        $groupAverage[$j] += $scaledQuestionGrade;
80                        }
81                        // for calculating the average percentage per question
82                        $averagePerQuestion[$member['User']['id']] = $avgPerQuestion / $mixeval['Mixeval']['lickert_question_max'];
83                    } else {
84                            for ($i = 1; $i <= $mixeval['Mixeval']["lickert_question_max"]; $i++) {
85                                    echo "<td class='result-cell'>-</td>";
86                            }
87                        }
88                        echo '<td class="total-cell">';
89                    if (isset($memberScoreSummary[$member['User']['id']]['received_ave_score'])) {
90                            $finalAvgScore = $aveScoreSum - $penalty;
91                            $penalty > 0 ? $penaltyAddOn = ' - '."<font color=\"red\">".number_format($penalty, 2).
92                                                                                "</font> = ".number_format($finalAvgScore, 2) :
93                                                 $penaltyAddOn = '';
94                            echo number_format($aveScoreSum, 2).$penaltyAddOn;
95
96                            $receviedAvePercent = ($memberScoreSummary[$member['User']['id']]['received_total_score'] - $penalty)
97                                / $mixeval['Mixeval']['total_marks'] * 100;
98
99                        echo ' ('.number_format($receviedAvePercent) . '%)';
100                        $membersAry[$member['User']['id']]['received_total_score'] = $memberScoreSummary[$member['User']['id']]['received_total_score'];
101                        $membersAry[$member['User']['id']]['received_count'] = $memberScoreSummary[$member['User']['id']]['received_count'];
102                            $membersAry[$member['User']['id']]['received_ave_score'] = $averagePerQuestion[$member['User']['id']];
103                            //$membersAry[$member['User']['id']]['received_ave_score_%'] = $averagePerQuestion[$member['User']['id']];
104                    } else {
105                            echo '-';
106                    }
107                    echo "</td>";
108                    echo "</tr>";
109                }
110            }
111            for ($j = 1; $j <= $mixeval['Mixeval']['lickert_question_max']; $j++) {
112                $scoreRecords['group_question_ave'][$j-1] = $groupAverage[$j] / count($groupMembersNoTutors);
113            }
114            ?> <tr class="tablesummary"> <?php
115            $groupAve = 0;
116            for ($j = 1; $j <= $mixeval['Mixeval']["lickert_question_max"]; $j++) {
117                echo "<td class='total-cell'>";
118                if(isset($scoreRecords['group_question_ave'][$j-1])){
119                    $groupAveGrade = $scoreRecords['group_question_ave'][$j-1];
120                    $groupAve += $scoreRecords['group_question_ave'][$j-1];
121                    echo number_format($groupAveGrade, 2);
122                }
123                echo "</td>";
124            }
125            echo "<td><b>";
126            echo number_format($groupAve, 2);
127            echo ' ('.number_format($groupAve / $mixeval['Mixeval']['total_marks'] * 100) . '%)';
128            echo "</b></td>"; ?>
129                </tr>
130        </table></div></td>
131    </tr>
132    <?php
133    if ($groupMembersNoTutors) {
134        foreach ($groupMembersNoTutors as $member) {
135            echo '<tr class="tablecell2" cellpadding="4" cellspacing="2" >';
136            $membersAry[$member['User']['id']]['member'] = $member;
137            echo '<td width="25%" class="group-members">' . $member['User']['first_name']." ".$member['User']['last_name'] . '</td></tr>' . "\n";
138        }
139    }
140    if ($groupMembers) {
141        foreach ($groupMembers as $member) {
142            $withTutorsAry[$member['User']['id']]['member'] = $member;
143        }
144    }
145
146    echo '<tr class="tablesummary"><td class="group-members"><b>';
147    echo __("Group Average: ", true);
148    echo "</b></td></tr><tr><td>  </td></tr>";
149    ?>
150<!-- end of summary table -->
151<tr><td>  </td></tr>    <!-- adding space between the submit button and the table -->
152    <tr class="tablecell2" align="center"><td colspan="<?php echo ($mixeval['Mixeval']["lickert_question_max"] +2); ?>">
153        <form name="evalForm" id="evalForm" method="POST" action="<?php echo $html->url('markEventReviewed') ?>">
154            <input type="hidden" name="event_id" value="<?php echo $event['Event']['id']?>" />
155            <input type="hidden" name="group_id" value="<?php echo $event['Group']['id']?>" />
156            <input type="hidden" name="course_id" value="<?php echo $event['Event']['course_id']?>" />
157            <input type="hidden" name="group_event_id" value="<?php echo $event['GroupEvent']['id']?>" />
158            <input type="hidden" name="display_format" value="Detail" />
159        <?php
160            if ($event['GroupEvent']['marked'] == "reviewed") {
161                echo "<input class=\"reviewed\" type=\"submit\" name=\"mark_not_reviewed\" value=\" ".__('Mark Peer Evaluations as Not Reviewed', true)."\" />";
162            } else {
163                echo "<input class=\"reviewed\" type=\"submit\" name=\"mark_reviewed\" value=\" ".__('Mark Peer Evaluations as Reviewed', true)."\" />";
164            }
165        ?>
166        </form></td>
167    </tr>
168</table>
169<table width="100%" border="0" align="center" cellpadding="4" cellspacing="2">
170    <tr>
171        <td align="center">
172            <div id="accordion">
173                    <?php $i = 0;
174                foreach($groupMembersNoTutors as $row):
175                    $user = $row['User']; ?>
176                    <div id="panel<?php echo $user['id']?>">
177                    <div id="panel<?php echo $user['id']?>Header" class="panelheader">
178                    <?php echo 'Evaluatee: '.$user['first_name']." ".$user['last_name']?>
179                    </div>
180                    <div style="height: 200px;" id="panel1Content" class="panelContent">
181                    <br><b><?php
182                        $deduction = number_format($membersAry[$user['id']]['received_total_score'] * $penalties[$user['id']]/100, 2);
183                        $scaled = number_format($membersAry[$user['id']]['received_total_score'] * (1 - $penalties[$user['id']]/100), 2);
184                        $percent = number_format($scaled/$mixeval['Mixeval']['total_marks'] * 100);
185                        $ave_deduction = number_format($membersAry[$user['id']]['received_ave_score'] * $penalties[$user['id']]/100, 2);
186                        $ave_scaled = number_format($membersAry[$user['id']]['received_ave_score'] * (1 - $penalties[$user['id']]/100), 2);
187                        echo __("(Number of Evaluator(s): ",true).$membersAry[$user['id']]['received_count'].")<br/>";
188                        echo __("Final Total: ",true).number_format($membersAry[$user['id']]['received_total_score'], 2);
189                        $penalties[$user['id']] > 0 ? $penaltyAddOn = ' - '."<font color=\"red\">".$deduction."</font> = ".$scaled :
190                            $penaltyAddOn = '';
191                        echo $penaltyAddOn.' ('.$percent.'%)';
192
193                        if (isset($membersAry[$user['id']]['received_ave_score'])) {
194                            $memberAve = number_format($membersAry[$user['id']]['received_ave_score'], 2);
195                            $memberAvePercent = number_format($ave_scaled * 100);
196                        } else {
197                            $memberAve = '-';
198                            $memberAvePercent = '-';
199                        }
200                        $penalties[$user['id']] > 0 ? $ave_penaltyAddOn = ' - '."<font color=\"red\">".$ave_deduction."</font> = ".$ave_scaled :
201                            $ave_penaltyAddOn = '';
202                        $memberAverageAve = number_format($membersAry[$user['id']]['received_total_score'], 2);
203                        if ($memberAverageAve == $groupAve) {
204                            echo "&nbsp;&nbsp;<< ".__('Same Mark as Group Average', true)." >>";
205                        } else if ($memberAverageAve < $groupAve) {
206                            echo "&nbsp;&nbsp;<font color='#cc0033'><< ".__('Below Group Average', true)." >></font>";
207                        } else if ($memberAverageAve > $groupAve) {
208                            echo "&nbsp;&nbsp;<font color='#000099'><< ".__('Above Group Average', true)." >></font>";
209                        }
210                        ?> </b><br>
211                        <?php echo __("Average Percentage Per Question: ", true);
212                        echo $memberAve.$ave_penaltyAddOn;
213                        echo ' ('.$memberAvePercent .'%)';
214
215                        $penalties[$user['id']] > 0 ? $penaltyNotice = '<br>'.__('NOTE: ', true).'<font color=\'red\'>'.$penalties[$user['id']].
216                            '%</font>'.__(' Late Penalty', true) : $penaltyNotice = '';
217                        echo $penaltyNotice;
218                        ?>
219                                    <br><br>
220                <!-- Section One -->
221                <table width="95%" border="0" align="center" cellpadding="4" cellspacing="2">
222                    <tr>
223                        <td colspan="<?php echo $mixeval['Mixeval']["lickert_question_max"] ?>"><b> <?php __('Section One:')?> </b></td>
224                    </tr>
225                    <tr class="tableheader" align="center">
226                        <td width="100" valign="top"><?php __('Evaluator')?></td>
227                        <?php
228                            for ($i=0; $i<$mixeval['Mixeval']["lickert_question_max"]; $i++) {
229                                echo "<td><strong><font color=" . $color[ ($i+1) % sizeof($color) ] . ">" . ($i+1) . ". "  . "</font></strong>";
230                                echo $mixevalQuestion[$i+1]['title'];
231                                echo "</td>";
232                            }
233                        ?>
234                    </tr>
235                    <?php
236                    //Retrieve the individual mixeval detail
237                    if (isset($evalResult[$user['id']])) {
238                        $memberResult = $evalResult[$user['id']];
239                            foreach ($memberResult AS $row): $memberMixeval = $row['EvaluationMixeval'];
240                                $evalutor = $withTutorsAry[$memberMixeval['evaluator']];
241                                echo "<tr class=\"tablecell2\">";
242                                echo "<td width='15%'>".$evalutor['member']['User']['first_name']." ".$evalutor['member']['User']['last_name']."</td>";
243                                $width = 85 / $mixeval['Mixeval']['lickert_question_max'];
244                                $resultDetails = $memberMixeval['details'];
245                                for ($j = 1; $j <= $mixeval['Mixeval']["lickert_question_max"]; $j++) {
246                                    $rubDet = $resultDetails[$j-1]['EvaluationMixevalDetail'];
247                                    echo '<td valign="middle" width="'.$width.'%">';
248                                    //Point Description Detail
249                                    if (isset($mixevalQuestion[$j-1]['Description'][$rubDet['selected_lom']-1]['descriptor'])) {
250                                        echo $mixevalQuestion[$j-1]['Description'][$rubDet['selected_lom']-1]['descriptor'];
251                                    }
252                                    echo "<br />";
253
254                                    //Points Detail
255                                    echo "<strong>".__('Points:', true)."</strong>";
256                                    if (isset($rubDet)) {
257                                        $lom = $rubDet["grade"];
258                                        $empty = $mixevalQuestion[$i-1]['multiplier'];
259                                        for ($v = 0; $v < $lom; $v++) {
260                                            echo $html->image('evaluations/circle.gif', array('align'=>'middle', 'vspace'=>'1', 'hspace'=>'1','alt'=>'circle'));
261                                            $empty--;
262                                        }
263                                        for ($t=0; $t < $empty; $t++) {
264                                            echo $html->image('evaluations/circle_empty.gif', array('align'=>'middle', 'vspace'=>'1', 'hspace'=>'1','alt'=>'cicle_empty'));
265                                        }
266                                        echo "<br />";
267                                    } else {
268                                        echo "n/a<br />";
269                                    }
270
271                                    //Grade Detail
272                                    echo "<strong>".__('Grade', true).": </strong>";
273                                    if (isset($rubDet)) {
274                                        echo $rubDet["grade"] . " / " . $mixevalQuestion[$j]['multiplier'] . "<br />";
275                                    } else {
276                                        echo "n/a<br />";
277                                    }
278
279                                    echo "<br /><br /></td>";
280                                }
281                            echo "</tr>";
282
283                        endforeach;
284                    } ?>
285            </table>
286            <!-- Section Two -->
287            <table width="95%" border="0" align="center" cellpadding="4" cellspacing="2">
288                <tr>
289                    <td colspan="<?php echo $mixeval['Mixeval']["total_question"] ?>"><b> Section Two: </b></td>
290                </tr>
291                <tr class="tableheader" align="center">
292                    <td width="100" valign="top"><?php __('Evaluator')?></td>
293                    <?php
294                    for ($i=$numerical_index; $i<=$mixeval['Mixeval']["total_question"]; $i++) {
295                        if (isset($mixevalQuestion[$i-1])) {
296                            echo "<td><strong><font color=" . $color[ $i % sizeof($color) ] . ">" . ($i) . ". "  . "</font></strong>";
297                            echo $mixevalQuestion[$i-1]['title'];
298                            echo "</td>";
299                        }
300                    }
301                    ?>
302                </tr>
303                <?php
304                //Retrieve the individual mixeval detail
305                if (isset($evalResult[$user['id']])) {
306                    $memberResult = $evalResult[$user['id']];
307                    foreach ($memberResult AS $row): $memberMixeval = $row['EvaluationMixeval'];
308                        $evalutor = $withTutorsAry[$memberMixeval['evaluator']];
309                        echo "<tr class=\"tablecell2\">";
310                        echo "<td width='15%'>".$evalutor['member']['User']['first_name']." ".$evalutor['member']['User']['last_name']."</td>";
311                        $width = 85 / ($mixeval['Mixeval']["total_question"] - $mixeval['Mixeval']["lickert_question_max"]);
312                        $resultDetails = $memberMixeval['details'];
313                        for ($j = $numerical_index; $j <= $mixeval['Mixeval']["total_question"]; $j++) {
314                            if (isset($resultDetails[$j-1])) {
315                                $rubDet = $resultDetails[$j-1]['EvaluationMixevalDetail'];
316                                echo '<td valign="middle" width="'.$width.'%">';
317                                //Comments
318                                echo "<strong>".__('Comment', true).": </strong>";
319                                if (isset($rubDet)) {
320                                    echo $rubDet["question_comment"];
321                                } else {
322                                    echo "n/a";
323                                }
324
325                                echo "<br /><br /></td>";
326                            }
327                        }
328                        echo "</tr>";
329                    endforeach;
330                }
331                ?>
332        </table>
333        <?php
334            echo "<br>";
335            //Grade Released
336            if (isset($scoreRecords[$user['id']]['grade_released']) && $scoreRecords[$user['id']]['grade_released']) {?>
337                <input type="button" name="UnreleaseGrades" value="<?php __('Unrelease Grades')?>" onClick="location.href='<?php echo $this->webroot.$this->theme.'evaluations/markGradeRelease/'.$event['Event']['id'].';'.$event['Group']['id'].';'.$user['id'].';'.$event['GroupEvent']['id'].';0'; ?>'">
338            <?php } else {?>
339                <input type="button" name="ReleaseGrades" value="<?php __('Release Grades')?>" onClick="location.href='<?php echo $this->webroot.$this->theme.'evaluations/markGradeRelease/'.$event['Event']['id'].';'.$event['Group']['id'].';'.$user['id'].';'.$event['GroupEvent']['id'].';1'; ?>'">
340            <?php }
341
342            //Comment Released
343            if (isset($scoreRecords[$user['id']]['comment_released']) && $scoreRecords[$user['id']]['comment_released']) {?>
344                <input type="button" name="UnreleaseComments" value="<?php __('Unrelease Comments')?>" onClick="location.href='<?php echo $this->webroot.$this->theme.'evaluations/markCommentRelease/'.$event['Event']['id'].';'.$event['Group']['id'].';'.$user['id'].';'.$event['GroupEvent']['id'].';0'; ?>'">
345            <?php } else {?>
346                <input type="button" name="ReleaseComments" value="<?php __('Release Comments')?>" onClick="location.href='<?php echo $this->webroot.$this->theme.'evaluations/markCommentRelease/'.$event['Event']['id'].';'.$event['Group']['id'].';'.$user['id'].';'.$event['GroupEvent']['id'].';1'; ?>'">
347            <?php } ?>
348        </div>
349    </div>
350
351    <?php $i++;?>
352<?php endforeach; ?>
353</div></td></tr></table>
354        <script type="text/javascript"> new Rico.Accordion( 'accordion',
355                                                                {panelHeight:500,
356                                                                 hoverClass: 'mdHover',
357                                                                 selectedClass: 'mdSelected',
358                                                                 clickedClass: 'mdClicked',
359                                                                 unselectedClass: 'panelheader'});
360
361        </script>
362</div>
Note: See TracBrowser for help on using the repository browser.