forked from science-ation/science-ation
- Change how the num students report column works. It was failing when awards
were added because of the row duplication.
This commit is contained in:
parent
ca52174cfe
commit
eaad48d6d0
@ -652,8 +652,7 @@ foreach($report_stock as $n=>$v) {
|
|||||||
$group_change = false;
|
$group_change = false;
|
||||||
/* See if any of the "group" fields have changed */
|
/* See if any of the "group" fields have changed */
|
||||||
foreach($report['group'] as $x=>$g) {
|
foreach($report['group'] as $x=>$g) {
|
||||||
$f = $g['field'];
|
$c = $fieldname[$g['field']];
|
||||||
$c = $fieldname[$f];
|
|
||||||
if($last_group_data[$c] != $i[$c])
|
if($last_group_data[$c] != $i[$c])
|
||||||
$group_change = true;
|
$group_change = true;
|
||||||
$last_group_data[$c] = $i[$c];
|
$last_group_data[$c] = $i[$c];
|
||||||
@ -697,7 +696,7 @@ foreach($report_stock as $n=>$v) {
|
|||||||
if(is_array($fields[$f]['value_map'])) {
|
if(is_array($fields[$f]['value_map'])) {
|
||||||
$v = $fields[$f]['value_map'][$i["C$o"]];
|
$v = $fields[$f]['value_map'][$i["C$o"]];
|
||||||
} else if(is_callable($fields[$f]['exec_function'])) {
|
} else if(is_callable($fields[$f]['exec_function'])) {
|
||||||
$v = call_user_func_array($fields[$f]['exec_function'], array($i["C$o"]));
|
$v = call_user_func_array($fields[$f]['exec_function'], array($report, $i["C$o"]));
|
||||||
// } else if(isset($fields[$f]['exec_code'])) {
|
// } else if(isset($fields[$f]['exec_code'])) {
|
||||||
// Somethign like this, how do we pass $i["C$o"] in?
|
// Somethign like this, how do we pass $i["C$o"] in?
|
||||||
// $v = exec($fields[$f]['exec_code']);
|
// $v = exec($fields[$f]['exec_code']);
|
||||||
|
@ -21,11 +21,20 @@
|
|||||||
Boston, MA 02111-1307, USA.
|
Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function report_students_i18n_fr($text)
|
function report_students_i18n_fr(&$report, $text)
|
||||||
{
|
{
|
||||||
return i18n($text, array(), array(), 'fr');
|
return i18n($text, array(), array(), 'fr');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function reports_students_numstudents(&$report, $text)
|
||||||
|
{
|
||||||
|
$year = $report['year'];
|
||||||
|
$q = mysql_query("SELECT students.id FROM students
|
||||||
|
WHERE students.registrations_id='$text'
|
||||||
|
AND students.year='$year'");
|
||||||
|
return mysql_num_rows($q);
|
||||||
|
}
|
||||||
|
|
||||||
$report_students_fields = array(
|
$report_students_fields = array(
|
||||||
'pn' => array(
|
'pn' => array(
|
||||||
'name' => 'Project Number',
|
'name' => 'Project Number',
|
||||||
@ -190,9 +199,8 @@ $report_students_fields = array(
|
|||||||
'name' => 'Project -- Number of Students',
|
'name' => 'Project -- Number of Students',
|
||||||
'header' => 'Stu.',
|
'header' => 'Stu.',
|
||||||
'width' => 0.5,
|
'width' => 0.5,
|
||||||
'table' => 'COUNT(numstudents.id)',
|
'table' => 'students.registrations_id',
|
||||||
'components' => array('numstudents'),
|
'exec_function' => 'reports_students_numstudents'),
|
||||||
'group_by' => array('numstudents.id') ),
|
|
||||||
|
|
||||||
'address' => array(
|
'address' => array(
|
||||||
'name' => 'Student Address -- Street Address',
|
'name' => 'Student Address -- Street Address',
|
||||||
@ -524,13 +532,6 @@ $report_students_fields = array(
|
|||||||
AND award_types.year='$year' ";
|
AND award_types.year='$year' ";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(in_array('numstudents', $components)) {
|
|
||||||
/* This requires some extra gymnastics and will duplicate
|
|
||||||
* students/projects if they have won multiple awards */
|
|
||||||
$numstudents_join = "LEFT JOIN students AS numstudents ON students.registrations_id=numstudents.registrations_id";
|
|
||||||
$numstudents_where = " AND numstudents.year='$year'";
|
|
||||||
}
|
|
||||||
|
|
||||||
if(in_array('awards_nominations', $components)) {
|
if(in_array('awards_nominations', $components)) {
|
||||||
$awards_join = "LEFT JOIN project_specialawards_link
|
$awards_join = "LEFT JOIN project_specialawards_link
|
||||||
ON(projects.id=project_specialawards_link.projects_id),
|
ON(projects.id=project_specialawards_link.projects_id),
|
||||||
@ -574,7 +575,6 @@ $report_students_fields = array(
|
|||||||
$tour_join
|
$tour_join
|
||||||
$awards_join
|
$awards_join
|
||||||
$partner_join
|
$partner_join
|
||||||
$numstudents_join
|
|
||||||
WHERE
|
WHERE
|
||||||
students.year='$year'
|
students.year='$year'
|
||||||
AND projects.year='$year'
|
AND projects.year='$year'
|
||||||
@ -584,7 +584,6 @@ $report_students_fields = array(
|
|||||||
AND (registrations.status='complete' OR registrations.status='paymentpending')
|
AND (registrations.status='complete' OR registrations.status='paymentpending')
|
||||||
$awards_where
|
$awards_where
|
||||||
$tour_where
|
$tour_where
|
||||||
$numstudents_where
|
|
||||||
";
|
";
|
||||||
|
|
||||||
return $q;
|
return $q;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user