/** * Browse all event templates. */ public function browse() { //get all event templates. $allEventTemplates = array(); $eventTemplate = new CRM_Event_DAO_Event(); $eventTypes = CRM_Event_PseudoConstant::eventType(); $participantRoles = CRM_Event_PseudoConstant::participantRole(); $participantListings = CRM_Event_PseudoConstant::participantListing(); //find all event templates. $eventTemplate->is_template = TRUE; $eventTemplate->find(); while ($eventTemplate->fetch()) { CRM_Core_DAO::storeValues($eventTemplate, $allEventTemplates[$eventTemplate->id]); //get listing types. if ($eventTemplate->participant_listing_id) { $allEventTemplates[$eventTemplate->id]['participant_listing'] = $participantListings[$eventTemplate->participant_listing_id]; } //get participant role if ($eventTemplate->default_role_id) { $allEventTemplates[$eventTemplate->id]['participant_role'] = $participantRoles[$eventTemplate->default_role_id]; } //get event type. if (isset($eventTypes[$eventTemplate->event_type_id])) { $allEventTemplates[$eventTemplate->id]['event_type'] = $eventTypes[$eventTemplate->event_type_id]; } //form all action links $action = array_sum(array_keys($this->links())); //add action links. $allEventTemplates[$eventTemplate->id]['action'] = CRM_Core_Action::formLink(self::links(), $action, array('id' => $eventTemplate->id), ts('more'), FALSE, 'eventTemplate.manage.action', 'Event', $eventTemplate->id); } $this->assign('rows', $allEventTemplates); $session = CRM_Core_Session::singleton(); $session->pushUserContext(CRM_Utils_System::url(CRM_Utils_System::currentPath(), 'reset=1&action=browse')); }
/** * Delete the price set. * * @param int $id * Price Set id. * * @return bool * false if fields exist for this set, true if the * set could be deleted * */ public static function deleteSet($id) { // remove from all inactive forms $usedBy = self::getUsedBy($id); if (isset($usedBy['civicrm_event'])) { foreach ($usedBy['civicrm_event'] as $eventId => $unused) { $eventDAO = new CRM_Event_DAO_Event(); $eventDAO->id = $eventId; $eventDAO->find(); while ($eventDAO->fetch()) { self::removeFrom('civicrm_event', $eventDAO->id); } } } // delete price fields $priceField = new CRM_Price_DAO_PriceField(); $priceField->price_set_id = $id; $priceField->find(); while ($priceField->fetch()) { // delete options first CRM_Price_BAO_PriceField::deleteField($priceField->id); } $set = new CRM_Price_DAO_PriceSet(); $set->id = $id; return $set->delete(); }