+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
*/
/**
- * File for the CiviCRM APIv3 relationship functions
+ * This api exposes CiviCRM relationships.
*
* @package CiviCRM_APIv3
- * @subpackage API_Relationship
- *
- * @copyright CiviCRM LLC (c) 2004-2014
- * @version $Id: Relationship.php 30486 2010-11-02 16:12:09Z shot $
*/
/**
* Adjust Metadata for Create action.
*
* @param array $params
- * Array or parameters determined by getfields.
+ * Array of parameters determined by getfields.
*/
function _civicrm_api3_relationship_create_spec(&$params) {
$params['contact_id_a']['api.required'] = 1;
}
}
}
+
+/**
+ * Hack to ensure inherited membership got created/deleted on
+ * relationship add/delete respectively.
+ *
+ * @param array $params
+ * Array per getfields metadata.
+ *
+ * @return array
+ */
+function civicrm_api3_relationship_setvalue($params) {
+ require_once 'api/v3/Generic/Setvalue.php';
+ $result = civicrm_api3_generic_setValue(array("entity" => 'Relationship', 'params' => $params));
+
+ if (empty($result['is_error']) && CRM_Utils_String::munge($params['field']) == 'is_active') {
+ $action = CRM_Core_Action::DISABLE;
+ if ($params['value'] == TRUE) {
+ $action = CRM_Core_Action::ENABLE;
+ }
+ CRM_Contact_BAO_Relationship::disableEnableRelationship($params['id'], $action);
+ }
+ return $result;
+}