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=\"translations.php\">".i18n("Translations 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') {
|
||||
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_awards.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('../lpdf.php');
|
||||
@ -175,6 +176,7 @@ foreach($stock as $n=>$v) {
|
||||
global $allow_options;
|
||||
global $report_students_fields, $report_judges_fields, $report_awards_fields;
|
||||
global $report_committees_fields, $report_schools_fields;
|
||||
global $report_volunteers_fields;
|
||||
|
||||
|
||||
switch($report['type']) {
|
||||
@ -183,6 +185,7 @@ foreach($stock as $n=>$v) {
|
||||
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
||||
case 'committee':$allow_fields = array_keys($report_committees_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 */
|
||||
@ -222,7 +225,7 @@ foreach($stock as $n=>$v) {
|
||||
{
|
||||
global $allow_options, $report_students_fields, $report_judges_fields;
|
||||
global $report_committees_fields, $report_awards_fields;
|
||||
global $report_schools_fields;
|
||||
global $report_schools_fields, $report_volunteers_fields;
|
||||
|
||||
$report = array();
|
||||
|
||||
@ -249,6 +252,7 @@ foreach($stock as $n=>$v) {
|
||||
case 'award': $allow_fields = array_keys($report_awards_fields); break;
|
||||
case 'committee':$allow_fields = array_keys($report_committees_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
|
||||
@ -376,7 +380,7 @@ foreach($stock as $n=>$v) {
|
||||
function report_gen($report)
|
||||
{
|
||||
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;
|
||||
|
||||
//print_r($report);
|
||||
@ -386,6 +390,7 @@ foreach($stock as $n=>$v) {
|
||||
case 'award': $fields = $report_awards_fields; break;
|
||||
case 'committee': $fields = $report_committees_fields; break;
|
||||
case 'school': $fields = $report_schools_fields; break;
|
||||
case 'volunteer': $fields = $report_volunteers_fields; break;
|
||||
}
|
||||
|
||||
$gen_mode = '';
|
||||
@ -524,6 +529,7 @@ foreach($stock as $n=>$v) {
|
||||
case 'award': $q = report_awards_fromwhere($report, $components); break;
|
||||
case 'committee': $q = report_committees_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";
|
||||
|
@ -30,6 +30,7 @@
|
||||
require_once('reports_awards.inc.php');
|
||||
require_once('reports_committees.inc.php');
|
||||
require_once('reports_schools.inc.php');
|
||||
require_once('reports_volunteers.inc.php');
|
||||
require_once('reports.inc.php');
|
||||
|
||||
$fields = array();
|
||||
@ -250,6 +251,7 @@ function reportChange()
|
||||
case 'award': $fields = $report_awards_fields; break;
|
||||
case 'committee': $fields = $report_committees_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 />";
|
||||
@ -290,7 +292,7 @@ function reportChange()
|
||||
echo "<td>";
|
||||
selector('type', array('student' => 'Student Report', 'judge' => 'Judge Report',
|
||||
'award' => 'Award Report', 'committee' => 'Committee Member Report',
|
||||
'school' => 'School Report' ),
|
||||
'school' => 'School Report', 'volunteer' => 'Volunteer Report' ),
|
||||
|
||||
$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