function _ops_delete($OID = 0, $CID = 0) { $OID = max(0, intval($OID)); $CID = max(0, intval($CID)); $msg = ''; loginRequireMgmt(); if (!loginCheckPermission(USER::MGMT_TEAM)) { redirect("errors/401"); } $itemName = "Team"; $urlPrefix = "mgmt_team"; $object = new Team($OID, $CID); if (!$object->exists()) { $msg = "{$itemName} not found!"; } else { transactionBegin(); if ($object->delete()) { transactionCommit(); $msg = "{$itemName} deleted!"; } else { TransactionRollback(); $msg = "{$itemName} delete failed!"; } } redirect("{$urlPrefix}/manage", $msg); }
function _edit_score($OID = 0, $CID = 0) { loginRequireMgmt(); if (!loginCheckPermission(USER::MGMT_TEAM)) { redirect("errors/401"); } $item = "Team"; $urlPrefix = "mgmt_team"; $object = new Team(); $object->retrieve($OID, $CID); if (!$object->exists()) { $data['body'][] = "<p>{$item} Not Found!</p>"; } else { $fdata['form_heading'] = "Edit {$item} Score"; $fdata['object'] = $object; $fdata['actionUrl'] = myUrl("{$urlPrefix}/ops_update_score"); $fdata['actionLabel'] = "Submit"; $fdata['cancelUrl'] = myUrl("{$urlPrefix}/manage"); $fdata['cancelLabel'] = "Cancel"; $form = View::do_fetch(VIEW_PATH . "{$urlPrefix}/score_form.php", $fdata); $data['head'][] = View::do_fetch(VIEW_PATH . "{$urlPrefix}/score_form_js.php"); $data['body'][] = "<h2>Edit {$item} Score</h2>"; $data['body'][] = $form; } View::do_dump(VIEW_PATH . 'layouts/mgmtlayout.php', $data); }
function _ops_update_score() { $OID = max(0, intval($_POST['OID'])); $CID = max(0, intval($_POST['CID'])); $msg = ""; loginRequireMgmt(); if (!loginCheckPermission(USER::MGMT_TEAM)) { redirect("errors/401"); } $itemName = "Team"; $urlPrefix = "mgmt_team"; $object = new Team(); if ($OID) { $object->retrieve($OID, $CID); if (!$object->exists()) { $msg = "{$itemName} not found!"; } else { transactionBegin(); if ($object->updateTotalScore()) { Event::createEvent(EVENT::TYPE_EDIT, $object, Station::getRegistrationStation(), 0, $_POST); // just put the post data into the event transactionCommit(); $msg = "{$itemName} updated!"; } else { transactionRollback(); $msg = "{$itemName} update failed"; } } } else { $msg = "attempting to create team from ops_update_score which is not supported"; } redirect("{$urlPrefix}/manage", $msg); }
function _ops_update() { $OID = max(0, intval($_POST['OID'])); $CID = max(0, intval($_POST['CID'])); $msg = ""; loginRequireMgmt(); if (!loginCheckPermission(USER::MGMT_TEAM)) { redirect("errors/401"); } $itemName = "Team"; $urlPrefix = "mgmt_team"; $object = new Team(); if ($OID) { $object->retrieve($OID, $CID); if (!$object->exists()) { $msg = "{$itemName} not found!"; } else { transactionBegin(); $object->merge($_POST); if ($object->update()) { transactionCommit(); $msg = "{$itemName} updated!"; } else { transactionRollback(); $msg = "{$itemName} update failed"; } } } else { $object->merge($_POST); for ($retry = 0; $retry < PIN_RETRY_MAX; $retry++) { $pin = Team::generatePIN(); if (Team::getFromPin($pin) === false) { // not a duplicate $object->set('pin', $pin); transactionBegin(); if ($object->create() !== false) { transactionCommit(); $msg = "{$itemName} created!"; break; } } } if ($retry >= PIN_RETRY_MAX) { transactionRollback(); $msg = "{$itemName} Create failed"; } } redirect("{$urlPrefix}/manage", $msg); }