$resultSet = $dbConn->Execute($sql); if ($resultSet === 0) { $dbConn->log($dbConn->ErrorMsg()); $dbConn->Execute("abort"); } } if (($isTutorOwner || $isGroupTutor) && isset($_REQUEST['bdelete']) && $newsnummer != 0) { // try to insert this snummer into max prj_grp $sql = "delete from prj_grp pg where snummer={$newsnummer} \n" . "and prjtg_id in (select prjtg_id from prj_tutor where prjm_id={$prjm_id})"; $dbConn->Execute($sql); // $dbConn->log($dbConn->ErrorMsg()); } $studentPicker->setPresentQuery("select snummer from prj_grp join prj_tutor using(prjtg_id) where prjm_id={$prjm_id}"); $sql = "select distinct snummer,achternaam,roepnaam,voorvoegsel,pt.grp_num, alias as group,sclass \n" . " from prj_grp pg join prj_tutor pt using(prjtg_id) join student using(snummer) \n" . "join student_class using(class_id)\n" . " left join grp_alias using(prjtg_id)" . " where pt.prjm_id={$prjm_id} \n" . " order by grp_num desc,achternaam,roepnaam"; $rainbow = new RainBow(); $memberTable = getQueryToTableChecked($dbConn, $sql, true, 4, $rainbow, -1, '', ''); pagehead('Add individual student.'); $page_opening = "Add individual student to a project. <span style='font-size:6pt;'>prj_id {$prj_id} milestone {$milestone} </span>"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $nav->show(); $prjSelectWidget = $prjSel->getWidget(); include_once 'templates/addindividual.html'; ?> <!-- db_name=<?php echo $db_name; ?> --> <!-- $Id: addindividual.php 1725 2014-01-16 08:39:59Z hom $ --> </body> </html>
} $subSelect = $cols . "\n from" . $join; // $dbConn->log($subSelect); } $grades = ""; $con = ''; foreach ($gradeColumns as $grade) { $grades .= $con . "subselect.{$grade},subselect.{$grade}_mul"; $con = "\n\t,"; } $sql = "select snummer,achternaam,roepnaam,voorvoegsel, afko, year, \n" . "milestone,grp_num,\"alias\",tutor,\"role\",{$grades},sw.final_grade \n" . "from prj_grp join all_prj_tutor using(prjtg_id)\n" . " join student using(snummer) \n" . " left join milestone_grade using(prjm_id,snummer)\n" . " left join student_role using (prjm_id,snummer)\n" . " left join project_roles using (prj_id,rolenum)\n" . " join ({$subSelect}) subselect using(snummer)\n" . " left join (select snummer,round(grade_weight_sum/w.weight_sum,1) \n" . " as final_grade from project_grade_weight_sum_product\n" . " cross join (select weight_sum from project_weight_sum where prj_id={$prj_id}) w where prj_id={$prj_id} ) sw using(snummer)\n" . "where prjm_id={$prjm_id} order by grp_num,achternaam,roepnaam"; $pp = array(); $dbConn->log($sql); $spreadSheetWriter = new SpreadSheetWriter($dbConn, $sql); $title = "Results for all participants in project {$afko} {$year} milestone {$milestone}"; $spreadSheetWriter->setFilename($filename)->setLinkUrl($server_url . $PHP_SELF)->setTitle($title)->setColorChangerColumn(7); //->setRowParser( new RowWithArraysParser()); $spreadSheetWriter->processRequest(); $pp['spreadSheetWidget'] = $spreadSheetWriter->getWidget(); $page = new PageContainer(); $page->setTitle('Get group tables'); $page_opening = "Group lists for project {$afko} {$description} <span style='font-size:8pt;'>prjm_id {$prjm_id} prj_id {$prj_id} milestone {$milestone} </span>"; $nav = new Navigation($tutor_navtable, basename($PHP_SELF), $page_opening); $nav->setInterestMap($tabInterestCount); $rainbow = new RainBow(); $pp['rtable'] = getQueryToTableChecked($dbConn, $sql, false, 7, $rainbow, -1, '', ''); $pp['selector'] = $prjSel->getSelector(); $pp['selectionDetails'] = $prjSel->getSelectionDetails(); $page->addBodyComponent($nav); $page->addHtmlFragment('templates/milestonegrades.html', $pp); $page->show();
$page->addBodyComponent(new Component(ob_get_clean())); $page->addBodyComponent($nav); $lazyCount = 0; $lazyjudges = ''; $sqlx = "select distinct roepnaam||coalesce(' '||voorvoegsel,'')||' '||achternaam as naam,achternaam,prjtg_id\n" . "from student join judge_notready using(snummer)\n" . "join prj_tutor using(prjtg_id)\n" . "where prjtg_id={$prjtg_id} order by achternaam,naam"; $resultSet = $dbConn->Execute($sqlx); if ($resultSet === false) { echo 'Error getting judge not ready with <pre>' . $dbConn->ErrorMsg() . ' with<br/> ' . $sqlx . "</pre>\n"; stacktrace(1); } else { while (!$resultSet->EOF) { $lazyCount++; $lazyjudges .= '<tr><td>' . $resultSet->fields['naam'] . '</td></tr>'; $resultSet->moveNext(); } } $sql = "select '('||snummer||')' as snummer,roepnaam||' '||coalesce(voorvoegsel,'')||' '||achternaam as name,\n" . " student_class.sclass as class\n" . " from student join prj_grp using(snummer) \n" . "join student_class using (class_id)\n" . "join all_prj_tutor using(prjtg_id)\n" . "where prjtg_id={$prjtg_id} \n" . "order by class,achternaam,roepnaam"; $resultSet = $dbConn->Execute($sql); if ($resultSet === false) { die('Error getting judge fellows ' . $dbConn->ErrorMsg() . ' with ' . $sql); } $pp['fellowTable'] = getQueryToTableChecked($dbConn, $sql, true, 2, new RainBow(0x46b4b4, 64, 32, 0), 7, '', 0); $pp['formOrNop'] = ''; if ($lazyCount > 0) { $pp['formOrNop'] = "<br/>" . $langmap['niet zover'][$lang] . ": \n<table>" . $lazyjudges . "</table>\n"; } else { $rainbow = new RainBow(STARTCOLOR, COLORINCREMENT_RED, COLORINCREMENT_GREEN, COLORINCREMENT_BLUE); $pp['formOrNop'] = "<form action='{$PHP_SELF}' name='recalc' method='get'>\n" . getIndividualResultTable($dbConn, $lang, $prjtg_id, $snummer, $groupgrade, $rainbow) . "\n</form>\n" . "<table><tr><td>" . $langmap['columnexplain'][$lang] . "</td><td>" . $langmap['columnnorights'][$lang] . "</td></tr></table>\n"; } $page->addHtmlFragment('templates/iresult.html', $pp); $page->show();