}
/**
- * Function to fetch PCP ID by PCP Supporter sort_name, also displays PCP title and associated Contribution Page title
+ * Fetch PCP ID by PCP Supporter sort_name, also displays PCP title and associated Contribution Page title
*/
- static function getPCPList() {
- $name = CRM_Utils_Array::value('term', $_GET);
- $name = CRM_Utils_Type::escape($name, 'String');
+ public static function getPCPList() {
- $name = CRM_Utils_Array::value('s', $_GET);
++ $name = CRM_Utils_Array::value('term', $_GET);
+ $name = CRM_Utils_Type::escape($name, 'String');
$limit = '10';
$where = ' AND pcp.page_id = cp.id AND pcp.contact_id = cc.id';
// is on behalf of an organization ?
$this->addElement('checkbox', 'is_organization', ts('Allow individuals to contribute and / or signup for membership on behalf of an organization?'), NULL, array('onclick' => "showHideByValue('is_organization',true,'for_org_text','table-row','radio',false);showHideByValue('is_organization',true,'for_org_option','table-row','radio',false);"));
- $allowCoreTypes = array_merge(array(
- 'Contact',
- 'Organization'
- ), CRM_Contact_BAO_ContactType::subTypes('Organization'));
- $allowSubTypes = array();
- $entities = array(
- array(
- 'entity_name' => 'contact_1',
- 'entity_type' => 'OrganizationModel',
- ),
+ //CRM-15787 - If applicable, register 'membership_1'
+ $member = CRM_Member_BAO_Membership::getMembershipBlock($this->_id);
+ $coreTypes = array('Contact', 'Organization');
+
+ $entities[] = array(
+ 'entity_name' => array ('contact_1'),
+ 'entity_type' => 'OrganizationModel',
);
- $allowCoreTypes = array_merge($coreTypes, CRM_Contact_BAO_ContactType::subTypes('Organization'));
+ if ($member && $member['is_active']) {
+ $coreTypes[] = 'Membership';
+ $entities[] = array(
+ 'entity_name' => array ('membership_1'),
+ 'entity_type' => 'MembershipModel',
+ );
+ }
++
++ $allowCoreTypes = array_merge($coreTypes,
++ CRM_Contact_BAO_ContactType::subTypes('Organization'));
+ $allowSubTypes = array();
+
$this->addProfileSelector('onbehalf_profile_id', ts('Organization Profile'), $allowCoreTypes, $allowSubTypes, $entities);
- $options = array();
+ $options = array();
$options[] = $this->createElement('radio', NULL, NULL, ts('Optional'), 1);
$options[] = $this->createElement('radio', NULL, NULL, ts('Required'), 2);
$this->addGroup($options, 'is_for_organization', ts(''));