You are here

public function RedhenContactTypeController::delete in RedHen CRM 7

Delete one or more contact types.

Parameters

array $ids: Array of contact type IDs.

DatabaseTransaction $transaction: Optionally a DatabaseTransaction object to use. Allows overrides to pass in their transaction object.

bool $delete_entities: If true, all redhen_contact entities of the type being deleted will also be deleted.

Overrides EntityAPIControllerExportable::delete

File

modules/redhen_contact/lib/redhen_contact_type.controller.inc, line 28
The controller for the contact type entity containing the CRUD operations.

Class

RedhenContactTypeController
RedhenContactTypeController class.

Code

public function delete($ids, DatabaseTransaction $transaction = NULL, $delete_entities = FALSE) {
  $transaction = isset($transaction) ? $transaction : db_transaction();
  try {
    if ($delete_entities) {
      $query = new EntityFieldQuery();
      $result = $query
        ->entityCondition('entity_type', 'redhen_contact')
        ->entityCondition('bundle', $ids, 'IN')
        ->execute();
      if ($result) {
        redhen_contact_delete_multiple(array_keys($result['redhen_contact']));
      }
    }
    parent::delete($ids, $transaction);
  } catch (Exception $e) {
    $transaction
      ->rollback();
    watchdog_exception($this->entityType, $e);
    throw $e;
  }
}