CRM-11864 add ProfileSelector js widget to on-half-of config
authormzd <mzd@ginkgostreet.com>
Wed, 30 Apr 2014 01:42:48 +0000 (21:42 -0400)
committermzd <mzd@ginkgostreet.com>
Wed, 30 Apr 2014 15:23:02 +0000 (11:23 -0400)
[in-progress]

----------------------------------------
* CRM-11864: Embed form-designer in event and contribution UIs
  https://issues.civicrm.org/jira/browse/CRM-11864

CRM/Contribute/Form/ContributionPage/Settings.php

index 528d9066e84a7f379910e1cf52c9a4509c4fe5bf..aa67651de17efc94250887ec2e1f5ef2f033f6e2 100644 (file)
@@ -144,7 +144,7 @@ class CRM_Contribute_Form_ContributionPage_Settings extends CRM_Contribute_Form_
     $required = array('Contact', 'Organization');
     $optional = array('Contribution', 'Membership');
 
-    $profiles = CRM_Core_BAO_UFGroup::getValidProfiles($required, $optional);
+/*    $profiles = CRM_Core_BAO_UFGroup::getValidProfiles($required, $optional);
     //Check profiles for Organization subtypes
     $contactSubType = CRM_Contact_BAO_ContactType::subTypes('Organization');
     foreach ($contactSubType as $type) {
@@ -169,12 +169,16 @@ class CRM_Contribute_Form_ContributionPage_Settings extends CRM_Contribute_Form_
     if (empty($profiles)) {
       $invalidProfiles = TRUE;
       $this->assign('invalidProfiles', $invalidProfiles);
-    }
-
-    $this->add('select', 'onbehalf_profile_id', ts('Organization Profile'),
-      array(
-        '' => ts('- select -')) + $profiles
-    );
+*/
+   $profile_entities = array();
+   foreach (array_merge($required, $optional) as $entity) {
+       if ($entity = 'Contact') continue;
+       // as needed for CRM_UF_Page::getSchema():
+       $profile_entities[] = array('entity_name' => strtolower($entity).'_entity', 'entity_type' => $entity.'Model');
+   }
+
+   $this->addProfileSelector('onbehalf_profile_id', ts('Organization Profile'),
+        array_merge($required, $optional), array(), $profile_entities);
 
     $options   = array();
     $options[] = $this->createElement('radio', NULL, NULL, ts('Optional'), 1);