--- /dev/null
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | CiviCRM version 4.6 |
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+ +--------------------------------------------------------------------+
+ | This file is a part of CiviCRM. |
+ | |
+ | CiviCRM is free software; you can copy, modify, and distribute it |
+ | under the terms of the GNU Affero General Public License |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
+ | |
+ | CiviCRM is distributed in the hope that it will be useful, but |
+ | WITHOUT ANY WARRANTY; without even the implied warranty of |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
+ | See the GNU Affero General Public License for more details. |
+ | |
+ | You should have received a copy of the GNU Affero General Public |
+ | License and the CiviCRM Licensing Exception along |
+ | with this program; if not, contact CiviCRM LLC |
+ | at info[AT]civicrm[DOT]org. If you have questions about the |
+ | GNU Affero General Public License or the licensing of CiviCRM, |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC (c) 2004-2015
+ */
+class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
+
+}
--- /dev/null
+<?php
+/*
+ --------------------------------------------------------------------
+ | CiviCRM version 4.6 |
+ --------------------------------------------------------------------
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+ --------------------------------------------------------------------
+ | This file is a part of CiviCRM. |
+ | |
+ | CiviCRM is free software; you can copy, modify, and distribute it |
+ | under the terms of the GNU Affero General Public License |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
+ | |
+ | CiviCRM is distributed in the hope that it will be useful, but |
+ | WITHOUT ANY WARRANTY; without even the implied warranty of |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
+ | See the GNU Affero General Public License for more details. |
+ | |
+ | You should have received a copy of the GNU Affero General Public |
+ | License and the CiviCRM Licensing Exception along |
+ | with this program; if not, contact CiviCRM LLC |
+ | at info[AT]civicrm[DOT]org. If you have questions about the |
+ | GNU Affero General Public License or the licensing of CiviCRM, |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ --------------------------------------------------------------------
+ */
+
+/**
+ * This api exposes CiviCRM EntityBatch records.
+ *
+ * Use this api to add/remove entities from a batch.
+ * To create/update/delete the batches themselves, use the Batch api.
+ *
+ * @package CiviCRM_APIv3
+ */
+
+/**
+ * Get entity batches.
+ *
+ * @param array $params
+ *
+ * @return array
+ */
+function civicrm_api3_entity_batch_get($params) {
+ return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+}
+
+/**
+ * Adjust Metadata for Create action.
+ *
+ * The metadata is used for setting defaults, documentation & validation.
+ *
+ * @param array $params
+ * Array of parameters determined by getfields.
+ */
+function _civicrm_api3_entity_batch_create_spec(&$params) {
+ $params['entity_id']['api.required'] = 1;
+ $params['batch_id']['api.required'] = 1;
+}
+
+/**
+ * Create an entity batch.
+ *
+ * @param array $params
+ *
+ * @return array
+ */
+function civicrm_api3_entity_batch_create($params) {
+ return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+}
+
+/**
+ * Mark entity batch as removed.
+ *
+ * @param array $params
+ *
+ * @return array
+ */
+function civicrm_api3_entity_batch_delete($params) {
+ return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+}
return $contributionPage;
}
+ /**
+ * Create a sample batch.
+ */
+ public function batchCreate() {
+ $params = $this->_params;
+ $params['name'] = $params['title'] = 'Batch_433397';
+ $params['status_id'] = 1;
+ $result = $this->callAPISuccess('batch', 'create', $params);
+ return $result['id'];
+ }
+
/**
* Create Tag.
*
$this->useTransaction(TRUE);
}
- /**
- * Create a sample batch.
- */
- public function batchCreate() {
- $params = $this->_params;
- $params['name'] = $params['title'] = 'Batch_433397';
- $params['status_id'] = 1;
- $result = $this->callAPISuccess('batch', 'create', $params);
- return $result['id'];
- }
-
/**
* Test civicrm_batch_get - success expected.
*/
--- /dev/null
+<?php
+/*
+ --------------------------------------------------------------------
+ | CiviCRM version 4.6 |
+ --------------------------------------------------------------------
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+ --------------------------------------------------------------------
+ | This file is a part of CiviCRM. |
+ | |
+ | CiviCRM is free software; you can copy, modify, and distribute it |
+ | under the terms of the GNU Affero General Public License |
+ | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
+ | |
+ | CiviCRM is distributed in the hope that it will be useful, but |
+ | WITHOUT ANY WARRANTY; without even the implied warranty of |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
+ | See the GNU Affero General Public License for more details. |
+ | |
+ | You should have received a copy of the GNU Affero General Public |
+ | License and the CiviCRM Licensing Exception along |
+ | with this program; if not, contact CiviCRM LLC |
+ | at info[AT]civicrm[DOT]org. If you have questions about the |
+ | GNU Affero General Public License or the licensing of CiviCRM, |
+ | see the CiviCRM license FAQ at http://civicrm.org/licensing |
+ --------------------------------------------------------------------
+ */
+
+require_once 'CiviTest/CiviUnitTestCase.php';
+
+
+/**
+ * Test APIv3 civicrm_entity_batch_* functions
+ *
+ * @package CiviCRM_APIv3
+ */
+class api_v3_EntityBatchTest extends CiviUnitTestCase {
+
+ protected $_apiversion = 3;
+ protected $params;
+ protected $id;
+ protected $_entity;
+
+ public $DBResetRequired = FALSE;
+
+ public function setUp() {
+ parent::setUp();
+ $this->useTransaction(TRUE);
+
+ $entityParams = array('contact_id' => 1);
+
+ $this->_entity = 'EntityBatch';
+ $this->_entityID = $this->contributionCreate($entityParams);
+ $this->_batchID = $this->batchCreate();
+ $this->params = array(
+ 'entity_id' => $this->_entityID,
+ 'batch_id' => $this->_batchID,
+ 'entity_table' => 'civicrm_financial_trxn',
+ );
+ }
+
+ public function testCreateEntityBatch() {
+ $result = $this->callAPIAndDocument($this->_entity, 'create', $this->params, __FUNCTION__, __FILE__);
+ $this->assertEquals(1, $result['count']);
+ $this->getAndCheck($this->params, $result['id'], $this->_entity);
+ $this->assertNotNull($result['values'][$result['id']]['id']);
+ }
+
+ public function testGetEntityBatch() {
+ $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+ $result = $this->callAPIAndDocument($this->_entity, 'get', $this->params, __FUNCTION__, __FILE__);
+ $this->assertEquals(1, $result['count']);
+ $this->assertNotNull($result['values'][$result['id']]['id']);
+ $this->callAPISuccess($this->_entity, 'delete', array('id' => $result['id']));
+ }
+
+ public function testDeleteEntityBatch() {
+ $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+ $deleteParams = array('id' => $result['id']);
+ $result = $this->callAPIAndDocument($this->_entity, 'delete', $deleteParams, __FUNCTION__, __FILE__);
+ $checkDeleted = $this->callAPISuccess($this->_entity, 'get', array());
+ $this->assertEquals(0, $checkDeleted['count']);
+ }
+
+}
<comment>Batch entities (Contributions, Participants, Contacts) to a batch.</comment>
<field>
<name>id</name>
+ <title>EntityBatch ID</title>
<type>int unsigned</type>
<required>true</required>
<comment>primary key</comment>
</primaryKey>
<field>
<name>entity_table</name>
+ <title>EntityBatch Table</title>
<type>varchar</type>
<length>64</length>
<comment>physical tablename for entity being joined to file, e.g. civicrm_contact</comment>
</field>
<field>
<name>entity_id</name>
+ <title>Entity ID</title>
<type>int unsigned</type>
<required>true</required>
<comment>FK to entity table specified in entity_table column.</comment>
</index>
<field>
<name>batch_id</name>
+ <title>Batch ID</title>
<type>int unsigned</type>
<required>true</required>
<comment>FK to civicrm_batch</comment>