forked from science-ation/science-ation
eligibility editor now checks that no two divisional awards have overlapping eligibility criteria (issue 249)
This commit is contained in:
parent
6021d9f486
commit
30d01eeb74
@ -105,6 +105,35 @@
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
foreach($_POST['categories'] AS $key=>$cat) {
|
||||
if(!is_numeric($cat)) {
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
foreach($_POST['divisions'] AS $key=>$div) {
|
||||
if(!is_numeric($div)) {
|
||||
error_("Invalid data");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$q=mysql_query("SELECT (CASE WHEN ((SELECT a.award_types_id FROM award_awards AS a WHERE id=$id) = 1) THEN (
|
||||
SELECT COUNT(*) AS c FROM award_awards AS aa
|
||||
LEFT JOIN award_awards_projectcategories AS aapc ON (aa.id = aapc.award_awards_id)
|
||||
LEFT JOIN award_awards_projectdivisions AS aapd ON (aa.id = aapd.award_awards_id)
|
||||
WHERE aa.year = {$config['FAIRYEAR']} AND
|
||||
aa.award_types_id=1 AND
|
||||
aa.id != $id AND
|
||||
projectcategories_id IN (". implode(",", $_POST['categories']) .") AND
|
||||
projectdivisions_id IN (". implode(",", $_POST['divisions']) .")
|
||||
) ELSE 0 END) as c");
|
||||
|
||||
$r = mysql_fetch_object($q);
|
||||
if($r->c != 0) {
|
||||
error_("Cannot save. There is already a divisional award with the same eligibility criteria.");
|
||||
exit;
|
||||
}
|
||||
|
||||
//wipe out any old award-category links
|
||||
mysql_query("DELETE FROM award_awards_projectcategories WHERE award_awards_id='$id'");
|
||||
|
Loading…
x
Reference in New Issue
Block a user