diff --git a/config/acl.yaml b/config/acl.yaml index 594a23f5..f6677bdf 100644 --- a/config/acl.yaml +++ b/config/acl.yaml @@ -172,10 +172,6 @@ access_keys: label: List - id: geofence.add label: Add - - id: geofence.update - label: Update - - id: geofence.delete - label: Delete - id: rider label: Rider Access diff --git a/config/routes/geofence.yaml b/config/routes/geofence.yaml index b210e0db..5d6a2ea9 100644 --- a/config/routes/geofence.yaml +++ b/config/routes/geofence.yaml @@ -4,11 +4,6 @@ geofence_list: path: /geofence controller: App\Controller\GeofenceController::index -geofence_rows: - path: /geofence/rows - controller: App\Controller\GeofenceController::rows - methods: [POST] - geofence_create: path: /geofence/create controller: App\Controller\GeofenceController::addForm @@ -18,18 +13,3 @@ geofence_create_submit: path: /geofence/create controller: App\Controller\GeofenceController::addSubmit methods: [POST] - -geofence_update: - path: /geofence/{id} - controller: App\Controller\GeofenceController::updateForm - methods: [GET] - -geofence_update_submit: - path: /geofence/{id} - controller: App\Controller\GeofenceController::updateSubmit - methods: [POST] - -geofence_delete: - path: /geofence/{id} - controller: App\Controller\GeofenceController::destroy - methods: [DELETE] diff --git a/src/Controller/GeofenceController.php b/src/Controller/GeofenceController.php index 91585d91..f96efda2 100644 --- a/src/Controller/GeofenceController.php +++ b/src/Controller/GeofenceController.php @@ -23,88 +23,13 @@ class GeofenceController extends BaseController $params = $this->initParameters('geofence_list'); - return $this->render('geofence/list.html.twig', $params); - } - - public function rows(Request $req) - { - $this->denyAccessUnlessGranted('geofence.list', null, 'No access.'); - // get query builder - $qb = $this->getDoctrine() + $params['areas'] = $this->getDoctrine() ->getRepository(SupportedArea::class) - ->createQueryBuilder('q'); - - // get datatable params - $datatable = $req->get('datatable'); - - // count total records - $tquery = $qb->select('COUNT(q)'); - $this->setQueryFilters($datatable, $tquery); - $total = $tquery->getQuery() - ->getSingleScalarResult(); - - // get current page number - $page = $datatable['pagination']['page'] ?? 1; - - $perpage = $datatable['pagination']['perpage']; - $offset = ($page - 1) * $perpage; - - // add metadata - $meta = [ - 'page' => $page, - 'perpage' => $perpage, - 'pages' => ceil($total / $perpage), - 'total' => $total, - 'sort' => 'asc', - 'field' => 'id' - ]; - - // build query - $query = $qb->select('q'); - $this->setQueryFilters($datatable, $query); - - // check if sorting is present, otherwise use default - if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) { - $order = $datatable['sort']['sort'] ?? 'asc'; - $query->orderBy('q.' . $datatable['sort']['field'], $order); - } else { - $query->orderBy('q.id', 'asc'); - } - - // get rows for this page - $obj_rows = $query->setFirstResult($offset) - ->setMaxResults($perpage) - ->getQuery() - ->getResult(); - - // process rows - $rows = []; - foreach ($obj_rows as $orow) { - // add row data - $row['id'] = $orow->getID(); - $row['name'] = $orow->getName(); - - // add row metadata - $row['meta'] = [ - 'update_url' => '', - 'delete_url' => '' - ]; - - // add crud urls - if ($this->isGranted('geofence.update')) - $row['meta']['update_url'] = $this->generateUrl('geofence_update', ['id' => $row['id']]); - if ($this->isGranted('geofence.delete')) - $row['meta']['delete_url'] = $this->generateUrl('geofence_delete', ['id' => $row['id']]); - - $rows[] = $row; - } + ->findAll(); // response - return $this->json([ - 'meta' => $meta, - 'data' => $rows - ]); + return $this->render('geofence/list.html.twig', $params); } public function addForm() @@ -121,59 +46,4 @@ class GeofenceController extends BaseController return $this->render('geofence/form.html.twig', $params); } - public function updateForm($id) - { - $this->denyAccessUnlessGranted('geofence.update', null, 'No access.'); - - $params = $this->initParameters('geofence_list'); - - // get row data - $em = $this->getDoctrine()->getManager(); - $obj = $em->getRepository(SupportedArea::class)->find($id); - - // make sure this row exists - if (empty($obj)) - throw $this->createNotFoundException('The item does not exist'); - - $params['obj'] = $obj; - $params['mode'] = 'update'; - - $this->fillFormTags($params); - - // response - return $this->render('geofence/form.html.twig', $params); - } - - protected function initFormTags(&$params) - { - // default to editing, as we have more forms editing than creating - $params['ftags'] = [ - 'set_map_coordinate' => true, - ]; - } - - protected function fillFormTags(&$params) - { - $this->initFormTags($params); - - switch ($params['mode']) - { - case 'create': - $params['ftags']['set_map_coordinate'] = false; - break; - case 'update': - $params['ftags']['set_map_coordinate'] = true; - break; - } - } - - - protected function setQueryFilters($datatable, QueryBuilder $query) - { - if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) { - $query->where('q.name LIKE :filter') - ->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%'); - } - } - } diff --git a/templates/geofence/form.html.twig b/templates/geofence/form.html.twig deleted file mode 100644 index c1f4a976..00000000 --- a/templates/geofence/form.html.twig +++ /dev/null @@ -1,233 +0,0 @@ -{% extends 'base.html.twig' %} - -{% block body %} - -
-
-
-

Geofence

-
-
-
- -
- -
-
-
-
-
-
- - - -

- {% if mode == 'update' %} - Edit Geofence - {{ obj.getName }} - {% else %} - New Geofence - {% endif %} -

-
-
-
-
-
-
-
- - - -
-
-
-
- - - -
- - - - -
-
- -
-
-
-
-
-
-
- - Back -
-
-
-
-
-
-
-
-
-{% endblock %} - -{% block scripts %} - - - - -{% endblock %} - - diff --git a/templates/geofence/list.html.twig b/templates/geofence/list.html.twig index db6ad2cf..31dda159 100644 --- a/templates/geofence/list.html.twig +++ b/templates/geofence/list.html.twig @@ -5,9 +5,7 @@
-

- Geofence -

+

Geofence

@@ -17,36 +15,30 @@
-
-
-
-
-
-
-
- - - - -
-
-
-
-
- - - - Add Covered Area - - -
+
+
+
+ + + +

+ Covered Areas +

+
+
+
+
+
+
+
+ +
- -
- -
+
@@ -54,91 +46,45 @@ {% endblock %} {% block scripts %} - + - return actions; - }, - } - ], - search: { - onEnter: false, - input: $('#data-rows-search'), - delay: 400 - } - }; + + coveredarea.setMap(map); + {% endfor %} +} + +// END google maps stuff + + {% endblock %} -