public function LongAnswerActivityAnswer::getScore in Opigno module 3.x
Same name and namespace in other branches
- 8 ActivityTypes/opigno_long_answer/src/Plugin/ActivityAnswer/LongAnswerActivityAnswer.php \Drupal\opigno_long_answer\Plugin\ActivityAnswer\LongAnswerActivityAnswer::getScore()
Score logic for specified activity.
Overrides ActivityAnswerPluginBase::getScore
File
- ActivityTypes/
opigno_long_answer/ src/ Plugin/ ActivityAnswer/ LongAnswerActivityAnswer.php, line 37
Class
- LongAnswerActivityAnswer
- Class LongAnswerActivityAnswer.
Namespace
Drupal\opigno_long_answer\Plugin\ActivityAnswerCode
public function getScore(OpignoAnswerInterface $answer) {
// Set default max score.
$score = 10;
$activity = $answer
->getActivity();
$method = $activity
->get('opigno_evaluation_method')->value;
if ($method == 0) {
// Get max score for activity.
$db_connection = \Drupal::service('database');
$score_query = $db_connection
->select('opigno_module_relationship', 'omr')
->fields('omr', [
'max_score',
])
->condition('omr.parent_id', $answer
->getModule()
->id())
->condition('omr.parent_vid', $answer
->getModule()
->getRevisionId())
->condition('omr.child_id', $activity
->id())
->condition('omr.child_vid', $activity
->getRevisionId());
$score_result = $score_query
->execute()
->fetchField();
if ($score_result) {
$score = $score_result;
}
}
return $score;
}