MigrationMoodle: Add task for lesson attempts - refs BT#15992

pull/3127/head
Angel Fernando Quiroz Campos 6 years ago
parent d03754ea03
commit 24db80b9f8
  1. 1
      plugin/migrationmoodle/admin.php
  2. 1
      plugin/migrationmoodle/lang/english.php
  3. 43
      plugin/migrationmoodle/src/Loader/UserLearnPathLessonAttemptLoader.php
  4. 48
      plugin/migrationmoodle/src/Task/UsersLearnPathsLessonAttemptsTask.php

@ -98,6 +98,7 @@ $menu = [
'users_learn_paths' => [
'users_learn_paths_lesson_timer',
'users_learn_paths_lesson_branch',
'users_learn_paths_lesson_attempts',
],
'users_scorms_view' => [
'users_scorms_progress',

@ -62,3 +62,4 @@ $strings['UsersLearnPathsLessonTimerTask'] = 'Lesson timer to start time of Lear
$strings['QuizzesScoresTask'] = 'Update quiz scores in learn path';
$strings['QuestionGapselectTask'] = 'Answers for gapselect questions';
$strings['UsersLearnPathsLessonBranchTask'] = 'Lesson branch to total time in learn paths documents';
$strings['UsersLearnPathsLessonAttemptsTask'] = 'Lesson attemprs to total time in learn paths quizzes';

@ -0,0 +1,43 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\PluginBundle\MigrationMoodle\Loader;
/**
* Class UserLearnPathLessonAttemptLoader.
*
* @package Chamilo\PluginBundle\MigrationMoodle\Loader
*/
class UserLearnPathLessonAttemptLoader extends UserLearnPathLessonBranchLoader
{
/**
* @param array $incomingData
*
* @throws \Doctrine\ORM\ORMException
* @throws \Doctrine\ORM\OptimisticLockException
* @throws \Doctrine\ORM\TransactionRequiredException
*
* @return int
*/
public function load(array $incomingData)
{
$em = \Database::getManager();
$itemViewId = parent::load($incomingData);
$itemView = $em->find('ChamiloCourseBundle:CLpItemView', $itemViewId);
if ((bool) $incomingData['is_correct']) {
$itemView->setScore(
$itemView->getMaxScore()
);
} else {
$itemView->setScore(0);
}
$em->persist($itemView);
$em->flush();
return $itemViewId;
}
}

@ -0,0 +1,48 @@
<?php
/* For licensing terms, see /license.txt */
namespace Chamilo\PluginBundle\MigrationMoodle\Task;
use Chamilo\PluginBundle\MigrationMoodle\Extractor\LoadedUsersFilterExtractor;
use Chamilo\PluginBundle\MigrationMoodle\Loader\UserLearnPathLessonAttemptLoader;
/**
* Class UsersLearnPathsLessonAttemptsTask.
*
* @package Chamilo\PluginBundle\MigrationMoodle\Task
*/
class UsersLearnPathsLessonAttemptsTask extends UsersLearnPathsLessonBranchTask
{
/**
* @inheritDoc
*/
public function getExtractConfiguration()
{
return [
'class' => LoadedUsersFilterExtractor::class,
'query' => "SELECT * FROM mdl_lesson_attempts",
];
}
/**
* @inheritDoc
*/
public function getTransformConfiguration()
{
$config = parent::getTransformConfiguration();
$config['map']['is_correct'] = 'correct';
return $config;
}
/**
* @inheritDoc
*/
public function getLoadConfiguration()
{
return [
'class' => UserLearnPathLessonAttemptLoader::class,
];
}
}
Loading…
Cancel
Save