You are here

class RedhenEngagement in RedHen CRM 7

The class used for note entities.

Hierarchy

Expanded class hierarchy of RedhenEngagement

1 string reference to 'RedhenEngagement'
redhen_engagement_entity_info in modules/redhen_engagement/redhen_engagement.module
Implements hook_entity_info().

File

modules/redhen_engagement/lib/redhen_engagement.entity.inc, line 11
RedhenEngagement entity classes

View source
class RedhenEngagement extends Entity {
  public $engagement_id = NULL, $type = 'engagement', $description, $engagement_score, $contact_id, $source_entity_type, $source_entity_id, $author_uid, $created;

  /**
   * Override parent constructor.
   *
   * @param array $values
   *   Associative array of entity values.
   */
  public function __construct(array $values = array()) {
    parent::__construct($values, 'redhen_engagement');
    if (!$this->engagement_id) {
      $this->created = REQUEST_TIME;
    }
  }

  /**
   * Override label() to add note label.
   */
  public function label() {
    return t('Engagement !id', array(
      '!id' => $this->engagement_id,
    ));
  }

  /**
   * Return the URI for an engagement.
   */
  protected function defaultUri() {
    return array(
      'path' => 'redhen/engagement/' . $this->engagement_id,
    );
  }

  /**
   * Override parent to update a contacts engagement score.
   *
   * @throws Exception
   */
  public function save() {
    $transaction = db_transaction();
    $ret = entity_get_controller($this->entityType)
      ->save($this, $transaction);
    if ($ret) {
      try {
        $contact = redhen_contact_load($this->contact_id);
        $contact->engagement_score = redhen_engagement_contact_score($contact);
        $contact
          ->save();
      } catch (Exception $e) {
        $transaction
          ->rollback();
        watchdog_exception($this->entityType, $e);
        throw $e;
      }
    }
    return $ret;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Entity::$defaultLabel protected property 1
Entity::$entityInfo protected property
Entity::$entityType protected property
Entity::$idKey protected property
Entity::$wrapper protected property
Entity::buildContent public function Builds a structured array representing the entity's content. Overrides EntityInterface::buildContent 1
Entity::bundle public function Returns the bundle of the entity. Overrides EntityInterface::bundle
Entity::defaultLabel protected function Defines the entity label if the 'entity_class_label' callback is used. 1
Entity::delete public function Permanently deletes the entity. Overrides EntityInterface::delete
Entity::entityInfo public function Returns the info of the type of the entity. Overrides EntityInterface::entityInfo
Entity::entityType public function Returns the type of the entity. Overrides EntityInterface::entityType
Entity::export public function Exports the entity. Overrides EntityInterface::export
Entity::getTranslation public function Gets the raw, translated value of a property or field. Overrides EntityInterface::getTranslation
Entity::hasStatus public function Checks if the entity has a certain exportable status. Overrides EntityInterface::hasStatus
Entity::identifier public function Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface::identifier
Entity::internalIdentifier public function Returns the internal, numeric identifier. Overrides EntityInterface::internalIdentifier
Entity::isDefaultRevision public function Checks whether the entity is the default revision. Overrides EntityInterface::isDefaultRevision
Entity::setUp protected function Set up the object instance on construction or unserializiation.
Entity::uri public function Returns the uri of the entity just as entity_uri(). Overrides EntityInterface::uri
Entity::view public function Generate an array for rendering the entity. Overrides EntityInterface::view
Entity::wrapper public function Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface::wrapper
Entity::__sleep public function Magic method to only serialize what's necessary.
Entity::__wakeup public function Magic method to invoke setUp() on unserialization.
RedhenEngagement::$engagement_id public property
RedhenEngagement::defaultUri protected function Return the URI for an engagement. Overrides Entity::defaultUri
RedhenEngagement::label public function Override label() to add note label. Overrides Entity::label
RedhenEngagement::save public function Override parent to update a contacts engagement score. Overrides Entity::save
RedhenEngagement::__construct public function Override parent constructor. Overrides Entity::__construct