Code Duplication    Length = 39-39 lines in 2 locations

Controller/BatchController.php 1 location

@@ 47-85 (lines=39) @@
44
     * @param Request $request
45
     * @return JsonResponse
46
     */
47
    public function getAutocompleteItemsAction(Request $request)
48
    {
49
        $this->mediaAdmin->checkAccess('list');
50
51
        $minimumInputLength = 3;
52
        $searchText = $request->get('q');
53
        if (mb_strlen($searchText, 'UTF-8') < $minimumInputLength) {
54
            return new JsonResponse(['status' => 'KO', 'message' => 'Too short search string'], Response::HTTP_FORBIDDEN);
55
        }
56
57
        $this->mediaAdmin->setPersistFilters(false);
58
        $datagrid = $this->mediaAdmin->getDatagrid();
59
        $datagrid->setValue('title', null, $searchText);
60
        $datagrid->setValue('_per_page', null, $request->query->get('_per_page', 1));
61
        $datagrid->setValue('_page', null, $request->query->get('_page', 10));
62
        $datagrid->buildPager();
63
64
        $pager = $datagrid->getPager();
65
        $results = $pager->getResults();
66
67
        /**
68
         * @var MediaInterface $media
69
         */
70
        $items = [];
71
        foreach($results as $media) {
72
            $items[] = [
73
                'id' => $media->getId(),
74
                'label' => $this->templating->render('@MediaMonksSonataMedia/CRUD/autocomplete.html.twig', [
75
                    'media' => $media
76
                ])
77
            ];
78
        }
79
80
        return new JsonResponse([
81
            'status' => 'OK',
82
            'more' => false,
83
            'items' => $items
84
        ]);
85
    }
86
87
    /**
88
     * @param Request $request

Controller/HelperController.php 1 location

@@ 38-76 (lines=39) @@
35
     * @param Request $request
36
     * @return JsonResponse
37
     */
38
    public function getAutocompleteItemsAction(Request $request)
39
    {
40
        $this->mediaAdmin->checkAccess('list');
41
42
        $minimumInputLength = 3;
43
        $searchText = $request->get('q');
44
        if (mb_strlen($searchText, 'UTF-8') < $minimumInputLength) {
45
            return new JsonResponse(['status' => 'KO', 'message' => 'Too short search string'], Response::HTTP_FORBIDDEN);
46
        }
47
48
        $this->mediaAdmin->setPersistFilters(false);
49
        $datagrid = $this->mediaAdmin->getDatagrid();
50
        $datagrid->setValue('title', null, $searchText);
51
        $datagrid->setValue('_per_page', null, $request->query->get('_per_page', 1));
52
        $datagrid->setValue('_page', null, $request->query->get('_page', 10));
53
        $datagrid->buildPager();
54
55
        $pager = $datagrid->getPager();
56
        $results = $pager->getResults();
57
58
        /**
59
         * @var MediaInterface $media
60
         */
61
        $items = [];
62
        foreach($results as $media) {
63
            $items[] = [
64
                'id' => $media->getId(),
65
                'label' => $this->templating->render('@MediaMonksSonataMedia/CRUD/autocomplete.html.twig', [
66
                    'media' => $media
67
                ])
68
            ];
69
        }
70
71
        return new JsonResponse([
72
            'status' => 'OK',
73
            'more' => false,
74
            'items' => $items
75
        ]);
76
    }
77
}
78