Skip to content

Commit

Permalink
Fix also other setFilter methods
Browse files Browse the repository at this point in the history
  • Loading branch information
blankse committed Jan 7, 2022
1 parent 5187ddf commit 263f17f
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 49 deletions.
Expand Up @@ -747,19 +747,11 @@ public function docTypesAction(Request $request)
public function getDocTypesAction(Request $request)
{
$list = new Document\DocType\Listing();
if ($request->get('type')) {
$type = $request->get('type');
if (Document\Service::isValidType($type)) {
$list->setFilter(function ($row) use ($type) {
if ($row['type'] == $type) {
return true;
}

return false;
});
}
if (($type = $request->get('type')) && Document\Service::isValidType($type)) {
$list->setFilter(function (Document\DocType $docType) use ($type) {
return $docType->getType() === $type;
});
}
$list->load();

$docTypes = [];
foreach ($list->getDocTypes() as $type) {
Expand Down
30 changes: 13 additions & 17 deletions bundles/AdminBundle/Controller/Admin/SettingsController.php
Expand Up @@ -215,9 +215,9 @@ public function metadataAction(Request $request)

if ($request->get('filter')) {
$filter = $request->get('filter');
$list->setFilter(function ($row) use ($filter) {
foreach ($row as $value) {
if (strpos($value, $filter) !== false) {
$list->setFilter(function (Metadata\Predefined $predefined) use ($filter) {
foreach ($predefined->getObjectVars() as $value) {
if (stripos($value, $filter) !== false) {
return true;
}
}
Expand Down Expand Up @@ -335,13 +335,13 @@ public function propertiesAction(Request $request)

if ($request->get('filter')) {
$filter = $request->get('filter');
$list->setFilter(function ($row) use ($filter) {
foreach ($row as $value) {
$list->setFilter(function (Property\Predefined $predefined) use ($filter) {
foreach ($predefined->getObjectVars() as $value) {
if ($value) {
$cellValues = is_array($value) ? $value : [$value];

foreach ($cellValues as $cellValue) {
if (strpos($cellValue, $filter) !== false) {
if (stripos($cellValue, $filter) !== false) {
return true;
}
}
Expand Down Expand Up @@ -887,13 +887,12 @@ public function staticroutesAction(Request $request)

if ($request->get('filter')) {
$filter = $request->get('filter');
$list->setFilter(function ($staticRoute) use ($filter) {
$vars = $staticRoute->getObjectVars();
foreach ($vars as $value) {
if (! is_scalar($value)) {
$list->setFilter(function (Staticroute $staticRoute) use ($filter) {
foreach ($staticRoute->getObjectVars() as $value) {
if (!is_scalar($value)) {
continue;
}
if (strpos((string)$value, $filter) !== false) {
if (stripos((string)$value, $filter) !== false) {
return true;
}
}
Expand Down Expand Up @@ -1217,21 +1216,18 @@ public function thumbnailTreeAction(Request $request)
/**
* @Route("/thumbnail-downloadable", name="pimcore_admin_settings_thumbnaildownloadable", methods={"GET"})
*
* @param Request $request
*
* @return JsonResponse
*/
public function thumbnailDownloadableAction(Request $request)
public function thumbnailDownloadableAction()
{
$thumbnails = [];

$list = new Asset\Image\Thumbnail\Config\Listing();
$list->setFilter(function (array $config) {
return array_key_exists('downloadable', $config) ? $config['downloadable'] : false;
$list->setFilter(function (Asset\Image\Thumbnail\Config $config) {
return $config->isDownloadable();
});
$items = $list->getThumbnails();

/** @var Asset\Image\Thumbnail\Config $item */
foreach ($items as $item) {
$thumbnails[] = [
'id' => $item->getName(),
Expand Down
8 changes: 7 additions & 1 deletion models/Asset/Image/Thumbnail/Config/Listing/Dao.php
Expand Up @@ -34,6 +34,12 @@ public function loadList()
foreach ($this->loadIdList() as $name) {
$configs[] = Config::getByName($name);
}
if ($this->model->getFilter()) {
$configs = array_filter($configs, $this->model->getFilter());
}
if ($this->model->getOrder()) {
usort($configs, $this->model->getOrder());
}

$this->model->setThumbnails($configs);

Expand All @@ -45,6 +51,6 @@ public function loadList()
*/
public function getTotalCount()
{
return count($this->loadIdList());
return count($this->loadList());
}
}
10 changes: 7 additions & 3 deletions models/Document/DocType/Listing/Dao.php
Expand Up @@ -33,6 +33,12 @@ public function loadList()
foreach ($this->loadIdList() as $id) {
$docTypes[] = Model\Document\DocType::getById($id);
}
if ($this->model->getFilter()) {
$docTypes = array_filter($docTypes, $this->model->getFilter());
}
if ($this->model->getOrder()) {
usort($docTypes, $this->model->getOrder());
}

$this->model->setDocTypes($docTypes);

Expand All @@ -44,8 +50,6 @@ public function loadList()
*/
public function getTotalCount()
{
$amount = count($this->loadIdList());

return $amount;
return count($this->loadList());
}
}
6 changes: 6 additions & 0 deletions models/Metadata/Predefined/Listing/Dao.php
Expand Up @@ -36,6 +36,12 @@ public function loadList()
foreach ($this->loadIdList() as $id) {
$properties[] = Model\Metadata\Predefined::getById($id);
}
if ($this->model->getFilter()) {
$properties = array_filter($properties, $this->model->getFilter());
}
if ($this->model->getOrder()) {
usort($properties, $this->model->getOrder());
}

$this->model->setDefinitions($properties);

Expand Down
17 changes: 4 additions & 13 deletions models/Property/Predefined/Listing/Dao.php
Expand Up @@ -37,20 +37,11 @@ public function loadList()
foreach ($this->loadIdList() as $id) {
$properties[] = Model\Property\Predefined::getById($id);
}

if (is_callable($filter = $this->model->getFilter())) {
$filteredData = [];
foreach ($properties as $row) {
if ($filter($row)) {
$filteredData[] = $row;
}
}

$properties = $filteredData;
if ($this->model->getFilter()) {
$properties = array_filter($properties, $this->model->getFilter());
}

if (is_callable($order = $this->model->getOrder())) {
usort($properties, $order);
if ($this->model->getOrder()) {
usort($properties, $this->model->getOrder());
}

$this->model->setProperties($properties);
Expand Down
4 changes: 1 addition & 3 deletions models/Staticroute/Listing/Dao.php
Expand Up @@ -50,8 +50,6 @@ public function loadList()
*/
public function getTotalCount()
{
$amount = count($this->loadIdList());

return $amount;
return count($this->loadList());
}
}

0 comments on commit 263f17f

Please sign in to comment.