Re-work how it checks if someone is "unassigned" - the old way was causing problems with multi-year data, if a judge was assigned in a previous year it was getting picked up as assigned even though it wasnt assigned for the current year.

This commit is contained in:
james 2008-03-27 07:46:52 +00:00
parent 0dc2862fa0
commit 6a1f51d3dd

View File

@ -256,7 +256,26 @@ function switchjudgeinfo()
lastname,
firstname";
*/
if($_SESSION['viewstate']['judges_teams_list_show']=='all')
$querystr="SELECT
judges.id,
judges.firstname,
judges.lastname
FROM
judges,
judges_years
WHERE
judges_years.year='".$config['FAIRYEAR']."' AND
judges.id=judges_years.judges_id AND
judges.complete='yes'
ORDER BY
lastname,
firstname";
$q=mysql_query($querystr);
$judgelist=array();
while($r=mysql_fetch_object($q)) {
$judgelist[$r->id]=$r;
}
if($_SESSION['viewstate']['judges_teams_list_show']=='unassigned')
{
$querystr="SELECT
judges.id,
@ -264,43 +283,31 @@ function switchjudgeinfo()
judges.lastname
FROM
judges,
judges_teams_link,
judges_years
WHERE
judges_years.year='".$config['FAIRYEAR']."' AND
judges.id=judges_years.judges_id AND
judges.complete='yes'
judges_years.year='".$config['FAIRYEAR']."'
AND judges_teams_link.year='".$config['FAIRYEAR']."'
AND judges.id=judges_years.judges_id
AND judges.id=judges_teams_link.judges_id
AND judges.complete='yes'
ORDER BY
lastname,
firstname";
$q=mysql_query($querystr);
while($r=mysql_fetch_object($q)) {
//remove anyone we find here from the list of all judges
unset($judgelist[$r->id]);
}
}
else
{
$querystr="SELECT
judges.id,
judges.firstname,
judges.lastname,
judges_teams_link.judges_id
FROM
judges
LEFT JOIN judges_teams_link ON judges.id = judges_teams_link.judges_id,
judges_years
WHERE
judges_years.year='".$config['FAIRYEAR']."' AND
judges.id=judges_years.judges_id AND
judges_teams_link.judges_id IS NULL AND
judges.complete='yes'
ORDER BY
lastname,
firstname";
}
$q=mysql_query($querystr);
echo "<center>";
echo i18n("Listing %1 judges",array(count($judgelist)));
echo "<br />";
echo "</center>";
echo mysql_error();
echo "<select name=\"judgelist[]\" onchange=\"switchjudgeinfo()\" multiple=\"multiple\" style=\"width: 250px; height: 600px;\">";
while($r=mysql_fetch_object($q))
{
foreach($judgelist AS $r) {
if($r->firstname && $r->lastname)
echo "<option value=\"$r->id\">$r->firstname $r->lastname</option>\n";
}