class CourseObjectFulfillment in Course 7
Same name and namespace in other branches
- 6 includes/course_object.core.inc \CourseObjectFulfillment
- 7.2 includes/CourseObjectFulfillment.inc \CourseObjectFulfillment
Parent class for course object fulfillment.
Represents the fulfillment record in the database.
Hierarchy
- class \Entity implements EntityInterface- class \CourseHandler- class \CourseObjectFulfillment
 
 
- class \CourseHandler
Expanded class hierarchy of CourseObjectFulfillment
2 string references to 'CourseObjectFulfillment'
- CourseObjectFulfillmentController::create in includes/CourseObjectFulfillmentController.inc 
- Overrides EntityAPIController::create().
- course_entity_info in ./course.module 
- Implements hook_entity_info().
File
- includes/CourseObjectFulfillment.inc, line 9 
View source
class CourseObjectFulfillment extends CourseHandler {
  /**
   * Is this fulfillment complete?
   *
   * @return bool
   */
  function isComplete() {
    return (bool) $this
      ->getOption('complete');
  }
  /**
   * Set this fulfillment complete.
   *
   * @param bool $complete
   *   Set to 0 to un-complete, 1 or omit to complete.
   *
   * @return CourseObjectFulfillment
   */
  function setComplete($complete = 1) {
    if (!$this
      ->getOption('date_completed')) {
      $this
        ->setOption('date_completed', REQUEST_TIME);
    }
    return $this
      ->setOption('complete', $complete);
  }
  /**
   * Set this fulfillment's grade.
   *
   * @param float $grade
   *
   * @return CourseObjectFulfillment
   */
  function setGrade($grade) {
    return $this
      ->setOption('grade_result', $grade);
  }
  /**
   * Get this fulfillment's grade.
   *
   * @return float
   *   A float value of the user's grade for this fulfillment.
   */
  function getGrade() {
    return $this
      ->getOption('grade_result');
  }
  /**
   * Get this fulfillment's course object.
   *
   * @return CourseObject
   */
  function getCourseObject() {
    return entity_load_single('course_object', $this->coid);
  }
  /**
   * Track course after saving fulfillment.
   */
  public function save() {
    // Make sure the user is enrolled first.
    if (course_enrollment_check($this
      ->getCourseObject()
      ->getCourseNid(), $this->uid)) {
      parent::save();
      // Re-evaluate requirements.
      $account = user_load($this->uid);
      $this
        ->getCourseObject()
        ->getCourse()
        ->track($account);
      return $this;
    }
    else {
      return FALSE;
    }
  }
  /**
   * Allow arbitrary data to be stored on the fulfillment, without explicitly
   * defining optionsDefinition() in a custom class.
   *
   * It is suggested that modules provide their own fulfillment classes and
   * specify the valid extra options through their own optionsDefinition(). See
   * CourseObjectWebformFulfillment for an example of this.
   */
  function optionsDefinition() {
    $options = get_object_vars($this);
    unset($options['entityInfo']);
    return $options;
  }
  /**
   * Get the instance ID. This could be the external component ID, a Node ID...
   *
   * @return string
   */
  function getInstanceId() {
    return $this
      ->getOption('instance');
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| CourseHandler:: | final public | function | Merge an array of options onto the existing options. | |
| CourseHandler:: | public | function | Get an array of access messages. | |
| CourseHandler:: | protected | function | Return an array of database fields. This determines what fields should be serialized instead of stored. | |
| CourseHandler:: | function | |||
| CourseHandler:: | public | function | Get an handler option's value. | |
| CourseHandler:: | public | function | Get an object's configuration. | 1 | 
| CourseHandler:: | public | function | Get the summary of an object's options. | 1 | 
| CourseHandler:: | public | function | Return a list of warning strings about this handler. | 1 | 
| CourseHandler:: | public | function | Handlers can declare a form. | 1 | 
| CourseHandler:: | private | function | Merge arrays with replace, not append. | |
| CourseHandler:: | public | function | Save data somewhere. | 1 | 
| CourseHandler:: | public | function | Validate? | 1 | 
| CourseHandler:: | public | function | Set an access message to be displayed along with the course object when it is in the outline. For example, "This activity will open on XYZ" or "Please complete Step 1 to take this activity." | |
| CourseHandler:: | public | function | Set an option for this handler. | |
| CourseHandler:: | final public | function | Set this entire handler's options. | |
| CourseHandler:: | function | Overrides Entity:: | 1 | |
| CourseObjectFulfillment:: | function | Get this fulfillment's course object. | ||
| CourseObjectFulfillment:: | function | Get this fulfillment's grade. | ||
| CourseObjectFulfillment:: | function | Get the instance ID. This could be the external component ID, a Node ID... | ||
| CourseObjectFulfillment:: | function | Is this fulfillment complete? | ||
| CourseObjectFulfillment:: | function | Allow arbitrary data to be stored on the fulfillment, without explicitly
defining optionsDefinition() in a custom class. Overrides CourseHandler:: | 3 | |
| CourseObjectFulfillment:: | public | function | Track course after saving fulfillment. Overrides CourseHandler:: | |
| CourseObjectFulfillment:: | function | Set this fulfillment complete. | ||
| CourseObjectFulfillment:: | function | Set this fulfillment's grade. | ||
| Entity:: | protected | property | 1 | |
| Entity:: | protected | property | ||
| Entity:: | protected | property | ||
| Entity:: | protected | property | ||
| Entity:: | protected | property | ||
| Entity:: | public | function | Builds a structured array representing the entity's content. Overrides EntityInterface:: | 1 | 
| Entity:: | public | function | Returns the bundle of the entity. Overrides EntityInterface:: | |
| Entity:: | protected | function | Defines the entity label if the 'entity_class_label' callback is used. | 1 | 
| Entity:: | protected | function | Override this in order to implement a custom default URI and specify 'entity_class_uri' as 'uri callback' hook_entity_info(). | |
| Entity:: | public | function | Permanently deletes the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the info of the type of the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the type of the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Exports the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Gets the raw, translated value of a property or field. Overrides EntityInterface:: | |
| Entity:: | public | function | Checks if the entity has a certain exportable status. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the entity identifier, i.e. the entities name or numeric id. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the internal, numeric identifier. Overrides EntityInterface:: | |
| Entity:: | public | function | Checks whether the entity is the default revision. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the label of the entity. Overrides EntityInterface:: | |
| Entity:: | protected | function | Set up the object instance on construction or unserializiation. | |
| Entity:: | public | function | Returns the uri of the entity just as entity_uri(). Overrides EntityInterface:: | |
| Entity:: | public | function | Generate an array for rendering the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Returns the EntityMetadataWrapper of the entity. Overrides EntityInterface:: | |
| Entity:: | public | function | Magic method to only serialize what's necessary. | |
| Entity:: | public | function | Magic method to invoke setUp() on unserialization. | 
