profile api test fixes (caching & case on entities)
[civicrm-core.git] / api / v3 / MembershipType.php
index 276a7991c34c7889a564d6d25876e2f4f4534bcc..2bffc3fe5d2d38f72fd3aabdb76bddb443fd7a43 100644 (file)
  * {getfields MembershipType_get}
  */
 function civicrm_api3_membership_type_create($params) {
-  $values = $params;
-  civicrm_api3_verify_mandatory($values, 'CRM_Member_DAO_MembershipType');
+  $ids['membershipType'] = CRM_Utils_Array::value('id', $params);
+  $ids['memberOfContact'] = CRM_Utils_Array::value('member_of_contact_id', $params);
+  $ids['contributionType'] = CRM_Utils_Array::value('financial_type_id', $params);
 
-  $ids['membershipType'] = CRM_Utils_Array::value('id', $values);
-  $ids['memberOfContact'] = CRM_Utils_Array::value('member_of_contact_id', $values);
-  $ids['contributionType'] = CRM_Utils_Array::value('financial_type_id', $values);
-
-  $membershipTypeBAO = CRM_Member_BAO_MembershipType::add($values, $ids);
+  $membershipTypeBAO = CRM_Member_BAO_MembershipType::add($params, $ids);
   $membershipType = array();
   _civicrm_api3_object_to_array($membershipTypeBAO, $membershipType[$membershipTypeBAO->id]);
   CRM_Member_PseudoConstant::membershipType(NULL, TRUE);
+  civicrm_api3('membership', 'getfields', array('cache_clear' => 1, 'fieldname' => 'membership_type_id'));
+  civicrm_api3('profile', 'getfields', array('action' => 'submit', 'cache_clear' => 1));
   return civicrm_api3_create_success($membershipType, $params, 'membership_type', 'create', $membershipTypeBAO);
 }