Link api user to rider entity directly without need for metadata #617
This commit is contained in:
parent
4a9de8e465
commit
7483c35306
4 changed files with 39 additions and 5 deletions
|
|
@ -53,6 +53,13 @@ class User extends BaseUser
|
||||||
*/
|
*/
|
||||||
protected $roles;
|
protected $roles;
|
||||||
|
|
||||||
|
// rider linked to user
|
||||||
|
// NOTE: we're directly linking this only because we don't have to care about other apps using this library
|
||||||
|
/**
|
||||||
|
* @ORM\OneToOne(targetEntity="App\Entity\Rider", mappedBy="api_user")
|
||||||
|
*/
|
||||||
|
protected $rider;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\Column(type="json")
|
* @ORM\Column(type="json")
|
||||||
*/
|
*/
|
||||||
|
|
@ -164,5 +171,16 @@ class User extends BaseUser
|
||||||
{
|
{
|
||||||
return md5(uniqid($prefix, true));
|
return md5(uniqid($prefix, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setRider($rider)
|
||||||
|
{
|
||||||
|
$this->rider = $rider;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getRider()
|
||||||
|
{
|
||||||
|
return $this->rider;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -153,12 +153,20 @@ class APIUserController extends Controller
|
||||||
$obj = new APIUser();
|
$obj = new APIUser();
|
||||||
|
|
||||||
// metadata
|
// metadata
|
||||||
$meta = ['rider_id' => $req->request->get('rider_id')];
|
$rider_id = $req->request->get('rider_id');
|
||||||
|
$rider = $em->getRepository(Rider::class)->find($rider_id);
|
||||||
|
// TODO: check for null rider
|
||||||
|
|
||||||
|
$meta = ['rider_id' => $rider_id];
|
||||||
|
|
||||||
|
// set api user in rider
|
||||||
|
$rider->setAPIUser($obj);
|
||||||
|
|
||||||
// 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)
|
->setMetadata($meta)
|
||||||
|
->setRider($rider)
|
||||||
->clearRoles();
|
->clearRoles();
|
||||||
|
|
||||||
// set roles
|
// set roles
|
||||||
|
|
@ -249,12 +257,21 @@ 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
|
||||||
|
// metadata
|
||||||
|
$rider_id = $req->request->get('rider_id');
|
||||||
|
$rider = $em->getRepository(Rider::class)->find($rider_id);
|
||||||
|
// TODO: check for null rider
|
||||||
|
|
||||||
$meta = $obj->getMetadata();
|
$meta = $obj->getMetadata();
|
||||||
$meta['rider_id'] = $req->request->get('rider_id');
|
$meta['rider_id'] = $rider_id;
|
||||||
|
|
||||||
|
// set api user in rider
|
||||||
|
$rider->setAPIUser($obj);
|
||||||
|
|
||||||
$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)
|
->setMetadata($meta)
|
||||||
|
->setRider($rider)
|
||||||
->clearRoles();
|
->clearRoles();
|
||||||
|
|
||||||
// set roles
|
// set roles
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ class Rider
|
||||||
protected $current_job_order;
|
protected $current_job_order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ORM\OneToOne(targetEntity="Catalyst\APIBundle\Entity\User")
|
* @ORM\OneToOne(targetEntity="Catalyst\APIBundle\Entity\User", inversedBy="rider")
|
||||||
* @ORM\JoinColumn(name="api_user_id", referencedColumnName="id", nullable=true)
|
* @ORM\JoinColumn(name="api_user_id", referencedColumnName="id", nullable=true)
|
||||||
*/
|
*/
|
||||||
protected $api_user;
|
protected $api_user;
|
||||||
|
|
|
||||||
|
|
@ -52,9 +52,8 @@
|
||||||
</label>
|
</label>
|
||||||
<select class="form-control m-input" id="rider_id" name="rider_id">
|
<select class="form-control m-input" id="rider_id" name="rider_id">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
{% set meta = obj.getMetadata %}
|
|
||||||
{% for rider in riders %}
|
{% for rider in riders %}
|
||||||
<option value="{{ rider.getID }}"{{ rider.getID == meta.rider_id|default(0) ? ' selected' }}>{{ rider.getFirstName ~ ' ' ~ rider.getLastName }}</option>
|
<option value="{{ rider.getID }}"{{ rider.getID == obj.getRider.getID|default(0) ? ' selected' }}>{{ rider.getFirstName ~ ' ' ~ rider.getLastName }}</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select>
|
||||||
<div class="form-control-feedback hide" data-field="brand"></div>
|
<div class="form-control-feedback hide" data-field="brand"></div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue