diff --git a/composer.json b/composer.json
index ea195ee8..859ca395 100755
--- a/composer.json
+++ b/composer.json
@@ -59,7 +59,6 @@
"guzzlehttp/psr7": "< 2.0"
},
"suggest": {
- "dpfaffenbauer/process-manager": "Allows to start Imports/Exports from within Pimcore UI and also tracks Status of current processes.",
"guzzlehttp/psr7": "For downloading external data like Images"
},
"autoload": {
diff --git a/phpstan.neon b/phpstan.neon
index a26af1e0..dd63de65 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -9,7 +9,6 @@ parameters:
- '**/DependencyInjection/Configuration.php'
- '**/Migrations/Version*.php'
# Ignore cause the file uses external dependencies and will only be used if those dependencies are met
- - '**/ProcessManager/*.php'
- '**/CoreShop/*.php'
- '**/Dao.php'
diff --git a/src/DataDefinitionsBundle/DependencyInjection/DataDefinitionsExtension.php b/src/DataDefinitionsBundle/DependencyInjection/DataDefinitionsExtension.php
index 87f79b72..b8a14040 100644
--- a/src/DataDefinitionsBundle/DependencyInjection/DataDefinitionsExtension.php
+++ b/src/DataDefinitionsBundle/DependencyInjection/DataDefinitionsExtension.php
@@ -77,14 +77,6 @@ public function load(array $configs, ContainerBuilder $container)
$loader->load('guzzle_psr7.yml');
}
- if (array_key_exists('ProcessManagerBundle', $bundles)) {
- $config['pimcore_admin']['js']['process_manager_import'] = '/bundles/datadefinitions/pimcore/js/process_manager/import_definitions.js';
- $config['pimcore_admin']['js']['process_manager_export'] = '/bundles/datadefinitions/pimcore/js/process_manager/export_definitions.js';
- $config['pimcore_admin']['js']['process_manager_export_contextmenu'] = '/bundles/datadefinitions/pimcore/js/process_manager/export_contextmenu.js';
- $config['pimcore_admin']['js']['process_manager_export_search'] = '/bundles/datadefinitions/pimcore/js/process_manager/export_search.js';
- $loader->load('process_manager.yml');
- }
-
$this->registerDependantBundles('coreshop', [PimcoreSimpleBackendSearchBundle::class], $container);
$this->registerPimcoreResources('data_definitions', $config['pimcore_admin'], $container);
diff --git a/src/DataDefinitionsBundle/Form/Type/ProcessManager/ExportDefinitionObjectStartupForm.php b/src/DataDefinitionsBundle/Form/Type/ProcessManager/ExportDefinitionObjectStartupForm.php
deleted file mode 100644
index 83821858..00000000
--- a/src/DataDefinitionsBundle/Form/Type/ProcessManager/ExportDefinitionObjectStartupForm.php
+++ /dev/null
@@ -1,48 +0,0 @@
-add('root', TextType::class, [
- 'required' => false,
- ])
- ->add('query', TextType::class, [
- 'required' => false,
- ])
- ->add('only_direct_children', CheckboxType::class, [
- 'required' => false,
- ])
- ->add('condition', TextType::class, [
- 'required' => false,
- ])
- ->add('ids', CollectionType::class, [
- 'allow_add' => true,
- 'entry_type' => TextType::class,
- 'required' => false,
- ])
- ;
- }
-}
diff --git a/src/DataDefinitionsBundle/Form/Type/ProcessManager/ImportDefinitionsType.php b/src/DataDefinitionsBundle/Form/Type/ProcessManager/ImportDefinitionsType.php
deleted file mode 100644
index b8b873bd..00000000
--- a/src/DataDefinitionsBundle/Form/Type/ProcessManager/ImportDefinitionsType.php
+++ /dev/null
@@ -1,31 +0,0 @@
-add('definition', TextType::class)
- ->add('params', TextType::class)
- ;
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/AbstractProcessManagerListener.php b/src/DataDefinitionsBundle/ProcessManager/AbstractProcessManagerListener.php
deleted file mode 100644
index fcc4015d..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/AbstractProcessManagerListener.php
+++ /dev/null
@@ -1,191 +0,0 @@
-processFactory = $processFactory;
- $this->processLogger = $processLogger;
- $this->repository = $repository;
- $this->eventDispatcher = $eventDispatcher;
- }
-
- /**
- * @return ProcessInterface|null
- */
- public function getProcess(): ProcessInterface
- {
- return $this->process;
- }
-
- public function onTotalEvent(DefinitionEventInterface $event): void
- {
- if (null === $this->process) {
- $date = Carbon::now();
-
- $this->process = $this->processFactory->createProcess(
- sprintf(
- static::PROCESS_NAME . ' (%s): %s',
- $date->formatLocalized('%A %d %B %Y'),
- $event->getDefinition()->getName(),
- ),
- static::PROCESS_TYPE,
- 'Loading',
- $event->getSubject(),
- 0,
- -1,
- 0,
- 1,
- ProcessManagerBundle::STATUS_RUNNING,
- );
- $this->process->save();
-
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_TOTAL . $event->getSubject());
- }
- }
-
- public function onProgressEvent(DefinitionEventInterface $event): void
- {
- if ($this->process) {
- $now = new \DateTimeImmutable();
- ++$this->lastProgressStepsCount;
- if ($this->lastProgressAt instanceof \DateTimeInterface) {
- $diff = $now->getTimestamp() - $this->lastProgressAt->getTimestamp();
-
- if (self::PROCESS_PROGRESS_THROTTLE_SECONDS > $diff) {
- return;
- }
- }
- $this->lastProgressAt = $now;
-
- if ($this->process->getStoppable()) {
- $this->process = $this->repository->find($this->process->getId());
- }
-
- if ($this->process->getStatus() === ProcessManagerBundle::STATUS_STOPPING) {
- $this->eventDispatcher->dispatch('data_definitions.stop');
- $this->process->setStatus(ProcessManagerBundle::STATUS_STOPPED);
- }
-
- $this->process->progress($this->lastProgressStepsCount);
- $this->process->save();
-
- $this->lastProgressStepsCount = 0;
-
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_PROGRESS);
- }
- }
-
- public function onStatusEvent(DefinitionEventInterface $event): void
- {
- if ($this->process) {
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_STATUS . $event->getSubject());
-
- $now = new \DateTimeImmutable();
- if ($this->lastStatusAt instanceof \DateTimeInterface) {
- $diff = $now->getTimestamp() - $this->lastStatusAt->getTimestamp();
-
- if (self::PROCESS_PROGRESS_THROTTLE_SECONDS > $diff) {
- return;
- }
- }
- $this->lastStatusAt = $now;
-
- if ($this->process->getStoppable()) {
- $this->process = $this->repository->find($this->process->getId());
- }
- $this->process->setMessage($event->getSubject());
- $this->process->save();
- }
- }
-
- public function onFinishedEvent(DefinitionEventInterface $event): void
- {
- if ($this->process) {
- if ($this->process->getStatus() === ProcessManagerBundle::STATUS_RUNNING) {
- $this->process->setProgress($this->process->getTotal());
- $this->process->setMessage($event->getSubject());
- $this->process->setStatus(ProcessManagerBundle::STATUS_COMPLETED);
- $this->process->setCompleted(time());
- $this->process->save();
- }
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_FINISHED . $event->getSubject());
- }
- }
-
- public function onFailureEvent(DefinitionEventInterface $event): void
- {
- if ($this->process) {
- if ($event->getDefinition()->getStopOnException()) {
- $this->process->setStatus(ProcessManagerBundle::STATUS_FAILED);
- } else {
- $this->process->setStatus(ProcessManagerBundle::STATUS_COMPLETED_WITH_EXCEPTIONS);
- }
- $this->process->setCompleted(time());
- $this->process->save();
-
- if (is_string($event->getSubject())) {
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_STATUS_ERROR . $event->getSubject());
- }
- }
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ArtifactGenerationProviderInterface.php b/src/DataDefinitionsBundle/ProcessManager/ArtifactGenerationProviderInterface.php
deleted file mode 100644
index d1ab3f8e..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ArtifactGenerationProviderInterface.php
+++ /dev/null
@@ -1,27 +0,0 @@
-provideArtifactStream($configuration, $definition, $params);
-
- $artifact = new Asset\Document();
- $artifact->setFilename($artifactName);
- $artifact->setStream($stream);
- $artifact->setParent($artifactPath);
- $artifact->setFilename(Asset\Service::getUniqueKey($artifact));
- $artifact->save();
-
- if (is_resource($stream)) {
- fclose($stream);
- }
-
- return $artifact;
- }
-
- abstract public function provideArtifactStream(
- array $configuration,
- ExportDefinitionInterface $definition,
- array $params,
- );
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/DataDefinitionProcessTrait.php b/src/DataDefinitionsBundle/ProcessManager/DataDefinitionProcessTrait.php
deleted file mode 100644
index 61fa0bc9..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/DataDefinitionProcessTrait.php
+++ /dev/null
@@ -1,48 +0,0 @@
-getSettings();
- if (isset($settings['params'])) {
- $params = array_replace(json_decode($settings['params'], true), $params);
- }
-
- $currentUser = Admin::getCurrentUser();
-
- if ($currentUser && !isset($params['userId'])) {
- $params['userId'] = $currentUser->getId();
- }
-
- $settings['command'] = [
- $type,
- '-d',
- $settings['definition'],
- '-p',
- json_encode($params),
- ];
-
- $executable->setSettings($settings);
-
- return parent::run($executable, $params);
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionProcess.php b/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionProcess.php
deleted file mode 100644
index 6ecd3ba6..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionProcess.php
+++ /dev/null
@@ -1,29 +0,0 @@
-runDefinition('data-definitions:export', $executable, $params);
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionStartupFormResolver.php b/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionStartupFormResolver.php
deleted file mode 100644
index 89661184..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ExportDefinitionStartupFormResolver.php
+++ /dev/null
@@ -1,53 +0,0 @@
-getType() !== 'exportdefinition') {
- return false;
- }
-
- $definition = $this->definitionRepository->find($executable->getSettings()['definition']);
-
- if (!$definition instanceof ExportDefinitionInterface) {
- return false;
- }
-
- if ($definition->getFetcher() !== 'objects') {
- return false;
- }
-
- return true;
- }
-
- public function resolveFormType(ExecutableInterface $executable): ?string
- {
- return ExportDefinitionObjectStartupForm::class;
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionProcess.php b/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionProcess.php
deleted file mode 100644
index 0747784d..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionProcess.php
+++ /dev/null
@@ -1,29 +0,0 @@
-runDefinition('data-definitions:import', $executable, $params);
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionsReport.php b/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionsReport.php
deleted file mode 100644
index 92504c6c..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ImportDefinitionsReport.php
+++ /dev/null
@@ -1,210 +0,0 @@
- self::EVENT_STATUS_IMPORT_NEW,
- 'attr' => 'new',
- ],
- [
- 'text' => self::EVENT_STATUS_IMPORT_EXISTING,
- 'attr' => 'existing',
- ],
- [
- 'text' => self::EVENT_STATUS_IGNORE_NEW,
- 'attr' => 'ignore_new',
- ],
- [
- 'text' => self::EVENT_STATUS_IGNORE_EXISTING,
- 'attr' => 'ignore_existing',
- ],
- [
- 'text' => self::EVENT_STATUS_IGNORE_FILTERED,
- 'attr' => 'ignore_filtered',
- ],
- ];
-
- public function generateReport(ProcessInterface $process, string $log): string
- {
- $result = $this->doReport($log);
-
- $importedNew = 0;
- $importedExisting = 0;
- $skippedNew = 0;
- $skippedExisting = 0;
- $skippedFiltered = 0;
- $errorsCnt = 0;
- $errors = [];
- $total = $result['total'];
- $cnt = $result['currentObject'];
-
- for ($iter = 0; $iter <= $cnt; ++$iter) {
- if (isset($result['productStatus'][$iter])) {
- $status = $result['productStatus'][$iter];
-
- if (isset($status['error'])) {
- $errors[] = 'Line ' . ($iter + 1) . '. Error: ' . $status['error'];
- ++$errorsCnt;
- } elseif (isset($status['ignore_filtered'])) {
- ++$skippedFiltered;
- } elseif (isset($status['ignore_new'])) {
- ++$skippedNew;
- } elseif (isset($status['ignore_existing'])) {
- ++$skippedExisting;
- } elseif (isset($status['new'])) {
- ++$importedNew;
- } elseif (isset($status['existing'])) {
- ++$importedExisting;
- }
- }
- }
-
- $items = [];
- $items[] = 'Total lines processed: ' . $total;
- if ($importedNew) {
- $items[] = 'Imported new objects: ' . $importedNew;
- }
-
- if ($importedExisting) {
- $items[] = 'Updates: ' . $importedExisting;
- }
-
- if ($skippedNew) {
- $items[] = 'Skipped new: ' . $skippedNew;
- }
- if ($skippedExisting) {
- $items[] = 'Skipped existing: ' . $skippedExisting;
- }
- if ($skippedFiltered) {
- $items[] = 'Filtered: ' . $skippedFiltered;
- }
- $items[] = 'Errors count: ' . $errorsCnt;
-
- if (count($errors)) {
- $items[] = 'Errors: ';
- $items = array_merge($items, $errors);
- }
-
- return implode('
', $items);
- }
-
- protected function doReport($log)
- {
- $lines = explode(\PHP_EOL, $log);
- $result = [
- 'currentObject' => 0,
- 'productStatus' => [],
- ];
-
- foreach ($lines as $line) {
- $this->processLine($line, $result);
- }
-
- return $result;
- }
-
- protected function processLine($line, &$result)
- {
- if ($this->checkForProgress($line, $result)) {
- return;
- }
-
- if ($this->checkForTotal($line, $result)) {
- return;
- }
-
- if ($this->checkForError($line, $result)) {
- return;
- }
-
- $this->processChecks($line, $result);
- }
-
- protected function checkForProgress($line, &$result): bool
- {
- if (str_contains($line, self::EVENT_PROGRESS)) {
- $result['currentObject'] = $result['currentObject'] + 1;
-
- return true;
- }
-
- return false;
- }
-
- protected function checkForTotal($line, &$result): bool
- {
- $pos = strpos($line, self::EVENT_TOTAL);
- if ($pos) {
- $total = substr($line, $pos + strlen(self::EVENT_TOTAL));
- $result['total'] = (int) $total;
-
- return true;
- }
-
- return false;
- }
-
- protected function checkForError($line, &$result): bool
- {
- $pos = strpos($line, self::EVENT_STATUS_ERROR);
- if (false !== $pos) {
- $result['productStatus'][$result['currentObject']]['error'] = substr(
- $line,
- $pos + strlen(self::EVENT_STATUS_ERROR),
- );
-
- return true;
- }
-
- return false;
- }
-
- protected function processChecks($line, &$result): void
- {
- foreach (self::CHECKS as $check) {
- $pos = strpos($line, $check['text']);
- if (false !== $pos) {
- $result['productStatus'][$result['currentObject']][$check['attr']] = true;
- }
- }
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ProcessManagerExportListener.php b/src/DataDefinitionsBundle/ProcessManager/ProcessManagerExportListener.php
deleted file mode 100644
index 48b8bb01..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ProcessManagerExportListener.php
+++ /dev/null
@@ -1,69 +0,0 @@
-providerRegistry = $providerRegistry;
- }
-
- public function onFinishedEvent(DefinitionEventInterface $event): void
- {
- if (null !== $this->process) {
- if ($this->process->getStatus() == ProcessManagerBundle::STATUS_RUNNING) {
- $this->process->setProgress($this->process->getTotal());
- $this->process->setMessage($event->getSubject());
- $this->process->setStatus(ProcessManagerBundle::STATUS_COMPLETED);
- $this->process->setCompleted(time());
- $this->process->save();
- }
- $definition = $event->getDefinition();
-
- $this->processLogger->info($this->process, ImportDefinitionsReport::EVENT_FINISHED . $event->getSubject());
-
- $provider = $this->providerRegistry->get($definition->getProvider());
-
- if ($provider instanceof ArtifactGenerationProviderInterface) {
- if (method_exists($this->process, 'setArtifact')) {
- $artifact = $provider->generateArtifact(
- $definition->getConfiguration(),
- $definition,
- $event->getParams(),
- );
-
- if (null === $artifact) {
- return;
- }
-
- $this->process->setArtifact($artifact);
- $this->process->save();
- }
- }
- }
- }
-}
diff --git a/src/DataDefinitionsBundle/ProcessManager/ProcessManagerImportListener.php b/src/DataDefinitionsBundle/ProcessManager/ProcessManagerImportListener.php
deleted file mode 100644
index 8ec0438f..00000000
--- a/src/DataDefinitionsBundle/ProcessManager/ProcessManagerImportListener.php
+++ /dev/null
@@ -1,23 +0,0 @@
-exportData[] = $data;
}
-
- public function provideArtifactStream(array $configuration, ExportDefinitionInterface $definition, array $params)
- {
- $headers = count($this->exportData) > 0 ? array_keys($this->exportData[0]) : [];
-
- $stream = fopen('php://memory', 'rw+');
-
- $writer = Writer::createFromStream($stream);
- $writer->setDelimiter($configuration['delimiter']);
- $writer->setEnclosure($configuration['enclosure']);
- if (isset($configuration['escape'])) {
- $writer->setEscape($configuration['escape']);
- }
- $writer->insertOne($headers);
- $writer->insertAll($this->exportData);
-
- return $stream;
- }
}
diff --git a/src/DataDefinitionsBundle/Provider/ExcelProvider.php b/src/DataDefinitionsBundle/Provider/ExcelProvider.php
index 85d2c3c6..b20a32fa 100644
--- a/src/DataDefinitionsBundle/Provider/ExcelProvider.php
+++ b/src/DataDefinitionsBundle/Provider/ExcelProvider.php
@@ -19,8 +19,6 @@
use Instride\Bundle\DataDefinitionsBundle\Model\ExportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportMapping\FromColumn;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactGenerationProviderInterface;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactProviderTrait;
use OpenSpout\Common\Entity\Row;
use OpenSpout\Reader\ReaderInterface;
use OpenSpout\Reader\XLSX\Reader;
@@ -29,10 +27,8 @@
use Pimcore\Model\Asset;
use Pimcore\Tool\Storage;
-class ExcelProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface, ArtifactGenerationProviderInterface
+class ExcelProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface
{
- use ArtifactProviderTrait;
-
private string $exportPath;
private WriterInterface $writer;
@@ -141,11 +137,6 @@ public function exportData(array $configuration, ExportDefinitionInterface $defi
unlink($this->getExportPath());
}
- public function provideArtifactStream($configuration, ExportDefinitionInterface $definition, $params)
- {
- return fopen($this->getExportPath(), 'rb');
- }
-
private function createReader($path): ReaderInterface
{
$reader = $this->getXlsxReader();
diff --git a/src/DataDefinitionsBundle/Provider/JsonProvider.php b/src/DataDefinitionsBundle/Provider/JsonProvider.php
index 451640d7..88dcd36a 100644
--- a/src/DataDefinitionsBundle/Provider/JsonProvider.php
+++ b/src/DataDefinitionsBundle/Provider/JsonProvider.php
@@ -20,15 +20,11 @@
use Instride\Bundle\DataDefinitionsBundle\Model\ExportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportMapping\FromColumn;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactGenerationProviderInterface;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactProviderTrait;
use RecursiveArrayIterator;
use RecursiveIteratorIterator;
-class JsonProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface, ArtifactGenerationProviderInterface
+class JsonProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface
{
- use ArtifactProviderTrait;
-
/**
* @var array
*/
@@ -115,12 +111,4 @@ public function addExportData(
): void {
$this->exportData[] = $data;
}
-
- public function provideArtifactStream($configuration, ExportDefinitionInterface $definition, array $params)
- {
- $stream = fopen('php://memory', 'rw+');
- fwrite($stream, json_encode($this->exportData));
-
- return $stream;
- }
}
diff --git a/src/DataDefinitionsBundle/Provider/XmlProvider.php b/src/DataDefinitionsBundle/Provider/XmlProvider.php
index 3a46b5a2..b5813e3d 100755
--- a/src/DataDefinitionsBundle/Provider/XmlProvider.php
+++ b/src/DataDefinitionsBundle/Provider/XmlProvider.php
@@ -20,8 +20,6 @@
use Instride\Bundle\DataDefinitionsBundle\Model\ExportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportDefinitionInterface;
use Instride\Bundle\DataDefinitionsBundle\Model\ImportMapping\FromColumn;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactGenerationProviderInterface;
-use Instride\Bundle\DataDefinitionsBundle\ProcessManager\ArtifactProviderTrait;
use Pimcore\File;
use Pimcore\Model\Asset;
use Pimcore\Tool\Storage;
@@ -29,10 +27,8 @@
use Symfony\Component\Process\Process;
use XMLWriter;
-class XmlProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface, ArtifactGenerationProviderInterface
+class XmlProvider extends AbstractFileProvider implements ImportProviderInterface, ExportProviderInterface
{
- use ArtifactProviderTrait;
-
private XMLWriter $writer;
private string $exportPath;
@@ -172,11 +168,6 @@ public function exportData(array $configuration, ExportDefinitionInterface $defi
unlink($this->getExportPath());
}
- public function provideArtifactStream($configuration, ExportDefinitionInterface $definition, $params)
- {
- return fopen($this->getExportPath(), 'rb');
- }
-
private function getXMLWriter(): XMLWriter
{
if (!isset($this->writer)) {
diff --git a/src/DataDefinitionsBundle/Resources/config/process_manager.yml b/src/DataDefinitionsBundle/Resources/config/process_manager.yml
deleted file mode 100644
index 17a7c953..00000000
--- a/src/DataDefinitionsBundle/Resources/config/process_manager.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-services:
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ProcessManagerImportListener:
- arguments:
- - '@process_manager.factory.process'
- - '@ProcessManagerBundle\Logger\ProcessLogger'
- - '@process_manager.repository.process'
- - '@event_dispatcher'
- tags:
- - { name: 'kernel.event_listener', event: 'data_definitions.import.total', method: 'onTotalEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.import.progress', method: 'onProgressEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.import.status', method: 'onStatusEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.import.finished', method: 'onFinishedEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.import.failure', method: 'onFailureEvent' }
-
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ProcessManagerExportListener:
- arguments:
- - '@process_manager.factory.process'
- - '@ProcessManagerBundle\Logger\ProcessLogger'
- - '@process_manager.repository.process'
- - '@event_dispatcher'
- calls:
- - method: setProviderRegistry
- arguments:
- - '@data_definitions.registry.export_provider'
- tags:
- - { name: 'kernel.event_listener', event: 'data_definitions.export.total', method: 'onTotalEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.export.progress', method: 'onProgressEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.export.status', method: 'onStatusEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.export.finished', method: 'onFinishedEvent' }
- - { name: 'kernel.event_listener', event: 'data_definitions.export.failure', method: 'onFailureEvent' }
-
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ImportDefinitionProcess:
- tags:
- - { name: 'process_manager.process', type: 'importdefinition', form-type: Instride\Bundle\DataDefinitionsBundle\Form\Type\ProcessManager\ImportDefinitionsType }
-
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ExportDefinitionProcess:
- tags:
- - { name: 'process_manager.process', type: 'exportdefinition', form-type: Instride\Bundle\DataDefinitionsBundle\Form\Type\ProcessManager\ImportDefinitionsType }
-
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ExportDefinitionStartupFormResolver:
- arguments:
- - '@data_definitions.repository.export_definition'
- tags:
- - { name: 'process_manager.startup_form_resolver', type: 'exportdefinition' }
-
- Instride\Bundle\DataDefinitionsBundle\ProcessManager\ImportDefinitionsReport:
- tags:
- - { name: process_manager.process_report, type: import_definitions }
diff --git a/src/DataDefinitionsBundle/Resources/public/pimcore/css/datadefinition.css b/src/DataDefinitionsBundle/Resources/public/pimcore/css/datadefinition.css
index da4ec80e..15fa056b 100644
--- a/src/DataDefinitionsBundle/Resources/public/pimcore/css/datadefinition.css
+++ b/src/DataDefinitionsBundle/Resources/public/pimcore/css/datadefinition.css
@@ -1,4 +1,4 @@
-.data_definitions_icon_import_definition, .processmanager_icon_executable_type_importdefinition {
+.data_definitions_icon_import_definition {
background: url(../img/import_definition.svg) center center no-repeat !important;
}
@@ -10,7 +10,7 @@ body.pimcore_version_11 .data_definitions_nav_icon_import_definition {
background: url(../img/import_definition_white.svg) center center no-repeat !important;
}
-.data_definitions_icon_export_definition, .processmanager_icon_executable_type_exportdefinition {
+.data_definitions_icon_export_definition {
background: url(../img/export_definition.svg) center center no-repeat !important;
}
diff --git a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_contextmenu.js b/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_contextmenu.js
deleted file mode 100644
index 7b14742c..00000000
--- a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_contextmenu.js
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * This source file is available under two different licenses:
- * - GNU General Public License version 3 (GPLv3)
- * - Data Definitions Commercial License (DDCL)
- * Full copyright and license information is available in
- * LICENSE.md which is distributed with this source code.
- *
- * @copyright Copyright (c) CORS GmbH (https://www.cors.gmbh) in combination with instride AG (https://www.instride.ch)
- * @license GPLv3 and DDCL
- */
-
-document.addEventListener(pimcore.events.prepareObjectTreeContextMenu, function (event) {
- if (!Ext.ClassManager.get('Executable')) {
- Ext.define('Executable', {
- extend: 'Ext.data.Model',
- fields: [
- {name: 'name', type: 'string'},
- ]
- });
- }
-
- const tree = event.detail.menu;
- const item = event.detail.object;
-
- Ext.create('Ext.data.Store', {
- model: 'Executable',
- proxy: {
- type: 'ajax',
- url: '/admin/process_manager/executables/list-by-type',
- extraParams: {
- type: 'exportdefinition'
- },
- reader: {
- type: 'json',
- rootProperty: 'data'
- }
- },
- sorters: [{
- property: 'name',
- direction: 'ASC'
- }],
- sortRoot: 'data',
- autoLoad: true,
- listeners: {
- refresh: function (store) {
- var exportMenu = [];
- store.each(function (executable) {
- exportMenu.push({
- text: executable.get('name'),
- iconCls: "pimcore_icon_object pimcore_icon_overlay_add",
- handler: function () {
- Ext.Ajax.request({
- url: '/admin/process_manager/executables/run',
- params: {
- id: executable.id,
- startupConfig: Ext.encode({
- root: item.get('id'),
- }),
- csrfToken: pimcore.settings['csrfToken']
- },
- method: 'POST',
- success: function (result) {
- result = Ext.decode(result.responseText);
-
- if (result.success) {
- Ext.Msg.alert(t('success'), t('processmanager_executable_started'));
- } else {
- Ext.Msg.alert(t('error'), result.message);
- }
- }.bind(this)
- });
- }
- });
- });
-
- if (exportMenu) {
- tree.add([
- {xtype: 'menuseparator'},
- {
- text: t("data_definitions_processmanager_export_from_here"),
- iconCls: "pimcore_icon_object pimcore_icon_overlay_download",
- menu: exportMenu
- }
- ]);
- }
- }
- }
- });
-});
diff --git a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_definitions.js b/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_definitions.js
deleted file mode 100644
index 64f92f13..00000000
--- a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_definitions.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This source file is available under two different licenses:
- * - GNU General Public License version 3 (GPLv3)
- * - Data Definitions Commercial License (DDCL)
- * Full copyright and license information is available in
- * LICENSE.md which is distributed with this source code.
- *
- * @copyright Copyright (c) CORS GmbH (https://www.cors.gmbh) in combination with instride AG (https://www.instride.ch)
- * @license GPLv3 and DDCL
- */
-
-document.addEventListener('processmanager.ready', function () {
- processmanager.executable.types.exportdefinition = Class.create(pimcore.plugin.processmanager.executable.abstractType, {
- getItems: function () {
- pimcore.globalmanager.get('data_definitions_export_definitions').load();
-
- return [{
- xtype: 'combo',
- fieldLabel: t('data_definitions_export_definitions'),
- name: 'definition',
- displayField: 'name',
- valueField: 'id',
- store: pimcore.globalmanager.get('data_definitions_export_definitions'),
- value: this.data.settings.definition,
- allowBlank: false
- }, {
- xtype: 'fieldcontainer',
- fieldLabel: t('data_definitions_processmanager_params'),
- layout: 'hbox',
- width: 500,
- value: this.data.settings.filePath,
- items: [{
- xtype: "textfield",
- name: 'params',
- id: 'data_definitions_processmanager_params',
- width: 450,
- value: this.data.settings.params,
- allowBlank: true
- }]
- }];
- }
- });
-});
diff --git a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_search.js b/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_search.js
deleted file mode 100644
index 25fec4c4..00000000
--- a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/export_search.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * This source file is available under two different licenses:
- * - GNU General Public License version 3 (GPLv3)
- * - Data Definitions Commercial License (DDCL)
- * Full copyright and license information is available in
- * LICENSE.md which is distributed with this source code.
- *
- * @copyright Copyright (c) CORS GmbH (https://www.cors.gmbh) in combination with instride AG (https://www.instride.ch)
- * @license GPLv3 and DDCL
- */
-
-pimcore.object.search = Class.create(pimcore.object.search, {
- createGrid: function ($super, fromConfig, response, settings, save) {
- if (!Ext.ClassManager.get('Executable')) {
- Ext.define('Executable', {
- extend: 'Ext.data.Model',
- fields: [
- {name: 'name', type: 'string'},
- ]
- });
- }
-
- this.exportFromHere = new Ext.SplitButton({
- text: t('data_definitions_processmanager_export_from_here'),
- iconCls: "pimcore_icon_object pimcore_icon_overlay_add",
- menu: []
- });
-
- var $this = this;
- Ext.create('Ext.data.Store', {
- model: 'Executable',
- proxy: {
- type: 'ajax',
- url: '/admin/process_manager/executables/list-by-type',
- extraParams: {
- type: 'exportdefinition'
- },
- reader: {
- type: 'json',
- rootProperty: 'data'
- }
- },
- sorters: [{
- property: 'name',
- direction: 'ASC'
- }],
- sortRoot: 'data',
- autoLoad: true,
- listeners: {
- refresh: function (store) {
- var exportMenu = [];
- store.each(function (executable) {
- exportMenu.push({
- text: executable.get('name'),
- iconCls: "pimcore_icon_object pimcore_icon_overlay_add",
- handler: $this.exportObjects.bind($this, executable)
- });
- });
-
- if (exportMenu) {
- $this.exportFromHere.down("menu").add(exportMenu);
- }
- }
- }
- });
-
- $super(fromConfig, response, settings, save);
- this.grid.down("toolbar").add([
- "-",
- this.exportFromHere,
- "-"
- ]);
- },
-
- exportObjects: function (executable, menuItem) {
- var selected = this.grid.getSelectionModel().getSelection(), ids = [];
- if (selected) {
- ids = selected.map(function (item) {
- return item.id;
- });
- }
-
- Ext.Ajax.request({
- url: '/admin/process_manager/executables/run',
- params: {
- id: executable.id,
- startupConfig: Ext.encode({
- root: this.object.id,
- query: this.searchField.getValue(),
- only_direct_children: this.checkboxOnlyDirectChildren.getValue(),
- ids: ids,
- }),
- csrfToken: pimcore.settings['csrfToken']
- },
- method: 'POST',
- success: function (result) {
- result = Ext.decode(result.responseText);
-
- if (result.success) {
- Ext.Msg.alert(t('success'), t('processmanager_executable_started'));
- } else {
- Ext.Msg.alert(t('error'), result.message);
- }
- }.bind(this)
- });
- }
-});
diff --git a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/import_definitions.js b/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/import_definitions.js
deleted file mode 100644
index 97e3d15a..00000000
--- a/src/DataDefinitionsBundle/Resources/public/pimcore/js/process_manager/import_definitions.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * This source file is available under two different licenses:
- * - GNU General Public License version 3 (GPLv3)
- * - Data Definitions Commercial License (DDCL)
- * Full copyright and license information is available in
- * LICENSE.md which is distributed with this source code.
- *
- * @copyright Copyright (c) CORS GmbH (https://www.cors.gmbh) in combination with instride AG (https://www.instride.ch)
- * @license GPLv3 and DDCL
- */
-
-document.addEventListener('processmanager.ready', function () {
- processmanager.executable.types.importdefinition = Class.create(pimcore.plugin.processmanager.executable.abstractType, {
- getItems: function () {
- pimcore.globalmanager.get('data_definitions_definitions').load();
-
- return [{
- xtype: 'combo',
- fieldLabel: t('data_definitions_import_definitions'),
- name: 'definition',
- displayField: 'name',
- valueField: 'id',
- store: pimcore.globalmanager.get('data_definitions_definitions'),
- value: this.data.settings.definition,
- allowBlank: false
- }, {
- xtype: 'fieldcontainer',
- fieldLabel: t('data_definitions_processmanager_params'),
- layout: 'hbox',
- width: 500,
- value: this.data.settings.filePath,
- items: [{
- xtype: "textfield",
- name: 'params',
- id: 'data_definitions_processmanager_params',
- width: 450,
- value: this.data.settings.params,
- allowBlank: true
- }, {
- xtype: "button",
- text: t('find'),
- iconCls: "pimcore_icon_search",
- style: "margin-left: 5px",
- handler: this.openSearchEditor.bind(this)
- },
- {
- xtype: "button",
- text: t('upload'),
- cls: "pimcore_inline_upload",
- iconCls: "pimcore_icon_upload",
- style: "margin-left: 5px",
- handler: function (item) {
- this.uploadDialog();
- }.bind(this)
- }]
- }];
- },
-
- uploadDialog: function () {
- pimcore.helpers.assetSingleUploadDialog("", "path", function (res) {
- try {
- var data = Ext.decode(res.response.responseText);
- if (data["id"]) {
- this.setValue(data["fullpath"]);
- }
- } catch (e) {
- console.log(e);
- }
- }.bind(this));
- },
-
- openSearchEditor: function () {
- pimcore.helpers.itemselector(
- false,
- this.addDataFromSelector.bind(this),
- {
- type: ["asset"],
- subtype: {},
- specific: {}
- }
- );
- },
-
- addDataFromSelector: function (data) {
- this.setValue(data.fullpath);
- },
-
- setValue: function (value) {
- var params = '{"file":"var/assets' + value + '"}';
- Ext.getCmp('data_definitions_processmanager_params').setValue(params);
- }
- });
-});
diff --git a/src/DataDefinitionsBundle/Resources/translations/admin.en.yml b/src/DataDefinitionsBundle/Resources/translations/admin.en.yml
index 3c577562..a99e2ab8 100644
--- a/src/DataDefinitionsBundle/Resources/translations/admin.en.yml
+++ b/src/DataDefinitionsBundle/Resources/translations/admin.en.yml
@@ -50,8 +50,6 @@ data_definitions_uninstalled: 'ImportDefinitions has been uninstalled'
data_definitions_success_document: 'Success Notification Document'
data_definitions_failure_document: 'Failure Notification Document'
data_definitions_definition: 'Definition'
-data_definitions_processmanager_params: 'Params'
-data_definitions_processmanager_export_from_here: 'Export from here'
data_definitions_skip_new_objects: 'Skip New Objects'
data_definitions_skip_existing_objects: 'Skip Existing Objects'
data_definitions_csv_headers: 'CSV Headers'
@@ -88,7 +86,5 @@ data_definitions_automap: 'Auto Map'
data_definitions_automap_exact: 'Exact'
data_definitions_automap_fuzzy: 'Fuzzy'
data_definitions_invalid_mapping: 'Invalid mapping!'
-processmanager_type_importdefinition: 'Import Definition'
-processmanager_type_exportdefinition: 'Export Definition'
data_definitions_import_rules: 'Import Rules'
data_definitions_persister: 'Persister'