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. |