You are here

class RoomsUnitController in Rooms - Drupal Booking for Hotels, B&Bs and Vacation Rentals 7

The Controller for RoomsUnit entities

Hierarchy

Expanded class hierarchy of RoomsUnitController

1 string reference to 'RoomsUnitController'
rooms_unit_entity_info in modules/rooms_unit/rooms_unit.module
Implements hook_entity_info().

File

modules/rooms_unit/rooms_unit.module, line 778
Manage units - Units are things that can be booked on a nightly basis (e.g. rooms - but also villas bungalows, etc).

View source
class RoomsUnitController extends EntityAPIController {
  public function __construct($entityType) {
    parent::__construct($entityType);
  }

  /**
   * Creates a bookable unit.
   *
   * @param array $values
   *   The properties for the new unit type.
   *
   * @return RoomsUnit
   *   A unit object with all default fields initialized.
   */
  public function create(array $values = array()) {
    $unit_type = rooms_unit_type_load($values['type'], TRUE);

    // Add values that are specific to our Room.
    $values += array(
      'unit_id' => '',
      'is_new' => TRUE,
      'title' => '',
      'created' => '',
      'changed' => '',
      'base_price' => isset($unit_type->data['base_price']) ? $unit_type->data['base_price'] : 0,
      'min_sleeps' => isset($unit_type->data['min_sleeps']) ? $unit_type->data['min_sleeps'] : 0,
      'max_sleeps' => isset($unit_type->data['max_sleeps']) ? $unit_type->data['max_sleeps'] : 0,
      'min_children' => isset($unit_type->data['min_children']) ? $unit_type->data['min_children'] : 0,
      'max_children' => isset($unit_type->data['max_children']) ? $unit_type->data['max_children'] : 0,
      'data' => array(
        'cot_surcharge' => isset($unit_type->data['cot_surcharge']) ? $unit_type->data['cot_surcharge'] : 0,
      ),
    );
    $unit = parent::create($values);
    return $unit;
  }

  /**
   * Overriding the buildContent function to add entity specific fields.
   */
  public function buildContent($entity, $view_mode = 'full', $langcode = NULL, $content = array()) {
    $content = parent::buildContent($entity, $view_mode, $langcode, $content);
    $content['state'] = array(
      '#markup' => t('State') . ': ' . $entity->bookable . '<br/>',
    );
    $content['type'] = array(
      '#markup' => t('Type') . ': ' . $entity->type . '<br/>',
    );
    $content['sleeps'] = array(
      '#markup' => t('Sleeps') . ': ' . $entity->max_sleeps . '<br/>',
    );
    if (isset($entity->data['bed_arrangement'])) {
      $content['bed_arrangement'] = array(
        '#markup' => t('Double beds') . ': ' . $entity->data['bed_arrangement']['doubles'] . '<br/>' . t('Single beds') . ': ' . $entity->data['bed_arrangement']['singles'] . '<br/>',
      );
    }
    return $content;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DrupalDefaultEntityController::$cache protected property Whether this entity type should use the static cache.
DrupalDefaultEntityController::$entityCache protected property Static cache of entities, keyed by entity ID.
DrupalDefaultEntityController::$entityInfo protected property Array of information about the entity.
DrupalDefaultEntityController::$entityType protected property Entity type for this controller instance.
DrupalDefaultEntityController::$hookLoadArguments protected property Additional arguments to pass to hook_TYPE_load().
DrupalDefaultEntityController::$idKey protected property Name of the entity's ID field in the entity database table.
DrupalDefaultEntityController::$revisionKey protected property Name of entity's revision database table field, if it supports revisions.
DrupalDefaultEntityController::$revisionTable protected property The table that stores revisions, if the entity supports revisions.
DrupalDefaultEntityController::attachLoad protected function Attaches data to entities upon loading. 4
DrupalDefaultEntityController::cacheGet protected function Gets entities from the static cache. 1
DrupalDefaultEntityController::cacheSet protected function Stores entities in the static entity cache.
DrupalDefaultEntityController::cleanIds protected function Ensures integer entity IDs are valid.
DrupalDefaultEntityController::filterId protected function Callback for array_filter that removes non-integer IDs.
EntityAPIController::$bundleKey protected property
EntityAPIController::$cacheComplete protected property
EntityAPIController::$defaultRevisionKey protected property
EntityAPIController::buildQuery protected function Overrides DrupalDefaultEntityController::buildQuery(). Overrides DrupalDefaultEntityController::buildQuery 1
EntityAPIController::delete public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::delete 1
EntityAPIController::deleteRevision public function Implements EntityAPIControllerRevisionableInterface::deleteRevision(). Overrides EntityAPIControllerRevisionableInterface::deleteRevision
EntityAPIController::export public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::export 1
EntityAPIController::import public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::import
EntityAPIController::invoke public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::invoke 1
EntityAPIController::load public function Overridden. Overrides DrupalDefaultEntityController::load 1
EntityAPIController::query public function Builds and executes the query for loading.
EntityAPIController::renderEntityProperty protected function Renders a single entity property.
EntityAPIController::resetCache public function Overrides DrupalDefaultEntityController::resetCache(). Overrides DrupalDefaultEntityController::resetCache 1
EntityAPIController::save public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::save 1
EntityAPIController::saveRevision protected function Saves an entity revision.
EntityAPIController::view public function Implements EntityAPIControllerInterface. Overrides EntityAPIControllerInterface::view 1
RoomsUnitController::buildContent public function Overriding the buildContent function to add entity specific fields. Overrides EntityAPIController::buildContent
RoomsUnitController::create public function Creates a bookable unit. Overrides EntityAPIController::create
RoomsUnitController::__construct public function Overridden. Overrides EntityAPIController::__construct