public static function destroy($id) { self::check_admin_logged_in(); $participant = Participant::find($id); Participant::delete($id); Participant::nullify_and_update_competition_standings($participant->competition_id); Redirect::to('/competition/' . $participant->competition_id . '/participants', array('message' => 'Kilpailija ' . $participant->competitor_name . ' poistettiin onnistuneesti kilpailusta ' . $participant->competition_name)); }
/** * FixEventLevel() method (Setting ',' values), resolveDefaults(assinging value to array) method */ public function testfixEventLevel() { $paramsSet['title'] = 'Price Set'; $paramsSet['name'] = CRM_Utils_String::titleToVar('Price Set'); $paramsSet['is_active'] = FALSE; $paramsSet['extends'] = 1; $priceset = CRM_Price_BAO_PriceSet::create($paramsSet); //Checking for priceset added in the table. $this->assertDBCompareValue('CRM_Price_BAO_PriceSet', $priceset->id, 'title', 'id', $paramsSet['title'], 'Check DB for created priceset'); $paramsField = array('label' => 'Price Field', 'name' => CRM_Utils_String::titleToVar('Price Field'), 'html_type' => 'Text', 'price' => 10, 'option_label' => array('1' => 'Price Field'), 'option_value' => array('1' => 10), 'option_name' => array('1' => 10), 'option_weight' => array('1' => 1), 'is_display_amounts' => 1, 'weight' => 1, 'options_per_line' => 1, 'is_active' => array('1' => 1), 'price_set_id' => $priceset->id, 'is_enter_qty' => 1); $ids = array(); $pricefield = CRM_Price_BAO_PriceField::create($paramsField, $ids); //Checking for priceset added in the table. $this->assertDBCompareValue('CRM_Price_BAO_PriceField', $pricefield->id, 'label', 'id', $paramsField['label'], 'Check DB for created pricefield'); $eventId = $this->_eventId; $participantParams = array('send_receipt' => 1, 'is_test' => 0, 'is_pay_later' => 0, 'event_id' => $eventId, 'register_date' => date('Y-m-d') . " 00:00:00", 'role_id' => 1, 'status_id' => 1, 'source' => 'Event_' . $eventId, 'contact_id' => $this->_contactId, 'note' => 'Note added for Event_' . $eventId, 'fee_level' => 'Price_Field - 55'); $participant = CRM_Event_BAO_Participant::add($participantParams); //Checking for participant added in the table. $this->assertDBCompareValue('CRM_Event_BAO_Participant', $this->_contactId, 'id', 'contact_id', $participant->id, 'Check DB for created participant'); $values = array(); $ids = array(); $params = array('id' => $participant->id); CRM_Event_BAO_Participant::getValues($params, $values, $ids); $this->assertNotEquals(count($values), 0, 'Checking for empty array.'); CRM_Event_BAO_Participant::resolveDefaults($values[$participant->id]); if ($values[$participant->id]['fee_level']) { CRM_Event_BAO_Participant::fixEventLevel($values[$participant->id]['fee_level']); } $deletePricefield = CRM_Price_BAO_PriceField::deleteField($pricefield->id); $this->assertDBNull('CRM_Price_BAO_PriceField', $pricefield->id, 'name', 'id', 'Check DB for non-existence of Price Field.'); $deletePriceset = CRM_Price_BAO_PriceSet::deleteSet($priceset->id); $this->assertDBNull('CRM_Price_BAO_PriceSet', $priceset->id, 'title', 'id', 'Check DB for non-existence of Price Set.'); Participant::delete($participant->id); Contact::delete($this->_contactId); Event::delete($eventId); }
private function deleteParticipants() { //TODO check if participant has any anno in ce $params = $this->myNamespace->params; $ceId = $this->defaultNamespace->callingActionId; if (!isset($params[Participant::COL_ID])) { return FALSE; } $dbAdapter = Zend_Registry::get('DB_CONNECTION1'); $select = $dbAdapter->select(); $select->from(array('anno' => Annotations::TABLE_NAME)); $select->joinLeft(array('cehim' => CeHasImage::TABLE_NAME), 'anno.' . Annotations::COL_CE_HAS_IMAGE_ID . '=' . 'cehim.' . CeHasImage::COL_ID); //continue select in loop $partIds = $params[Participant::COL_ID]; foreach ($partIds as $partId) { $select->where('anno.' . Annotations::COL_PART_ID . ' = ?', $partId); $resultArray = $dbAdapter->fetchAll($select); if (empty($resultArray)) { //if result array is empty = Array[0], the participant has no annotations in this calibration exercise //delete participant $part = new Participant(); $where = $part->getAdapter()->quoteInto(Participant::COL_ID . '= ?', $partId); $part->delete($where); } } return TRUE; }
public function change_group($participant_id) { $group_id = $this->input->post('group_id'); $this->_transaction_isolation(); $this->db->trans_begin(); $participant = new Participant(); $participant->get_by_id($participant_id); $group = new Group(); $group->get_by_id($group_id); $course = $participant->course->get(); if ($group->exists()) { if ($group->is_related_to($course)) { $participant->save($group); } } else { $current_group = $participant->group->get(); $participant->delete($current_group); } $is_ok = TRUE; if ($group->exists()) { if ($participant->allowed == 1) { $group_for_test = new Group(); $rooms = $group_for_test->room; $rooms->select_min('capacity'); $rooms->where('group_id', '${parent}.id', FALSE); $group_for_test->select_subquery($rooms, 'group_capacity'); $group_for_test->include_related_count('participant'); $group_for_test->where_related_participant('allowed', 1); $group_for_test->get_by_id(intval($participant->group_id)); if ($group_for_test->exists()) { if (intval($group_for_test->participant_count) > intval($group_for_test->group_capacity)) { $is_ok = FALSE; } } } } if ($is_ok && $this->db->trans_status()) { $this->db->trans_commit(); $this->_action_success(); $this->output->set_internal_value('student_id', $participant->student_id); $this->output->set_internal_value('course_id', $participant->course_id); } else { $this->db->trans_rollback(); } $participant->include_related('group', 'name'); $participant->get_by_id($participant_id); $this->parser->parse('backend/participants/group_column.tpl', array('participant' => $participant)); }