return $values;
}
+ /**
+ * Function to delete membership.
+ * Wrapper for most delete calls. Use this unless you JUST want to delete memberships w/o deleting the parent.
+ *
+ * @param int $membershipId membership id that needs to be deleted
+ *
+ * @static
+ *
+ * @return $results no of deleted Membership on success, false otherwise
+ * @access public
+ */
+ static function del($membershipId) {
+ //delete related first and then delete parent.
+ self::deleteRelatedMemberships($membershipId);
+ return self::deleteMembership($membershipId);
+ }
+
/**
* Function to delete membership.
*
$params = array('id' => $membershipId);
$memValues = array();
$memberships = self::getValues($params, $memValues);
+
$membership = $memberships[$membershipId];
CRM_Utils_Hook::pre('delete', 'Membership', $membershipId, $memValues);
return $results;
}
+ /**
+ * Function to delete related memberships
+ *
+ * @param int $ownerMembershipId
+ * @param int $contactId
+ *
+ * @return null
+ * @static
+ */
+ static function deleteRelatedMemberships($ownerMembershipId, $contactId = NULL) {
+ if (!$ownerMembershipId && !$contactId) {
+ return;
+ }
+
+ $membership = new CRM_Member_DAO_Membership();
+ $membership->owner_membership_id = $ownerMembershipId;
+
+ if ($contactId) {
+ $membership->contact_id = $contactId;
+ }
+
+ $membership->find();
+ while ($membership->fetch()) {
+ //delete related first and then delete parent.
+ self::deleteRelatedMemberships($membership->id);
+ self::deleteMembership($membership->id);
+ }
+ $membership->free();
+ }
+
/**
* Function to obtain active/inactive memberships from the list of memberships passed to it.
*
);
}
- /**
- * Function to delete related memberships
- *
- * @param int $ownerMembershipId
- * @param int $contactId
- *
- * @return null
- * @static
- */
- static function deleteRelatedMemberships($ownerMembershipId, $contactId = NULL) {
- if (!$ownerMembershipId && !$contactId) {
- return;
- }
-
- $membership = new CRM_Member_DAO_Membership();
- $membership->owner_membership_id = $ownerMembershipId;
-
- if ($contactId) {
- $membership->contact_id = $contactId;
- }
-
- $membership->find();
- while ($membership->fetch()) {
- //delete related first and then delete parent.
- self::deleteRelatedMemberships($membership->id);
- self::deleteMembership($membership->id);
- }
- $membership->free();
- }
-
/**
* Function to updated related memberships
*
//lets cleanup related membership if any.
if (empty($relatedContacts)) {
- CRM_Member_BAO_Membership::deleteRelatedMemberships($membership->id);
+ self::deleteRelatedMemberships($membership->id);
}
else {
// Edit the params array
$id = CRM_Utils_Request::retrieve('mid', 'Positive', $this);
$relatedContactId = CRM_Utils_Request::retrieve('cid', 'Positive', $this);
$relatedDisplayName = CRM_Contact_BAO_Contact::displayName($relatedContactId);
- CRM_Member_BAO_Membership::deleteMembership($id);
+ CRM_Member_BAO_Membership::del($id);
CRM_Core_Session::setStatus(ts('Related membership for %1 has been deleted.', array(1 => $relatedDisplayName)), ts('Membership Deleted'), 'success');
break;
case 'create':
$membershipId = $this->assertDBNotNull('CRM_Member_BAO_Membership', $contactId, 'id',
'contact_id', 'Database check for created membership.'
);
- CRM_Member_BAO_Membership::deleteMembership($membershipId);
+ CRM_Member_BAO_Membership::del($membershipId);
$membershipId = $this->assertDBNull('CRM_Member_BAO_Membership', $contactId, 'id',
'contact_id', 'Database check for deleted membership.'