Completed
Push — master ( b8f763...47a15d )
by Craig
14:22 queued 07:28
created

AjaxController::indexAction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Routes.
4
 *
5
 * @copyright Zikula contributors (Zikula)
6
 * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License
7
 * @author Zikula contributors <[email protected]>.
8
 * @link http://www.zikula.org
9
 * @link http://zikula.org
10
 * @version Generated by ModuleStudio 0.7.1 (http://modulestudio.de).
11
 */
12
13
namespace Zikula\RoutesModule\Controller;
14
15
use Zikula\RoutesModule\Controller\Base\AbstractAjaxController;
16
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
17
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
18
use Symfony\Component\HttpFoundation\Request;
19
use Zikula\Core\Response\Ajax\AjaxResponse;
20
21
/**
22
 * Ajax controller class providing navigation and interaction functionality.
23
 *
24
 * @Route("/ajax")
25
 */
26
class AjaxController extends AbstractAjaxController
27
{
28
    /**
29
     * Retrieves a general purpose list of users.
30
     *
31
     * @Route("/getCommonUsersList", options={"expose"=true})
32
     * @Method("GET")
33
     *
34
     * @param Request $request Current request instance
35
     *
36
     * @return JsonResponse
37
     */ 
38
    public function getCommonUsersListAction(Request $request)
39
    {
40
        return parent::getCommonUsersListAction($request);
41
    }
42
43
    /**
44
     * Resort routes.
45
     *
46
     * @param Request $request Current request instance
47
     *
48
     * @return boolean|AjaxResponse The response
49
     */
50
    public function sortAction(Request $request)
51
    {
52
        if (!$this->hasPermission($this->name . '::Ajax', '::', ACCESS_EDIT)) {
53
            return true;
54
        }
55
56
        $objectType = $request->request->getAlnum('ot', 'route');
57
        $sort = $request->request->get('sort', []);
58
59
        $entityManager = $this->get('doctrine.orm.entity_manager');
60
61
        foreach ($sort as $position => $id) {
62
            $id = substr($id, 4);
63
            $object = $entityManager->find($this->name . ':' . ucfirst($objectType) . 'Entity', $id);
64
            $object->setSort($position);
65
            $entityManager->persist($object);
66
        }
67
68
        $entityManager->flush();
69
70
        $this->get('zikula.cache_clearer')->clear('symfony.routing');
71
72
        return new AjaxResponse([]);
73
    }
74
}
75