Update list columns and fields based on feedback

This commit is contained in:
Ramon Gutierrez 2018-01-31 23:56:25 +08:00
parent 7bf2b7aa5d
commit 8f4b745025
13 changed files with 175 additions and 115 deletions

View file

@ -3,6 +3,7 @@
namespace App\Controller; namespace App\Controller;
use App\Ramcar\BaseController; use App\Ramcar\BaseController;
use App\Ramcar\CustomerClassification;
use App\Ramcar\FuelType; use App\Ramcar\FuelType;
use App\Ramcar\VehicleStatusCondition; use App\Ramcar\VehicleStatusCondition;
use App\Entity\Customer; use App\Entity\Customer;
@ -103,10 +104,19 @@ class CustomerController extends BaseController
// process rows // process rows
$rows = []; $rows = [];
foreach ($obj_rows as $orow) { foreach ($obj_rows as $orow) {
$classifications = CustomerClassification::getCollection();
// add row data // add row data
$row['id'] = $orow->getID(); $row['id'] = $orow->getID();
$row['first_name'] = $orow->getFirstName(); $row['first_name'] = $orow->getFirstName();
$row['last_name'] = $orow->getLastName(); $row['last_name'] = $orow->getLastName();
$row['customer_classification'] = $classifications[$orow->getCustomerClassification()];
$row['flag_mobile_app'] = $orow->hasMobileApp();
$row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : '';
// TODO: properly add mobile numbers and plate numbers as searchable/sortable fields, use doctrine events
$row['mobile_numbers'] = implode("<br>", $orow->getMobileNumberList());
$row['plate_numbers'] = implode("<br>", $orow->getPlateNumberList());
// add row metadata // add row metadata
$row['meta'] = [ $row['meta'] = [
@ -143,6 +153,7 @@ class CustomerController extends BaseController
// get parent associations // get parent associations
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll(); $params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll(); $params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
$params['classifications'] = CustomerClassification::getCollection();
$params['fuel_types'] = FuelType::getCollection(); $params['fuel_types'] = FuelType::getCollection();
$params['status_conditions'] = VehicleStatusCondition::getCollection(); $params['status_conditions'] = VehicleStatusCondition::getCollection();
@ -163,8 +174,8 @@ class CustomerController extends BaseController
// set and save values // set and save values
$row->setFirstName($req->request->get('first_name')) $row->setFirstName($req->request->get('first_name'))
->setLastName($req->request->get('last_name')) ->setLastName($req->request->get('last_name'))
->setCustomerNotes($req->request->get('customer_notes')) ->setCustomerClassification($req->request->get('customer_classification'))
->setConfirmed(false); ->setCustomerNotes($req->request->get('customer_notes'));
// initialize error lists // initialize error lists
$error_array = []; $error_array = [];
@ -317,6 +328,7 @@ class CustomerController extends BaseController
// get parent associations // get parent associations
$params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll(); $params['bmfgs'] = $em->getRepository(BatteryManufacturer::class)->findAll();
$params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll(); $params['vmfgs'] = $em->getRepository(VehicleManufacturer::class)->findAll();
$params['classifications'] = CustomerClassification::getCollection();
$params['fuel_types'] = FuelType::getCollection(); $params['fuel_types'] = FuelType::getCollection();
$params['status_conditions'] = VehicleStatusCondition::getCollection(); $params['status_conditions'] = VehicleStatusCondition::getCollection();
@ -343,6 +355,7 @@ class CustomerController extends BaseController
// set and save values // set and save values
$row->setFirstName($req->request->get('first_name')) $row->setFirstName($req->request->get('first_name'))
->setLastName($req->request->get('last_name')) ->setLastName($req->request->get('last_name'))
->setCustomerClassification($req->request->get('customer_classification'))
->setCustomerNotes($req->request->get('customer_notes')); ->setCustomerNotes($req->request->get('customer_notes'));
// initialize error lists // initialize error lists
@ -716,6 +729,7 @@ class CustomerController extends BaseController
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) { if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
$query->where('q.first_name LIKE :filter') $query->where('q.first_name LIKE :filter')
->orWhere('q.last_name LIKE :filter') ->orWhere('q.last_name LIKE :filter')
->orWhere('q.customer_classification LIKE :filter')
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%'); ->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
} }
} }

