From 7b38453398c11e73f2d35cfdb6135e3c2586bbd2 Mon Sep 17 00:00:00 2001 From: Yaraslau Kavaliou Date: Wed, 30 Aug 2023 19:14:16 +0300 Subject: [PATCH] feat: Add DeliveryItemTypeRepository service --- .../DeliveryItemTypeRepository.conf.php | 3 + model/Container/TestQtiServiceProvider.php | 2 + models/classes/DeliveryItemTypeRepository.php | 63 +++++++++++++++++++ ...teractionPostProcessingServiceProvider.php | 2 +- 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 config/default/DeliveryItemTypeRepository.conf.php create mode 100644 models/classes/DeliveryItemTypeRepository.php diff --git a/config/default/DeliveryItemTypeRepository.conf.php b/config/default/DeliveryItemTypeRepository.conf.php new file mode 100644 index 0000000000..4cb2ed46b8 --- /dev/null +++ b/config/default/DeliveryItemTypeRepository.conf.php @@ -0,0 +1,3 @@ +setOption(self::OPTION_DEFAULT_ITEM_TYPE, $type); + } + + /** + * Gets the default item type the viewer should manage + * @return string|bool + */ + public function getDefaultItemType() + { + if ($this->hasOption(self::OPTION_DEFAULT_ITEM_TYPE)) { + return $this->getOption(self::OPTION_DEFAULT_ITEM_TYPE); + } + + return false; + } + + /** + * Gets the type of item the viewer should manage + * @todo determine the item type from the $resultIdentifier + * @param string $resultIdentifier + * @return string + */ + public function getDeliveryItemType($resultIdentifier) + { + return $this->getDefaultItemType(); + } +} diff --git a/models/classes/render/CustomInteraction/ServiceProvider/CustomInteractionPostProcessingServiceProvider.php b/models/classes/render/CustomInteraction/ServiceProvider/CustomInteractionPostProcessingServiceProvider.php index 9e018ba6e8..a701fee2d4 100644 --- a/models/classes/render/CustomInteraction/ServiceProvider/CustomInteractionPostProcessingServiceProvider.php +++ b/models/classes/render/CustomInteraction/ServiceProvider/CustomInteractionPostProcessingServiceProvider.php @@ -27,7 +27,6 @@ use oat\taoQtiTest\models\classes\render\CustomInteraction\CustomInteractionPostProcessorAllocator; use oat\taoQtiTest\models\classes\render\CustomInteraction\PostProcessor\TextReaderPostProcessor; use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator; - use function Symfony\Component\DependencyInjection\Loader\Configurator\service; class CustomInteractionPostProcessingServiceProvider implements ContainerServiceProviderInterface @@ -49,5 +48,6 @@ public function __invoke(ContainerConfigurator $configurator): void ->args([ [TextReaderPostProcessor::INTERACTION_IDENTIFIER => service(TextReaderPostProcessor::class)] ]); + } }