*
* @package CRM
* @copyright CiviCRM LLC https://civicrm.org/licensing
- * $Id$
- *
*/
/**
$this->assign('context', $context);
if ($this->membershipID) {
- $params = ['id' => $this->membershipID];
- CRM_Member_BAO_Membership::retrieve($params, $values);
+ $values = \Civi\Api4\Membership::get()
+ ->addSelect('*', 'status_id:label', 'membership_type_id:label', 'membership_type_id.financial_type_id', 'status_id.is_current_member')
+ ->addWhere('id', '=', $this->membershipID)
+ ->execute()
+ ->first();
+
+ // Ensure keys expected by MembershipView.tpl are set correctly
+ // Some of these defaults are overwritten dependant on context below
+ $values['financialTypeId'] = $values['membership_type_id.financial_type_id'];
+ $values['membership_type'] = $values['membership_type_id:label'];
+ $values['status'] = $values['status_id:label'];
+ $values['active'] = $values['status_id.is_current_member'];
+ $values['owner_contact_id'] = FALSE;
+ $values['owner_display_name'] = FALSE;
+ $values['campaign'] = FALSE;
+
if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) {
$finTypeId = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_MembershipType', $values['membership_type_id'], 'financial_type_id');
$finType = CRM_Contribute_PseudoConstant::financialType($finTypeId);
}
// omitting contactImage from title for now since the summary overlay css doesn't work outside crm-container
- CRM_Utils_System::setTitle(ts('View Membership for') . ' ' . $displayName);
+ $this->setTitle(ts('View Membership for') . ' ' . $displayName);
// add viewed membership to recent items list
$recentTitle = $displayName . ' - ' . ts('Membership Type:') . ' ' . $values['membership_type'];
$memType = CRM_Core_DAO::getFieldValue("CRM_Member_DAO_Membership", $this->membershipID, "membership_type_id");
- $groupTree = CRM_Core_BAO_CustomGroup::getTree('Membership', NULL, $this->membershipID, 0, $memType);
+ $groupTree = CRM_Core_BAO_CustomGroup::getTree('Membership', NULL, $this->membershipID, 0, $memType, NULL,
+ TRUE, NULL, FALSE, CRM_Core_Permission::VIEW);
CRM_Core_BAO_CustomGroup::buildCustomDataView($this, $groupTree, FALSE, NULL, NULL, NULL, $this->membershipID);
$isRecur = CRM_Core_DAO::getFieldValue('CRM_Member_DAO_Membership', $this->membershipID, 'contribution_recur_id');