You are here

class CourseCreditCertificateMapper in Certificate 4.x

Plugin annotation


@CertificateMapper(
 id = "course_credit_awarded",
 label = @Translation("Awarded course credit"),
 description = @Translation("Using this mapping will award a certificate based on the credit type the user claimed after completing a course. You may set up eligibility for credit types on the credit types page."),
 required = {"course_credit"}
)

Hierarchy

Expanded class hierarchy of CourseCreditCertificateMapper

File

src/Plugin/certificate/CertificateMapper/CourseCreditCertificateMapper.php, line 19

Namespace

Drupal\certificate\Plugin\certificate\CertificateMapper
View source
class CourseCreditCertificateMapper extends CertificateMapperBase {

  /**
   * {@inheritdoc}
   */
  public function getMapKeys() {
    $options = [];
    $credits = CourseCreditType::loadMultiple();
    $credit_types = Drupal::entityTypeManager()
      ->getStorage('course_credit_type')
      ->loadByProperties([
      'status' => 1,
    ]);
    foreach ($credit_types as $key => $type) {
      $options[$key] = $type
        ->label();
    }
    return $options;
  }

  /**
   * Check if the learner is eligible based on awarded credit in the course
   *
   * {@inheritdoc}
   */
  public function processMapping(ContentEntityInterface $entity, AccountInterface $account) {
    if (Drupal::moduleHandler()
      ->moduleExists('course_credit')) {
      $options = [];
      $enrollment = $entity
        ->getEnrollment($account);
      $awarded = $enrollment
        ->get('course_credit_awarded')
        ->referencedEntities();
      foreach ($awarded as $credit) {
        $credit_type = $credit
          ->get('type')
          ->referencedEntities()[0];
        $options[] = $credit_type
          ->id();
      }
      return $options;
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CertificateMapperBase::hasDependencies public function
CourseCreditCertificateMapper::getMapKeys public function Get a list of map keys. Overrides CertificateMapperBase::getMapKeys
CourseCreditCertificateMapper::processMapping public function Check if the learner is eligible based on awarded credit in the course Overrides CertificateMapperBase::processMapping
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 2
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 98