View file

@ -84,6 +84,7 @@ class HubController extends BaseController
// add row data // add row data
$row['id'] = $orow->getID(); $row['id'] = $orow->getID();
$row['name'] = $orow->getName(); $row['name'] = $orow->getName();
$row['branch'] = $orow->getBranch();
$row['address'] = $orow->getAddress(); $row['address'] = $orow->getAddress();
$row['contact_nums'] = $orow->getContactNumbers(); $row['contact_nums'] = $orow->getContactNumbers();
$row['time_open'] = $orow->getTimeOpen()->format('g:i A'); $row['time_open'] = $orow->getTimeOpen()->format('g:i A');
@ -135,6 +136,7 @@ class HubController extends BaseController
// set and save values // set and save values
$obj->setName($req->request->get('name')) $obj->setName($req->request->get('name'))
->setBranch($req->request->get('branch'))
->setAddress($req->request->get('address')) ->setAddress($req->request->get('address'))
->setContactNumbers($req->request->get('contact_nums')) ->setContactNumbers($req->request->get('contact_nums'))
->setTimeOpen($time_open) ->setTimeOpen($time_open)

View file

@ -188,9 +188,7 @@ class JobOrderController extends BaseController
$datatable = $req->request->get('datatable'); $datatable = $req->request->get('datatable');
// count total records // count total records
$tquery = $qb->select('COUNT(q)') $tquery = $qb->select('COUNT(q)');
->join('q.cus_vehicle', 'cv')
->join('q.customer', 'c');
$this->setQueryFilters($datatable, $tquery, $qb, $tier_params['jo_status']); $this->setQueryFilters($datatable, $tquery, $qb, $tier_params['jo_status']);
@ -214,22 +212,14 @@ class JobOrderController extends BaseController
]; ];
// build query // build query
$query = $qb->select('q') $query = $qb->select('q');
->addSelect('cv.plate_number as plate_number')
->addSelect('c.first_name as customer_name')
->addSelect('c.last_name as cust_last_name');
$this->setQueryFilters($datatable, $query, $qb, $tier_params['jo_status']); $this->setQueryFilters($datatable, $query, $qb, $tier_params['jo_status']);
// check if sorting is present, otherwise use default // check if sorting is present, otherwise use default
if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) { if (isset($datatable['sort']['field']) && !empty($datatable['sort']['field'])) {
$prefix = '';
if (!in_array($datatable['sort']['field'], ['plate_number', 'customer_name']))
$prefix = 'q.';
$order = $datatable['sort']['sort'] ?? 'asc'; $order = $datatable['sort']['sort'] ?? 'asc';
$query->orderBy($prefix . $datatable['sort']['field'], $order); $query->orderBy('q.' . $datatable['sort']['field'], $order);
} else { } else {
$query->orderBy('q.date_schedule', 'asc'); $query->orderBy('q.date_schedule', 'asc');
} }
@ -243,26 +233,16 @@ class JobOrderController extends BaseController
// process rows // process rows
$rows = []; $rows = [];
foreach ($obj_rows as $orow) { foreach ($obj_rows as $orow) {
// get service type name $statuses = JOStatus::getCollection();
$service_type = false;
$service_types = ServiceType::getCollection(); $service_types = ServiceType::getCollection();
foreach ($service_types as $key => $service) {
if ($key == $orow[0]->getServiceType()) {
$service_type = $service;
break;
}
}
// add row data // add row data
$row['id'] = $orow[0]->getID(); $row['id'] = $orow->getID();
$row['date_schedule'] = $orow[0]->getDateSchedule()->format("d M Y"); $row['delivery_address'] = $orow->getDeliveryAddress();
$row['date_schedule_time'] = $orow[0]->getDateSchedule()->format("g:i A"); $row['date_schedule'] = $orow->isAdvanceOrder() ? $orow->getDateSchedule()->format("d M Y g:i A") : 'Immediate';
$row['service_type'] = $service_type; $row['service_type'] = $service_types[$orow->getServiceType()];
$row['plate_number'] = $orow['plate_number']; $row['status'] = $statuses[$orow->getStatus()];
$row['customer_name'] = $orow['customer_name'] . " " . $orow['cust_last_name']; $row['flag_advance'] = $orow->isAdvanceOrder();
$row['mobile_numbers'] = implode("<br>", $orow[0]->getCustomer()->getMobileNumberList());
$row['source'] = ucfirst($orow[0]->getSource());
$row['flag_advance'] = $orow[0]->isAdvanceOrder();
// add crud urls // add crud urls
$row['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $row['id']]); $row['meta']['update_url'] = $this->generateUrl($tier_params['edit_route'], ['id' => $row['id']]);

View file

@ -96,6 +96,7 @@ class OutletController extends BaseController
// add row data // add row data
$row['id'] = $orow[0]->getID(); $row['id'] = $orow[0]->getID();
$row['name'] = $orow[0]->getName(); $row['name'] = $orow[0]->getName();
$row['branch'] = $orow[0]->getBranch();
$row['address'] = $orow[0]->getAddress(); $row['address'] = $orow[0]->getAddress();
$row['contact_nums'] = $orow[0]->getContactNumbers(); $row['contact_nums'] = $orow[0]->getContactNumbers();
$row['time_open'] = $orow[0]->getTimeOpen()->format('g:i A'); $row['time_open'] = $orow[0]->getTimeOpen()->format('g:i A');
@ -153,6 +154,7 @@ class OutletController extends BaseController
// set and save values // set and save values
$obj->setName($req->request->get('name')) $obj->setName($req->request->get('name'))
->setBranch($req->request->get('branch'))
->setAddress($req->request->get('address')) ->setAddress($req->request->get('address'))
->setContactNumbers($req->request->get('contact_nums')) ->setContactNumbers($req->request->get('contact_nums'))
->setTimeOpen($time_open) ->setTimeOpen($time_open)
@ -165,6 +167,7 @@ class OutletController extends BaseController
if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) { if (isset($datatable['query']['data-rows-search']) && !empty($datatable['query']['data-rows-search'])) {
$query->where('hub.name LIKE :filter') $query->where('hub.name LIKE :filter')
->orWhere('q.name LIKE :filter') ->orWhere('q.name LIKE :filter')
->orWhere('q.branch LIKE :filter')
->orWhere('q.address LIKE :filter') ->orWhere('q.address LIKE :filter')
->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%'); ->setParameter('filter', '%' . $datatable['query']['data-rows-search'] . '%');
} }

View file

@ -142,7 +142,8 @@ class JobOrder
// delivery address // delivery address
/** /**
* @ORM\Column(type="text", nullable=true) * @ORM\Column(type="text")
* @Assert\NotBlank()
*/ */
protected $delivery_address; protected $delivery_address;

View file

@ -53,23 +53,34 @@
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="customer-info" role="tabpanel"> <div class="tab-pane active" id="customer-info" role="tabpanel">
<div class="form-group m-form__group row"> <div class="form-group m-form__group row">
<div class="col-lg-6"> <div class="col-lg-4">
<label data-field="first_name"> <label data-field="first_name">
First Name First Name
</label> </label>
<input type="text" name="first_name" class="form-control m-input" value="{{ obj.getFirstName() }}" data-name="first_name"> <input type="text" name="first_name" class="form-control m-input" value="{{ obj.getFirstName() }}" data-name="first_name">
<div class="form-control-feedback hide" data-field="first_name"></div> <div class="form-control-feedback hide" data-field="first_name"></div>
</div> </div>
<div class="col-lg-6"> <div class="col-lg-4">
<label data-field="last_name"> <label data-field="last_name">
Last Name Last Name
</label> </label>
<input type="text" name="last_name" class="form-control m-input" value="{{ obj.getLastName() }}" data-name="last_name"> <input type="text" name="last_name" class="form-control m-input" value="{{ obj.getLastName() }}" data-name="last_name">
<div class="form-control-feedback hide" data-field="last_name"></div> <div class="form-control-feedback hide" data-field="last_name"></div>
</div>
<div class="col-lg-4">
<label data-field="customer_classification">
Customer Classification
</label>
<select name="customer_classification" class="form-control m-input">
{% for key, classification in classifications %}
<option value="{{ key }}"{{ obj.getCustomerClassification == key ? ' selected' }}>{{ classification }}</option>
{% endfor %}
</select>
<div class="form-control-feedback hide" data-field="customer_classification"></div>
</div> </div>
</div> </div>
<div class="form-group m-form__group row"> <div class="form-group m-form__group row">
<div class="col-lg-6"> <div class="col-lg-4">
<label data-field="customer_notes"> <label data-field="customer_notes">
Customer Notes Customer Notes
</label> </label>

View file

@ -91,6 +91,20 @@
field: 'last_name', field: 'last_name',
title: 'Last Name' title: 'Last Name'
}, },
{
field: 'customer_classification',
title: 'Classification'
},
{
field: 'mobile_numbers',
title: 'Mobile Numbers',
sortable: false
},
{
field: 'plate_numbers',
title: 'Plate Numbers',
sortable: false
},
{ {
field: 'flag_confirmed', field: 'flag_confirmed',
title: 'Status', title: 'Status',
@ -106,6 +120,25 @@
return tag; return tag;
} }
}, },
{
field: 'flag_mobile_app',
title: 'Has Mobile App?',
template: function (row, index, datatable) {
var tag = '';
if (row.flag_mobile_app === true) {
tag = '<span class="m-badge m-badge--success m-badge--wide">Yes</span>';
} else {
tag = '<span class="m-badge m-badge--danger m-badge--wide">No</span>';
}
return tag;
}
},
{
field: 'app_mobile_number',
title: 'Registered Number'
},
{ {
field: 'Actions', field: 'Actions',
width: 110, width: 110,

View file

@ -58,6 +58,31 @@
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}"> <input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
<div class="form-control-feedback hide" data-field="name"></div> <div class="form-control-feedback hide" data-field="name"></div>
</div> </div>
<div class="col-lg-6">
<label for="name" data-field="branch">
Branch
</label>
<input type="text" name="branch" class="form-control m-input" value="{{ obj.getBranch() }}">
<div class="form-control-feedback hide" data-field="branch"></div>
</div>
</div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-6">
<label for="address" data-field="address">
Address
</label>
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
<div class="form-control-feedback hide" data-field="address"></div>
</div>
<div class="col-lg-6">
<label for="contact_nums" data-field="contact_nums">
Contact Numbers
</label>
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
<div class="form-control-feedback hide" data-field="contact_nums"></div>
</div>
</div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-3"> <div class="col-lg-3">
<label for="time_open"> <label for="time_open">
Time Open Time Open
@ -83,22 +108,6 @@
<div class="form-control-feedback hide" data-field="time_close"></div> <div class="form-control-feedback hide" data-field="time_close"></div>
</div> </div>
</div> </div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-6">
<label for="address" data-field="address">
Address
</label>
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
<div class="form-control-feedback hide" data-field="address"></div>
</div>
<div class="col-lg-6">
<label for="contact_nums" data-field="contact_nums">
Contact Numbers
</label>
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
<div class="form-control-feedback hide" data-field="contact_nums"></div>
</div>
</div>
<div class="form-group m-form__group row"> <div class="form-group m-form__group row">
<div class="col-lg-12"> <div class="col-lg-12">
<label> <label>
@ -309,6 +318,7 @@ $(function() {
{% for outlet in obj.getOutlets() %} {% for outlet in obj.getOutlets() %}
orow = { orow = {
name: "{{ outlet.getName() }}", name: "{{ outlet.getName() }}",
branch: "{{ outlet.getBranch() }}",
address: "{{ outlet.getAddress() }}", address: "{{ outlet.getAddress() }}",
contact_nums: '{{ outlet.getContactNumbers()|replace({"\r\n": "<br>"})|raw }}', contact_nums: '{{ outlet.getContactNumbers()|replace({"\r\n": "<br>"})|raw }}',
time_open: "{{ outlet.getTimeOpen()|date('g:i A') }}", time_open: "{{ outlet.getTimeOpen()|date('g:i A') }}",
@ -342,7 +352,11 @@ $(function() {
columns: [ columns: [
{ {
field: 'name', field: 'name',
title: 'Name' title: 'Outlet'
},
{
field: 'branch',
title: 'Branch'
}, },
{ {
field: 'address', field: 'address',

View file

@ -82,7 +82,11 @@
}, },
{ {
field: 'name', field: 'name',
title: 'Name' title: 'Hub'
},
{
field: 'branch',
title: 'Branch'
}, },
{ {
field: 'address', field: 'address',

View file

@ -154,7 +154,7 @@
<select class="form-control m-input" name="service_type"> <select class="form-control m-input" name="service_type">
<!--<option value=""></option>--> <!--<option value=""></option>-->
{% for key, service in service_types %} {% for key, service in service_types %}
<option value="{{ key }}"{{ obj.getServiceType == service ? ' selected' }}>{{ service }}</option> <option value="{{ key }}"{{ obj.getServiceType == key ? ' selected' }}>{{ service }}</option>
{% endfor %} {% endfor %}
</select> </select>
<div class="form-control-feedback hide" data-field="service_type"></div> <div class="form-control-feedback hide" data-field="service_type"></div>
@ -339,21 +339,17 @@
<table id="outlets-table" class="table table-compact table-hover table-clickable m-table"> <table id="outlets-table" class="table table-compact table-hover table-clickable m-table">
<thead> <thead>
<tr> <tr>
<th>Name</th> <th>Outlet</th>
<th>Address</th> <th>Branch</th>
<th>Numbers</th>
<th>Opening</th>
<th>Closing</th>
<th class="text-right">Sales Count</th>
<th class="text-right">Sales Amount</th>
<th class="text-right">Service Count</th>
<th class="text-right">Distance</th> <th class="text-right">Distance</th>
<th class="text-right">Travel Time</th> <th class="text-right">Travel Time</th>
</tr> <th class="text-right">Sales (Day)</th>
<th class="text-right">Services (Day)</th>
<th>Contact Numbers</th> </tr>
</thead> </thead>
<tbody> <tbody>
<tr class="placeholder-row{{ outlets|length > 0 ? ' hide' }}"> <tr class="placeholder-row{{ outlets|length > 0 ? ' hide' }}">
<td colspan="10"> <td colspan="7">
No items to display. No items to display.
</td> </td>
</tr> </tr>
@ -361,15 +357,12 @@
{% for outlet in outlets %} {% for outlet in outlets %}
<tr data-lat="{{ outlet.outlet.getCoordinates.getLatitude }}" data-lng="{{ outlet.outlet.getCoordinates.getLongitude }}" data-id="{{ outlet.outlet.getID }}"{{ obj.getOutlet and obj.getOutlet.getID == outlet.outlet.getID ? ' class="m-table__row--primary"' }}> <tr data-lat="{{ outlet.outlet.getCoordinates.getLatitude }}" data-lng="{{ outlet.outlet.getCoordinates.getLongitude }}" data-id="{{ outlet.outlet.getID }}"{{ obj.getOutlet and obj.getOutlet.getID == outlet.outlet.getID ? ' class="m-table__row--primary"' }}>
<td>{{ outlet.outlet.getName }}</td> <td>{{ outlet.outlet.getName }}</td>
<td>{{ outlet.outlet.getAddress }}</td> <td>{{ outlet.outlet.getBranch }}</td>
<td>{{ outlet.outlet.getContactNumbers }}</td>
<td>{{ outlet.outlet.getTimeOpen|date("g:i A") }}</td>
<td>{{ outlet.outlet.getTimeClose|date("g:i A") }}</td>
<td class="text-right">0.00</td>
<td class="text-right">0.00</td>
<td class="text-right">0</td>
<td class="text-right">{{ outlet.distance ? outlet.distance : '-' }}</td> <td class="text-right">{{ outlet.distance ? outlet.distance : '-' }}</td>
<td class="text-right">{{ outlet.duration ? outlet.duration : '-' }}</td> <td class="text-right">{{ outlet.duration ? outlet.duration : '-' }}</td>
<td class="text-right">0</td>
<td class="text-right">0</td>
<td>{{ outlet.outlet.getContactNumbers }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>

View file

@ -75,32 +75,27 @@
columns: [ columns: [
{ {
field: 'id', field: 'id',
title: 'ID' title: 'JO Number'
},
{
field: 'delivery_address',
title: 'Customer Area'
},
{
field: 'service_type',
title: 'Type of Transaction'
}, },
{ {
field: 'date_schedule', field: 'date_schedule',
title: 'Scheduled Date' title: 'Scheduled Date'
}, },
{ {
field: 'date_schedule_time', field: 'status',
title: 'Scheduled Time', title: 'Status'
sortable: false
}, },
{ {
field: 'service_type', field: 'owner',
title: 'Service Type' title: 'Owner'
},
{
field: 'plate_number',
title: 'Plate No.'
},
{
field: 'customer_name',
title: 'Customer'
},
{
field: 'mobile_numbers',
title: 'Mobile Numbers'
}, },
{ {
field: 'Actions', field: 'Actions',

View file

@ -43,18 +43,32 @@
<input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}"> <input type="text" name="name" class="form-control m-input" value="{{ obj.getName() }}">
<div class="form-control-feedback hide" data-field="name"></div> <div class="form-control-feedback hide" data-field="name"></div>
</div> </div>
<div class="col-lg-6">
<label for="name" data-field="branch">
Branch
</label>
<input type="text" name="branch" class="form-control m-input" value="{{ obj.getBranch() }}">
<div class="form-control-feedback hide" data-field="branch"></div>
</div>
</div> </div>
<div class="form-group m-form__group row no-border"> <div class="form-group m-form__group row no-border">
<div class="col-lg-6"> <div class="col-lg-6">
<label data-field="hub">Hub</label> <label for="address" data-field="address">
<select class="form-control m-input" id="hub" name="hub"> Address
<option value=""></option> </label>
{% for hub in hubs %} <textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea>
<option value="{{ hub.getID() }}"{{ obj.getHub() and hub.getID() == obj.getHub().getID() ? ' selected' }}>{{ hub.getName() }}</option> <div class="form-control-feedback hide" data-field="address"></div>
{% endfor %}
</select>
<div class="form-control-feedback hide" data-field="hub"></div>
</div> </div>
<div class="col-lg-6">
<label for="contact_nums" data-field="contact_nums">
Contact Numbers
</label>
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
<div class="form-control-feedback hide" data-field="contact_nums"></div>
</div>
</div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-3"> <div class="col-lg-3">
<label for="time_open"> <label for="time_open">
Time Open Time Open
@ -79,21 +93,15 @@
</div> </div>
<div class="form-control-feedback hide" data-field="time_close"></div> <div class="form-control-feedback hide" data-field="time_close"></div>
</div> </div>
</div>
<div class="form-group m-form__group row no-border">
<div class="col-lg-6"> <div class="col-lg-6">
<label for="address" data-field="address"> <label data-field="hub">Hub</label>
Address <select class="form-control m-input" id="hub" name="hub">
</label> <option value=""></option>
<textarea class="form-control m-input" id="address" rows="4" name="address">{{ obj.getAddress }}</textarea> {% for hub in hubs %}
<div class="form-control-feedback hide" data-field="address"></div> <option value="{{ hub.getID() }}"{{ obj.getHub() and hub.getID() == obj.getHub().getID() ? ' selected' }}>{{ hub.getName() }}</option>
</div> {% endfor %}
<div class="col-lg-6"> </select>
<label for="contact_nums" data-field="contact_nums"> <div class="form-control-feedback hide" data-field="hub"></div>
Contact Numbers
</label>
<textarea class="form-control m-input" id="contact_nums" rows="4" name="contact_nums">{{ obj.getContactNumbers }}</textarea>
<div class="form-control-feedback hide" data-field="contact_nums"></div>
</div> </div>
</div> </div>
<div class="form-group m-form__group row"> <div class="form-group m-form__group row">
@ -115,8 +123,6 @@
<div class="form-control-feedback hide" data-field="coordinates"></div> <div class="form-control-feedback hide" data-field="coordinates"></div>
</div> </div>
</div> </div>
</div> </div>
<div class="m-portlet__foot m-portlet__foot--fit"> <div class="m-portlet__foot m-portlet__foot--fit">
<div class="m-form__actions m-form__actions--solid m-form__actions--right"> <div class="m-form__actions m-form__actions--solid m-form__actions--right">

View file

@ -82,7 +82,11 @@
}, },
{ {
field: 'name', field: 'name',
title: 'Name' title: 'Outlet'
},
{
field: 'branch',
title: 'Branch'
}, },
{ {
field: 'address', field: 'address',