diff --git a/src/Controller/TicketController.php b/src/Controller/TicketController.php index f8a2d3e0..b87cdd76 100644 --- a/src/Controller/TicketController.php +++ b/src/Controller/TicketController.php @@ -335,6 +335,23 @@ class TicketController extends BaseController $params['redirect_url'] = $cust_update_url; } + // get related tickets + $qb = $em->getRepository(Ticket::class) + ->createQueryBuilder('q'); + + $query = $qb->select('q') + ->where('(q.first_name = :first_name and q.last_name = :last_name)') + ->orWhere('q.contact_num = :contact_num') + ->orWhere('q.plate_number = :plate_number') + ->setParameter('first_name', $obj->getFirstName()) + ->setParameter('last_name', $obj->getLastName()) + ->setParameter('contact_num', $obj->getContactNumber()) + ->setParameter('plate_number', $obj->getPlateNumber()) + ->orderBy('q.date_create', 'desc'); + + $params['related_tickets'] = $query->getQuery() + ->getResult(); + $params['obj'] = $obj; // response diff --git a/templates/ticket/form.html.twig b/templates/ticket/form.html.twig index e7bcee69..c44cacfb 100644 --- a/templates/ticket/form.html.twig +++ b/templates/ticket/form.html.twig @@ -35,93 +35,111 @@ -
+
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
- {% if job_order %} +
+
- -
- View Job Order + + + +
+
+ + + +
+
+
+
+ + + +
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+ {% if job_order %} +
+ + +
+ {% endif %} +
+
+ + {% if mode == 'update' %} +
+
+
+

+ Related Tickets +

+
+
+
+
- {% endif %} -
+
+ {% endif %}
@@ -218,6 +236,77 @@ field.prop('disabled', true).val(""); } }).change(); + + {% if mode == 'update' %} + // related tickets + var ticketRows = []; + + {% for ticket in related_tickets %} + trow = { + id: "{{ ticket.getID }}", + date_create: "{{ ticket.getDateCreate|date('d M Y - h:i A') }}", + subject: "{{ ticket.getSubject }}", + ticket_type: "{{ ticket.getTicketTypeText }}", + status: "{{ ticket.getStatusText }}", + edit_url: "{{ url('ticket_update', {'id': ticket.getID}) }}" + }; + + ticketRows.push(trow); + {% endfor %} + + // tickets data table + var ticketOptions = { + data: { + type: 'local', + source: ticketRows, + saveState: { + cookie: false, + webstorage: false + } + }, + layout: { + scroll: true + }, + columns: [ + { + field: 'id', + title: 'ID', + width: 30 + }, + { + field: 'date_create', + title: 'Date Created', + width: 200 + }, + { + field: 'subject', + title: 'Subject', + width: 300 + }, + { + field: 'ticket_type', + title: 'Ticket Type' + }, + { + field: 'status', + title: 'Status' + }, + { + field: 'Actions', + width: 70, + title: 'Actions', + sortable: false, + overflow: 'visible', + template: function (row, index, datatable) { + return ''; + }, + } + ], + pagination: false + }; + + var ticketTable = $("#data-related-tickets").mDatatable(ticketOptions); + {% endif %} }); {% endblock %}