forked from science-ation/science-ation
- Update the judge and award report generators
This commit is contained in:
parent
7b04204ede
commit
d659999339
@ -22,6 +22,8 @@
|
||||
*/
|
||||
|
||||
require_once("reports_students.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_judges.inc.php"); /* $report_students_fields */
|
||||
require_once("reports_awards.inc.php"); /* $report_students_fields */
|
||||
require_once('../lpdf.php');
|
||||
require_once('../lcsv.php');
|
||||
|
||||
@ -136,7 +138,8 @@ foreach($stock as $n=>$v) {
|
||||
|
||||
function report_save_field($report, $type)
|
||||
{
|
||||
global $allow_options, $report_students_fields, $report_judges_fields;
|
||||
global $allow_options;
|
||||
global $report_students_fields, $report_judges_fields, $report_awards_fields;
|
||||
|
||||
switch($report['type']) {
|
||||
case 'student': $allow_fields = array_keys($report_students_fields); break;
|
||||
@ -373,8 +376,8 @@ foreach($stock as $n=>$v) {
|
||||
$group_by[] = $fieldname[$f];
|
||||
}
|
||||
}
|
||||
|
||||
if(count($group_query)) {
|
||||
|
||||
if(count($group_by)) {
|
||||
$group_query = "GROUP BY ".implode(",", $group_by);
|
||||
} else {
|
||||
$group_query = "";
|
||||
|
@ -24,8 +24,8 @@
|
||||
$report_awards_fields = array(
|
||||
'name' => array(
|
||||
'name' => 'Award -- Name',
|
||||
'header' => 'Name',
|
||||
'width' => 2.0,
|
||||
'header' => 'Award Name',
|
||||
'width' => 3.0,
|
||||
'table' => 'award_awards.name' ),
|
||||
|
||||
'cwsfaward' => array(
|
||||
@ -35,6 +35,32 @@ $report_awards_fields = array(
|
||||
'table' => 'award_awards.cwsfaward',
|
||||
'value_map' => array ('0' => 'No', '1' => 'Yes')),
|
||||
|
||||
'type' => array(
|
||||
'name' => 'Award -- Type',
|
||||
'header' => 'Award Type',
|
||||
'width' => 1.0,
|
||||
'table' => 'award_types.type' ),
|
||||
|
||||
'judgeteamname' => array(
|
||||
'name' => 'Judging Team -- Name',
|
||||
'header' => 'Judging Team',
|
||||
'width' => 3.0,
|
||||
'table' => 'judges_teams.name'),
|
||||
|
||||
'judgeteamnum' => array(
|
||||
'name' => 'Judging Team -- Number',
|
||||
'header' => 'Num',
|
||||
'width' => 0.5,
|
||||
'table' => 'judges_teams.num'),
|
||||
|
||||
'judgeteammembers' => array(
|
||||
'name' => 'Judging Team -- Members (REQUIRES MySQL 5.0)',
|
||||
'header' => 'Team Members',
|
||||
'width' => 3.0,
|
||||
'table' => "GROUP_CONCAT(judges.firstname)",
|
||||
'group_by' => array('judges_teams.num') ),
|
||||
|
||||
|
||||
);
|
||||
|
||||
function report_awards_fromwhere($report)
|
||||
@ -44,34 +70,28 @@ $report_awards_fields = array(
|
||||
$fields = $report_awards_fields;
|
||||
$year = $report['year'];
|
||||
|
||||
/*
|
||||
$awards_join = '';
|
||||
$awards_where = '';
|
||||
|
||||
$judges_join = '';
|
||||
$judges_where = '';
|
||||
|
||||
if(in_array('awards', $report['col']) || in_array('pn_awards', $report['col'])
|
||||
|| in_array('awards', $report['group']) || in_array('pn_awards', $report['group']) ) {
|
||||
/* This requires some extra gymnastics
|
||||
$awards_join = "LEFT JOIN winners ON(winners.projects_id = projects.id),award_prizes,award_awards,award_types";
|
||||
$awards_where = " AND winners.awards_prizes_id=award_prizes.id
|
||||
AND award_prizes.award_awards_id=award_award_awards.id
|
||||
AND award_types.id=award_award_awards.award_types_id
|
||||
AND winners.year='$year'
|
||||
AND award_award_awards.year='$year'
|
||||
AND award_prizes.year='$year'
|
||||
AND award_types.year='$year' ";
|
||||
if(in_array('judgeteammembers', $report['col'])
|
||||
|| in_array('judgeteammembers', $report['group']) ) {
|
||||
$judges_join = ', judges_teams_link, judges';
|
||||
$judges_where = 'AND judges_teams_link.id=judges_teams.id
|
||||
AND judges.id=judges_teams_link.judges_id';
|
||||
}
|
||||
|
||||
$partner_join = '';
|
||||
if(in_array('bothnames', $report['col']) || in_array('partner', $report['col'])) {
|
||||
$partner_join = "LEFT JOIN awards AS awards2
|
||||
ON(awards2.registrations_id=award_awards.registrations_id
|
||||
AND awards2.id != award_awards.id)";
|
||||
}
|
||||
*/
|
||||
$q = " FROM
|
||||
award_awards
|
||||
award_awards, judges_teams_awards_link, judges_teams,
|
||||
award_types
|
||||
$judges_join
|
||||
WHERE
|
||||
awards_years.year='$year'
|
||||
award_awards.year='$year'
|
||||
AND judges_teams_awards_link.award_awards_id=award_awards.id
|
||||
AND judges_teams.id=judges_teams_awards_link.judges_teams_id
|
||||
AND award_types.id=award_types_id
|
||||
AND award_types.year='$year'
|
||||
$judges_where
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
@ -194,7 +194,7 @@ function reportChange()
|
||||
switch($report['type']) {
|
||||
case 'student': $fields = $report_students_fields; break;
|
||||
case 'judge': $fields = $report_judges_fields; break;
|
||||
case 'awards': $fields = $report_awards_fields; break;
|
||||
case 'award': $fields = $report_awards_fields; break;
|
||||
}
|
||||
|
||||
echo "<a href=\"reports.php\"><< ".i18n("Back to Reports")."</a><br />";
|
||||
|
@ -23,14 +23,14 @@
|
||||
|
||||
$report_judges_fields = array(
|
||||
'last_name' => array(
|
||||
'name' => 'Last Name',
|
||||
'header' => 'Judge -- Last Name',
|
||||
'name' => 'Judge -- Last Name',
|
||||
'header' => 'Last Name',
|
||||
'width' => 1.0,
|
||||
'table' => 'judges.lastname' ),
|
||||
|
||||
'first_name' => array(
|
||||
'name' => 'First Name',
|
||||
'header' => 'Judge -- First Name',
|
||||
'name' => 'Judge -- First Name',
|
||||
'header' => 'First Name',
|
||||
'width' => 1.0,
|
||||
'table' => 'judges.firstname' ),
|
||||
|
||||
@ -51,7 +51,7 @@ $report_judges_fields = array(
|
||||
'email' => array(
|
||||
'name' => 'Judge -- Email',
|
||||
'header' => 'Email',
|
||||
'width' => 1.5,
|
||||
'width' => 2.0,
|
||||
'table' => 'judges.email'),
|
||||
|
||||
'address' => array(
|
||||
@ -92,11 +92,30 @@ $report_judges_fields = array(
|
||||
|
||||
'languages' => array(
|
||||
'name' => 'Judges -- Languages (REQUIRES MySQL 5.0)',
|
||||
'header' => 'Languages',
|
||||
'header' => 'Lang',
|
||||
'width' => 0.75,
|
||||
'table' => "GROUP_CONCAT(judges_languages.languages_lang ORDER BY judges_languages.languages_lang SEPARATOR ' ')",
|
||||
'group_by' => array('judges.id')),
|
||||
|
||||
'captain' => array(
|
||||
'name' => 'Judge Team -- Captain?',
|
||||
'header' => 'Cptn',
|
||||
'width' => 0.5,
|
||||
'table' => 'judges_teams_link.captain',
|
||||
'value_map' => array ('no' => 'No', 'yes' => 'Yes')),
|
||||
|
||||
'team' => array(
|
||||
'name' => 'Judge Team -- Name',
|
||||
'header' => 'Team Name',
|
||||
'width' => 3.0,
|
||||
'table' => 'judges_teams.name'),
|
||||
|
||||
'teamnum' => array(
|
||||
'name' => 'Judge Team -- Team Number',
|
||||
'header' => 'Team',
|
||||
'width' => 0.5,
|
||||
'table' => 'judges_teams.num'),
|
||||
|
||||
'complete' => array(
|
||||
'name' => 'Judge -- Registration Complete',
|
||||
'header' => 'Complete',
|
||||
@ -113,6 +132,14 @@ $report_judges_fields = array(
|
||||
$fields = $report_judges_fields;
|
||||
$year = $report['year'];
|
||||
|
||||
$languages_from = '';
|
||||
$languages_where = '';
|
||||
if(in_array('languages', $report['col'])) {
|
||||
$languages_from = ', judges_languages';
|
||||
$languages_where = 'AND judges_languages.judges_id=judges.id';
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
$awards_join = '';
|
||||
$awards_where = '';
|
||||
@ -138,10 +165,16 @@ $report_judges_fields = array(
|
||||
}
|
||||
*/
|
||||
$q = " FROM
|
||||
judges, judges_years
|
||||
judges, judges_years, judges_teams_link, judges_teams
|
||||
$languages_from
|
||||
WHERE
|
||||
judges_years.judges_id = judges.id
|
||||
AND judges_years.year='$year'
|
||||
AND judges_teams_link.judges_id=judges.id
|
||||
AND judges_teams_link.year='$year'
|
||||
AND judges_teams.id=judges_teams_link.judges_teams_id
|
||||
AND judges_teams.year='$year'
|
||||
$languages_where
|
||||
";
|
||||
|
||||
return $q;
|
||||
|
@ -62,9 +62,11 @@
|
||||
if($numawards==1) $plural=""; else $plural="s";
|
||||
|
||||
$awardstr="$numawards Award$plural: ";
|
||||
foreach($team['awards'] AS $award)
|
||||
{
|
||||
$awardstr.="(".$award['award_type'].") ".$award['name'].", ";
|
||||
if(is_array($team['awards'])) {
|
||||
foreach($team['awards'] AS $award)
|
||||
{
|
||||
$awardstr.="(".$award['award_type'].") ".$award['name'].", ";
|
||||
}
|
||||
}
|
||||
//trim off the last ", "
|
||||
$awardstr=substr($awardstr,0,-2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user