Cleanup MetadataRepository
This commit is contained in:
parent
4a0571c6bf
commit
63dc101e34
|
@ -73,6 +73,9 @@ class ListViewController extends AbstractController
|
|||
*/
|
||||
protected $metadataList = [];
|
||||
|
||||
/**
|
||||
* @var MetadataRepository
|
||||
*/
|
||||
protected $metadataRepository;
|
||||
|
||||
/**
|
||||
|
@ -295,7 +298,7 @@ class ListViewController extends AbstractController
|
|||
*/
|
||||
protected function loadConfig()
|
||||
{
|
||||
$metadataResult = $this->metadataRepository->getMetadataForListview($this->settings['pages']);
|
||||
$metadataResult = $this->metadataRepository->findBySettings(['is_listed' => 1, 'is_sortable' => 1]);
|
||||
|
||||
/** @var Metadata $metadata */
|
||||
foreach ($metadataResult as $metadata) {
|
||||
|
|
|
@ -226,7 +226,7 @@ class MetadataController extends AbstractController
|
|||
$context = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Context\Context::class);
|
||||
$currentLanguageUid = $context->getPropertyFromAspect('language', 'id');
|
||||
|
||||
$metadataResult = $this->metadataRepository->getMetadata($this->settings['pages'], $currentLanguageUid);
|
||||
$metadataResult = $this->metadataRepository->findAll();
|
||||
|
||||
/** @var Metadata $metadata */
|
||||
foreach ($metadataResult as $metadata) {
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
|
||||
namespace Kitodo\Dlf\Domain\Repository;
|
||||
|
||||
use Kitodo\Dlf\Common\Helper;
|
||||
use TYPO3\CMS\Core\Database\ConnectionPool;
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
|
||||
use Kitodo\Dlf\Common\Helper;
|
||||
|
||||
class CollectionRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ class CollectionRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
|
|||
$query->matching($query->equals('fe_cruser_id', $showUserDefined));
|
||||
|
||||
$query->setOrderings([
|
||||
'label' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
|
||||
'label' => QueryInterface::ORDER_ASCENDING
|
||||
]);
|
||||
|
||||
}
|
||||
|
|
|
@ -14,36 +14,43 @@ namespace Kitodo\Dlf\Domain\Repository;
|
|||
|
||||
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
||||
use TYPO3\CMS\Core\Database\ConnectionPool;
|
||||
use Kitodo\Dlf\Common\Helper;
|
||||
use TYPO3\CMS\Extbase\Persistence\QueryInterface;
|
||||
|
||||
class MetadataRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
|
||||
{
|
||||
public function getMetadataForListview($pages) {
|
||||
/**
|
||||
* Finds all collection for the given settings
|
||||
*
|
||||
* @param array $settings
|
||||
*
|
||||
* @return array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface
|
||||
*/
|
||||
public function findBySettings($settings = [])
|
||||
{
|
||||
$query = $this->createQuery();
|
||||
|
||||
$query->matching($query->logicalOr([
|
||||
$query->equals('is_listed', 1),
|
||||
$query->equals('is_sortable', 1)
|
||||
]));
|
||||
$query->matching($query->equals('pid', $pages));
|
||||
$constraints = [];
|
||||
|
||||
$query->setOrderings([
|
||||
'sorting' => \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING
|
||||
]);
|
||||
if ($settings['is_listed']) {
|
||||
$constraints[] = $query->equals('is_listed', 1);
|
||||
}
|
||||
|
||||
if ($settings['is_sortable']) {
|
||||
$constraints[] = $query->equals('is_sortable', 1);
|
||||
}
|
||||
|
||||
if (count($constraints)) {
|
||||
$query->matching(
|
||||
$query->logicalAnd($constraints)
|
||||
);
|
||||
}
|
||||
|
||||
// order by oai_name
|
||||
$query->setOrderings(
|
||||
array('sorting' => QueryInterface::ORDER_ASCENDING)
|
||||
);
|
||||
|
||||
return $query->execute();
|
||||
}
|
||||
|
||||
public function getMetadata($pages, $sysLangUid) {
|
||||
$query = $this->createQuery();
|
||||
|
||||
$querySettings = $query->getQuerySettings();
|
||||
$querySettings->setLanguageUid($sysLangUid);
|
||||
$querySettings->setLanguageOverlayMode('strict');
|
||||
|
||||
$query->matching($query->equals('pid', $pages));
|
||||
|
||||
return $query->execute();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue