Loading Classes/WE/SpreadsheetImport/FrontendMappingService.php +21 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ class FrontendMappingService { */ protected $settings; /** * @Flow\Inject * @var \TYPO3\Flow\Persistence\PersistenceManagerInterface */ protected $persistenceManager; /** * @Flow\Inject * @var \TYPO3\Flow\Property\PropertyMapper */ protected $propertyMapper; /** * @param string $context * @param \TYPO3\Flow\Mvc\ActionRequest $request Loading @@ -48,8 +60,16 @@ class FrontendMappingService { $name = $contextArgument['name']; if (isset($contextArgument['static'])) { $arguments[$name] = $contextArgument['static']; } elseif ($request->hasArgument($name)) { $value = $request->getArgument($name); if (isset($contextArgument['domain'])) { $object = $this->propertyMapper->convert($value, $contextArgument['domain']); $arguments[$name] = $this->persistenceManager->getIdentifierByObject($object); } else { $arguments[$name] = $value; } } else { $arguments[$name] = $request->hasArgument($name) ? $request->getArgument($name) : NULL; $arguments[$name] = NULL; } } } Loading Classes/WE/SpreadsheetImport/SpreadsheetImportService.php +21 −2 Original line number Diff line number Diff line Loading @@ -289,6 +289,24 @@ class SpreadsheetImportService { } } /** * @param \TYPO3\Flow\Persistence\QueryInterface $query * @param array $constraints */ private function mergeQueryConstraintsWithArguments(QueryInterface $query, &$constraints) { $contextArguments = $this->settings[$this->spreadsheetImport->getContext()]['arguments']; if (is_array($contextArguments)) { foreach ($contextArguments as $contextArgument) { $name = $contextArgument['name']; $arguments = $this->spreadsheetImport->getArguments(); if (array_key_exists($name, $arguments)) { $value = $arguments[$name]; $constraints[] = $query->equals($name, $value); } } } } /** * @param array $identifiers * Loading @@ -296,8 +314,9 @@ class SpreadsheetImportService { */ private function findObjectsByExcludedIds(array $identifiers) { $query = $this->getDomainRepository()->createQuery(); $constraint = $query->logicalNot($query->in('Persistence_Object_Identifier', $identifiers)); return $query->matching($constraint)->execute(); $constraints[] = $query->logicalNot($query->in('Persistence_Object_Identifier', $identifiers)); $this->mergeQueryConstraintsWithArguments($query, $constraints); return $query->matching($query->logicalAnd($constraints))->execute(); } /** Loading Loading
Classes/WE/SpreadsheetImport/FrontendMappingService.php +21 −1 Original line number Diff line number Diff line Loading @@ -34,6 +34,18 @@ class FrontendMappingService { */ protected $settings; /** * @Flow\Inject * @var \TYPO3\Flow\Persistence\PersistenceManagerInterface */ protected $persistenceManager; /** * @Flow\Inject * @var \TYPO3\Flow\Property\PropertyMapper */ protected $propertyMapper; /** * @param string $context * @param \TYPO3\Flow\Mvc\ActionRequest $request Loading @@ -48,8 +60,16 @@ class FrontendMappingService { $name = $contextArgument['name']; if (isset($contextArgument['static'])) { $arguments[$name] = $contextArgument['static']; } elseif ($request->hasArgument($name)) { $value = $request->getArgument($name); if (isset($contextArgument['domain'])) { $object = $this->propertyMapper->convert($value, $contextArgument['domain']); $arguments[$name] = $this->persistenceManager->getIdentifierByObject($object); } else { $arguments[$name] = $value; } } else { $arguments[$name] = $request->hasArgument($name) ? $request->getArgument($name) : NULL; $arguments[$name] = NULL; } } } Loading
Classes/WE/SpreadsheetImport/SpreadsheetImportService.php +21 −2 Original line number Diff line number Diff line Loading @@ -289,6 +289,24 @@ class SpreadsheetImportService { } } /** * @param \TYPO3\Flow\Persistence\QueryInterface $query * @param array $constraints */ private function mergeQueryConstraintsWithArguments(QueryInterface $query, &$constraints) { $contextArguments = $this->settings[$this->spreadsheetImport->getContext()]['arguments']; if (is_array($contextArguments)) { foreach ($contextArguments as $contextArgument) { $name = $contextArgument['name']; $arguments = $this->spreadsheetImport->getArguments(); if (array_key_exists($name, $arguments)) { $value = $arguments[$name]; $constraints[] = $query->equals($name, $value); } } } } /** * @param array $identifiers * Loading @@ -296,8 +314,9 @@ class SpreadsheetImportService { */ private function findObjectsByExcludedIds(array $identifiers) { $query = $this->getDomainRepository()->createQuery(); $constraint = $query->logicalNot($query->in('Persistence_Object_Identifier', $identifiers)); return $query->matching($constraint)->execute(); $constraints[] = $query->logicalNot($query->in('Persistence_Object_Identifier', $identifiers)); $this->mergeQueryConstraintsWithArguments($query, $constraints); return $query->matching($query->logicalAnd($constraints))->execute(); } /** Loading