Completed
Push — master ( 0dd64c...9ed0b2 )
by Adam
08:02 queued 02:35
created

NewsFeedBoxController::indexAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 23
rs 9.0856
c 0
b 0
f 0
cc 1
eloc 15
nc 1
nop 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: diversantvlz
5
 * Date: 19.04.2017
6
 * Time: 18:46
7
 */
8
9
namespace WellCommerce\Bundle\CmsBundle\Controller\Box;
10
11
use Symfony\Component\HttpFoundation\Response;
12
use WellCommerce\Component\Layout\Collection\LayoutBoxSettingsCollection;
13
use WellCommerce\Bundle\CoreBundle\Controller\Box\AbstractBoxController;
14
use WellCommerce\Component\DataSet\Conditions\ConditionsCollection;
15
use WellCommerce\Component\DataSet\Conditions\Condition\Eq;
16
17
class NewsFeedBoxController extends AbstractBoxController
18
{
19
20
    public function indexAction(LayoutBoxSettingsCollection $boxSettings): Response
21
    {
22
        $dataset       = $this->get('news.dataset.front');
23
        $requestHelper = $this->getRequestHelper();
24
25
        $conditions = new ConditionsCollection();
26
        $conditions->add(new Eq('publish', true));
27
28
        $conditions    = $this->get('layered_navigation.helper')->addLayeredNavigationConditions($conditions);
29
30
        $newsFeed = $dataset->getResult('array', [
31
            'limit'      => $boxSettings->getParam('per_page', 12),
32
            'page'       => $requestHelper->getAttributesBagParam('page', 1),
33
            'order_by'   => 'startDate',
34
            'order_dir'  => 'desc',
35
            'conditions' => $conditions,
36
        ]);
37
38
        return $this->displayTemplate('index', [
39
            'dataset'     => $newsFeed,
40
            'boxSettings' => $boxSettings,
41
        ]);
42
    }
43
}