/** * Delete membership Types. * * @param int $membershipStatusId * * @throws CRM_Core_Exception */ public static function del($membershipStatusId) { //check dependencies //checking if membership status is present in some other table $check = FALSE; $dependency = array('Membership', 'MembershipLog'); foreach ($dependency as $name) { $baoString = 'CRM_Member_BAO_' . $name; $dao = new $baoString(); $dao->status_id = $membershipStatusId; if ($dao->find(TRUE)) { throw new CRM_Core_Exception(ts('This membership status cannot be deleted as memberships exist with this status')); } } CRM_Utils_Weight::delWeight('CRM_Member_DAO_MembershipStatus', $membershipStatusId); //delete from membership Type table $membershipStatus = new CRM_Member_DAO_MembershipStatus(); $membershipStatus->id = $membershipStatusId; $membershipStatus->delete(); CRM_Member_PseudoConstant::flush('membershipStatus'); $membershipStatus->free(); }
/** * @param string $name * * @return mixed */ public function membershipStatusCreate($name = 'test member status') { $params['name'] = $name; $params['start_event'] = 'start_date'; $params['end_event'] = 'end_date'; $params['is_current_member'] = 1; $params['is_active'] = 1; $result = $this->callAPISuccess('MembershipStatus', 'Create', $params); CRM_Member_PseudoConstant::flush('membershipStatus'); return $result['id']; }