forked from science-ation/science-ation
- Add the volunteer positions editor
- Add the report type for volunteers
This commit is contained in:
parent
9f0b1d494b
commit
dfd0371d92
@ -36,6 +36,9 @@
|
|||||||
echo "<a href=\"judges.php\">".i18n("Judging Management")."</a> <br />";
|
echo "<a href=\"judges.php\">".i18n("Judging Management")."</a> <br />";
|
||||||
echo "<a href=\"translations.php\">".i18n("Translations Management")."</a> <br />";
|
echo "<a href=\"translations.php\">".i18n("Translations Management")."</a> <br />";
|
||||||
echo "<a href=\"reports_editor.php\">".i18n("Report Management")."</a> <br />";
|
echo "<a href=\"reports_editor.php\">".i18n("Report Management")."</a> <br />";
|
||||||
|
if($config['volunteer_enable'] == 'yes') {
|
||||||
|
echo "<a href=\"volunteer_positions_manager.php\">".i18n("Volunteer Position Management")."</a> <br />";
|
||||||
|
}
|
||||||
if($config['tours_enable'] == 'yes') {
|
if($config['tours_enable'] == 'yes') {
|
||||||
echo "<a href=\"tours_manager.php\">".i18n("Tour Management")."</a> <br />";
|
echo "<a href=\"tours_manager.php\">".i18n("Tour Management")."</a> <br />";
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
require_once("reports_judges.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("reports_awards.inc.php"); /* $report_students_fields */
|
||||||
require_once("reports_committees.inc.php"); /* $report_students_fields */
|
require_once("reports_committees.inc.php"); /* $report_students_fields */
|
||||||
|
require_once("reports_volunteers.inc.php"); /* $report_volunteers_fields */
|
||||||
require_once("reports_schools.inc.php");
|
require_once("reports_schools.inc.php");
|
||||||
|
|
||||||
require_once('../lpdf.php');
|
require_once('../lpdf.php');
|
||||||
@ -175,6 +176,7 @@ foreach($stock as $n=>$v) {
|
|||||||
global $allow_options;
|
global $allow_options;
|
||||||
global $report_students_fields, $report_judges_fields, $report_awards_fields;
|
global $report_students_fields, $report_judges_fields, $report_awards_fields;
|
||||||
global $report_committees_fields, $report_schools_fields;
|
global $report_committees_fields, $report_schools_fields;
|
||||||
|
global $report_volunteers_fields;
|
||||||
|
|
||||||
|
|
||||||
switch($report['type']) {
|
switch($report['type']) {
|
||||||
@ -183,6 +185,7 @@ foreach($stock as $n=>$v) {
|
|||||||
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
||||||
case 'committee':$allow_fields = array_keys($report_committees_fields); break;
|
case 'committee':$allow_fields = array_keys($report_committees_fields); break;
|
||||||
case 'school': $allow_fields = array_keys($report_schools_fields); break;
|
case 'school': $allow_fields = array_keys($report_schools_fields); break;
|
||||||
|
case 'volunteer': $allow_fields=array_keys($report_volunteers_fields); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First delete all existing fields */
|
/* First delete all existing fields */
|
||||||
@ -222,7 +225,7 @@ foreach($stock as $n=>$v) {
|
|||||||
{
|
{
|
||||||
global $allow_options, $report_students_fields, $report_judges_fields;
|
global $allow_options, $report_students_fields, $report_judges_fields;
|
||||||
global $report_committees_fields, $report_awards_fields;
|
global $report_committees_fields, $report_awards_fields;
|
||||||
global $report_schools_fields;
|
global $report_schools_fields, $report_volunteers_fields;
|
||||||
|
|
||||||
$report = array();
|
$report = array();
|
||||||
|
|
||||||
@ -249,6 +252,7 @@ foreach($stock as $n=>$v) {
|
|||||||
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
||||||
case 'committee':$allow_fields = array_keys($report_committees_fields); break;
|
case 'committee':$allow_fields = array_keys($report_committees_fields); break;
|
||||||
case 'school': $allow_fields = array_keys($report_schools_fields); break;
|
case 'school': $allow_fields = array_keys($report_schools_fields); break;
|
||||||
|
case 'volunteer':$allow_fields = array_keys($report_volunteer_fields); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$q = mysql_query("SELECT * FROM reports_items
|
$q = mysql_query("SELECT * FROM reports_items
|
||||||
@ -376,7 +380,7 @@ foreach($stock as $n=>$v) {
|
|||||||
function report_gen($report)
|
function report_gen($report)
|
||||||
{
|
{
|
||||||
global $config, $report_students_fields, $report_judges_fields, $report_awards_fields, $report_schools_fields;
|
global $config, $report_students_fields, $report_judges_fields, $report_awards_fields, $report_schools_fields;
|
||||||
global $stock, $report_committees_fields;
|
global $stock, $report_committees_fields, $report_volunteers_fields;
|
||||||
global $filter_ops;
|
global $filter_ops;
|
||||||
|
|
||||||
//print_r($report);
|
//print_r($report);
|
||||||
@ -386,6 +390,7 @@ foreach($stock as $n=>$v) {
|
|||||||
case 'award': $fields = $report_awards_fields; break;
|
case 'award': $fields = $report_awards_fields; break;
|
||||||
case 'committee': $fields = $report_committees_fields; break;
|
case 'committee': $fields = $report_committees_fields; break;
|
||||||
case 'school': $fields = $report_schools_fields; break;
|
case 'school': $fields = $report_schools_fields; break;
|
||||||
|
case 'volunteer': $fields = $report_volunteers_fields; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$gen_mode = '';
|
$gen_mode = '';
|
||||||
@ -524,6 +529,7 @@ foreach($stock as $n=>$v) {
|
|||||||
case 'award': $q = report_awards_fromwhere($report, $components); break;
|
case 'award': $q = report_awards_fromwhere($report, $components); break;
|
||||||
case 'committee': $q = report_committees_fromwhere($report, $components); break;
|
case 'committee': $q = report_committees_fromwhere($report, $components); break;
|
||||||
case 'school': $q = report_schools_fromwhere($report, $components); break;
|
case 'school': $q = report_schools_fromwhere($report, $components); break;
|
||||||
|
case 'volunteer': $q = report_volunteers_fromwhere($report, $components); break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$q = "SELECT $sel $q $filter_query $group_query ORDER BY $order";
|
$q = "SELECT $sel $q $filter_query $group_query ORDER BY $order";
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
require_once('reports_awards.inc.php');
|
require_once('reports_awards.inc.php');
|
||||||
require_once('reports_committees.inc.php');
|
require_once('reports_committees.inc.php');
|
||||||
require_once('reports_schools.inc.php');
|
require_once('reports_schools.inc.php');
|
||||||
|
require_once('reports_volunteers.inc.php');
|
||||||
require_once('reports.inc.php');
|
require_once('reports.inc.php');
|
||||||
|
|
||||||
$fields = array();
|
$fields = array();
|
||||||
@ -250,6 +251,7 @@ function reportChange()
|
|||||||
case 'award': $fields = $report_awards_fields; break;
|
case 'award': $fields = $report_awards_fields; break;
|
||||||
case 'committee': $fields = $report_committees_fields; break;
|
case 'committee': $fields = $report_committees_fields; break;
|
||||||
case 'school': $fields = $report_schools_fields; break;
|
case 'school': $fields = $report_schools_fields; break;
|
||||||
|
case 'volunteer': $fields = $report_volunteers_fields; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<a href=\"reports.php\"><< ".i18n("Back to Reports")."</a><br />";
|
echo "<a href=\"reports.php\"><< ".i18n("Back to Reports")."</a><br />";
|
||||||
@ -290,7 +292,7 @@ function reportChange()
|
|||||||
echo "<td>";
|
echo "<td>";
|
||||||
selector('type', array('student' => 'Student Report', 'judge' => 'Judge Report',
|
selector('type', array('student' => 'Student Report', 'judge' => 'Judge Report',
|
||||||
'award' => 'Award Report', 'committee' => 'Committee Member Report',
|
'award' => 'Award Report', 'committee' => 'Committee Member Report',
|
||||||
'school' => 'School Report' ),
|
'school' => 'School Report', 'volunteer' => 'Volunteer Report' ),
|
||||||
|
|
||||||
$report['type']);
|
$report['type']);
|
||||||
|
|
||||||
|
138
admin/reports_volunteers.inc.php
Normal file
138
admin/reports_volunteers.inc.php
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
<?
|
||||||
|
/*
|
||||||
|
This file is part of the 'Science Fair In A Box' project
|
||||||
|
SFIAB Website: http://www.sfiab.ca
|
||||||
|
|
||||||
|
Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
||||||
|
Copyright (C) 2005 James Grant <james@lightbox.org>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation, version 2.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$report_volunteers_fields = array(
|
||||||
|
|
||||||
|
'last_name' => array(
|
||||||
|
'name' => 'Volunteer -- Last Name',
|
||||||
|
'header' => 'Last Name',
|
||||||
|
'width' => 1.0,
|
||||||
|
'table' => 'users.lastname' ),
|
||||||
|
|
||||||
|
'first_name' => array(
|
||||||
|
'name' => 'Volunteer -- First Name',
|
||||||
|
'header' => 'First Name',
|
||||||
|
'width' => 1.0,
|
||||||
|
'table' => 'users.firstname' ),
|
||||||
|
|
||||||
|
'name' => array(
|
||||||
|
'name' => 'Volunteer -- Full Name (last, first)',
|
||||||
|
'header' => 'Name',
|
||||||
|
'width' => 1.75,
|
||||||
|
'table' => "CONCAT(users.lastname, ', ', users.firstname)",
|
||||||
|
'table_sort'=> 'users.lastname' ),
|
||||||
|
|
||||||
|
'namefl' => array(
|
||||||
|
'name' => 'Volunteer -- Full Name (first last)',
|
||||||
|
'header' => 'Name',
|
||||||
|
'width' => 1.75,
|
||||||
|
'table' => "CONCAT(users.firstname, ' ', users.lastname)",
|
||||||
|
'table_sort'=> 'users.lastname' ),
|
||||||
|
|
||||||
|
'email' => array(
|
||||||
|
'name' => 'Volunteer -- Email',
|
||||||
|
'header' => 'Email',
|
||||||
|
'width' => 1.75,
|
||||||
|
'table' => 'users.email'),
|
||||||
|
|
||||||
|
'phone' => array(
|
||||||
|
'name' => 'Volunteer -- Phone',
|
||||||
|
'header' => 'Phone',
|
||||||
|
'width' => 1.0,
|
||||||
|
'table' => 'users.phonehome'),
|
||||||
|
|
||||||
|
'cell' => array(
|
||||||
|
'name' => 'Volunteer -- Cell',
|
||||||
|
'header' => 'Cell',
|
||||||
|
'width' => 1.0,
|
||||||
|
'table' => 'users.phonecell'),
|
||||||
|
|
||||||
|
'organization' => array(
|
||||||
|
'name' => 'Volunteer -- Phone',
|
||||||
|
'header' => 'Organziation',
|
||||||
|
'width' => 1.0,
|
||||||
|
'table' => 'users.organization'),
|
||||||
|
|
||||||
|
'position_name' => array (
|
||||||
|
'name' => 'Volunteer Position -- Name',
|
||||||
|
'header' => 'Position',
|
||||||
|
'width' => 3,
|
||||||
|
'table' => 'volunteer_positions.name',
|
||||||
|
'components' => array('signup')),
|
||||||
|
|
||||||
|
/* 'language' => array(
|
||||||
|
'name' => 'Project -- Language',
|
||||||
|
'header' => 'Lang',
|
||||||
|
'width' => 1.00,
|
||||||
|
'table' => 'projects.language' ),
|
||||||
|
*/
|
||||||
|
'fair_year' => array (
|
||||||
|
'name' => 'Fair -- Year',
|
||||||
|
'header' => 'Year',
|
||||||
|
'width' => 0.5,
|
||||||
|
'table' => "{$config['FAIRYEAR']}"),
|
||||||
|
|
||||||
|
'fair_name' => array (
|
||||||
|
'name' => 'Fair -- Name',
|
||||||
|
'header' => 'Fair Name',
|
||||||
|
'width' => 3,
|
||||||
|
'table' => "'{$config['fairname']}'"),
|
||||||
|
|
||||||
|
'static_text' => array (
|
||||||
|
'name' => 'Static Text (useful for labels)',
|
||||||
|
'header' => '',
|
||||||
|
'width' => 0.1,
|
||||||
|
'table' => "CONCAT(' ')"),
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
function report_volunteers_fromwhere($report, $components)
|
||||||
|
{
|
||||||
|
global $config, $report_volutneers_fields;
|
||||||
|
|
||||||
|
$fields = $report_volutneers_fields;
|
||||||
|
$year = $report['year'];
|
||||||
|
|
||||||
|
$signup_join = '';
|
||||||
|
$signup_where = '';
|
||||||
|
|
||||||
|
if(in_array('signup', $components)) {
|
||||||
|
$signup_join = "LEFT JOIN volunteer_positions_signup
|
||||||
|
ON (users.id=volunteer_positions_signup.users_id)
|
||||||
|
LEFT JOIN volunteer_positions
|
||||||
|
ON (volunteer_positions_signup.volunteer_positions_id=volunteer_positions.id)";
|
||||||
|
$signup_where = "AND volunteer_positions_signup.year = '$year'";
|
||||||
|
}
|
||||||
|
|
||||||
|
$q = " FROM
|
||||||
|
users
|
||||||
|
$signup_join
|
||||||
|
WHERE
|
||||||
|
users.complete='yes'
|
||||||
|
$signup_where
|
||||||
|
";
|
||||||
|
|
||||||
|
return $q;
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
50
admin/volunteer_positions_manager.php
Normal file
50
admin/volunteer_positions_manager.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?
|
||||||
|
/*
|
||||||
|
This file is part of the 'Science Fair In A Box' project
|
||||||
|
SFIAB Website: http://www.sfiab.ca
|
||||||
|
|
||||||
|
Copyright (C) 2007 James Grant <james@lightbox.org>
|
||||||
|
Copyright (C) 2007 David Grant <dave@lightbox.org>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU General Public
|
||||||
|
License as published by the Free Software Foundation, version 2.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
*/
|
||||||
|
?>
|
||||||
|
<?
|
||||||
|
require("../common.inc.php");
|
||||||
|
require("../tableeditor.class.php");
|
||||||
|
|
||||||
|
auth_required('admin');
|
||||||
|
send_header("Volunteer Positions Manager",
|
||||||
|
array("Administration" => "admin/")
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$editor=new TableEditor("volunteer_positions",
|
||||||
|
array("name"=>"Name",
|
||||||
|
"desc"=>"Description",
|
||||||
|
"meet_place"=>"Location Information",
|
||||||
|
"start"=>"Start Day/Time",
|
||||||
|
"end"=>"End Day/Time"
|
||||||
|
), null,
|
||||||
|
array("year" => $config['FAIRYEAR'] )
|
||||||
|
);
|
||||||
|
|
||||||
|
$editor->setPrimaryKey("id");
|
||||||
|
$editor->setDefaultSortField("start,name");
|
||||||
|
$editor->setRecordType("Volunteer Position");
|
||||||
|
$editor->execute();
|
||||||
|
|
||||||
|
send_footer();
|
||||||
|
?>
|
Loading…
Reference in New Issue
Block a user