Add api user link in Rider entity and metadata field for API User #617
This commit is contained in:
parent
b5218a3499
commit
973ba8ff00
4 changed files with 66 additions and 0 deletions
|
|
@ -53,6 +53,11 @@ class User extends BaseUser
|
||||||
*/
|
*/
|
||||||
protected $roles;
|
protected $roles;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\Column(type="json")
|
||||||
|
*/
|
||||||
|
protected $metadata;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
parent::__construct();
|
parent::__construct();
|
||||||
|
|
@ -63,6 +68,7 @@ class User extends BaseUser
|
||||||
|
|
||||||
// set date created
|
// set date created
|
||||||
$this->date_create = new DateTime();
|
$this->date_create = new DateTime();
|
||||||
|
$this->metadata = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
@ -140,6 +146,20 @@ class User extends BaseUser
|
||||||
return $this->generateKey('secret');
|
return $this->generateKey('secret');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setMetadata($meta)
|
||||||
|
{
|
||||||
|
$this->metadata = $meta;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getMetadata()
|
||||||
|
{
|
||||||
|
if ($this->metadata == null)
|
||||||
|
return [];
|
||||||
|
|
||||||
|
return $this->metadata;
|
||||||
|
}
|
||||||
|
|
||||||
protected function generateKey($prefix = '')
|
protected function generateKey($prefix = '')
|
||||||
{
|
{
|
||||||
return md5(uniqid($prefix, true));
|
return md5(uniqid($prefix, true));
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||||
|
|
||||||
use Catalyst\MenuBundle\Annotation\Menu;
|
use Catalyst\MenuBundle\Annotation\Menu;
|
||||||
|
|
||||||
|
use App\Entity\Rider;
|
||||||
|
|
||||||
class APIUserController extends Controller
|
class APIUserController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
|
@ -135,6 +137,7 @@ class APIUserController extends Controller
|
||||||
// get roles
|
// get roles
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$params['roles'] = $em->getRepository(APIRole::class)->findAll();
|
$params['roles'] = $em->getRepository(APIRole::class)->findAll();
|
||||||
|
$params['riders'] = $em->getRepository(Rider::class)->findBy([], ['first_name' => 'asc']);
|
||||||
|
|
||||||
// response
|
// response
|
||||||
return $this->render('api-user/form.html.twig', $params);
|
return $this->render('api-user/form.html.twig', $params);
|
||||||
|
|
@ -149,9 +152,13 @@ class APIUserController extends Controller
|
||||||
$em = $this->getDoctrine()->getManager();
|
$em = $this->getDoctrine()->getManager();
|
||||||
$obj = new APIUser();
|
$obj = new APIUser();
|
||||||
|
|
||||||
|
// metadata
|
||||||
|
$meta = ['rider_id' => $req->request->get('rider_id')];
|
||||||
|
|
||||||
// set and save values
|
// set and save values
|
||||||
$obj->setName($req->request->get('name'))
|
$obj->setName($req->request->get('name'))
|
||||||
->setEnabled($req->request->get('enabled') ? true : false)
|
->setEnabled($req->request->get('enabled') ? true : false)
|
||||||
|
->setMetadata($meta)
|
||||||
->clearRoles();
|
->clearRoles();
|
||||||
|
|
||||||
// set roles
|
// set roles
|
||||||
|
|
@ -221,6 +228,7 @@ class APIUserController extends Controller
|
||||||
|
|
||||||
// get roles
|
// get roles
|
||||||
$params['roles'] = $em->getRepository(APIRole::class)->findAll();
|
$params['roles'] = $em->getRepository(APIRole::class)->findAll();
|
||||||
|
$params['riders'] = $em->getRepository(Rider::class)->findBy([], ['first_name' => 'asc']);
|
||||||
|
|
||||||
$params['obj'] = $obj;
|
$params['obj'] = $obj;
|
||||||
|
|
||||||
|
|
@ -241,8 +249,12 @@ class APIUserController extends Controller
|
||||||
throw $this->createNotFoundException('The item does not exist');
|
throw $this->createNotFoundException('The item does not exist');
|
||||||
|
|
||||||
// set and save values
|
// set and save values
|
||||||
|
$meta = $obj->getMetadata();
|
||||||
|
$meta['rider_id'] = $req->request->get('rider_id');
|
||||||
|
|
||||||
$obj->setName($req->request->get('name'))
|
$obj->setName($req->request->get('name'))
|
||||||
->setEnabled($req->request->get('enabled') ? true : false)
|
->setEnabled($req->request->get('enabled') ? true : false)
|
||||||
|
->setMetadata($meta)
|
||||||
->clearRoles();
|
->clearRoles();
|
||||||
|
|
||||||
// set roles
|
// set roles
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ use Doctrine\Common\Collections\ArrayCollection;
|
||||||
use Doctrine\Common\Collections\Criteria;
|
use Doctrine\Common\Collections\Criteria;
|
||||||
|
|
||||||
use App\Ramcar\JOStatus;
|
use App\Ramcar\JOStatus;
|
||||||
|
use Catalyst\APIBundle\Entity\User as APIUser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Entity
|
* @ORM\Entity
|
||||||
|
|
@ -129,6 +130,12 @@ class Rider
|
||||||
*/
|
*/
|
||||||
protected $current_job_order;
|
protected $current_job_order;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ORM\OneToOne(targetEntity="Catalyst\APIBundle\Entity\User")
|
||||||
|
* @ORM\JoinColumn(name="api_user_id", referencedColumnName="id", nullable=true)
|
||||||
|
*/
|
||||||
|
protected $api_user;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->job_orders = new ArrayCollection();
|
$this->job_orders = new ArrayCollection();
|
||||||
|
|
@ -142,6 +149,7 @@ class Rider
|
||||||
|
|
||||||
$this->active_job_order = null;
|
$this->active_job_order = null;
|
||||||
$this->current_job_order = null;
|
$this->current_job_order = null;
|
||||||
|
$this->api_user = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getID()
|
public function getID()
|
||||||
|
|
@ -392,4 +400,15 @@ class Rider
|
||||||
{
|
{
|
||||||
return $this->current_job_order;
|
return $this->current_job_order;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setAPIUser($user)
|
||||||
|
{
|
||||||
|
$this->api_user = $user;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAPIUser()
|
||||||
|
{
|
||||||
|
return $this->api_user;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,21 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group m-form__group row no-border">
|
||||||
|
<div class="col-lg-8">
|
||||||
|
<label data-field="brand">
|
||||||
|
Rider (Matched with User for Rider App Purposes)
|
||||||
|
</label>
|
||||||
|
<select class="form-control m-input" id="rider_id" name="rider_id">
|
||||||
|
<option value=""></option>
|
||||||
|
{% set meta = obj.getMetadata %}
|
||||||
|
{% for rider in riders %}
|
||||||
|
<option value="{{ rider.getID }}"{{ rider.getID == meta.rider_id|default(0) ? ' selected' }}>{{ rider.getFirstName ~ ' ' ~ rider.getLastName }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
<div class="form-control-feedback hide" data-field="brand"></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-12">
|
<div class="col-lg-12">
|
||||||
<span class="m-switch m-switch--icon block-switch">
|
<span class="m-switch m-switch--icon block-switch">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue