Merge branch '625-new-rider-cannot-log-in-to-app' into 'master-fix'
Resolve "New rider cannot log in to app" See merge request jankstudio/resq!739
This commit is contained in:
commit
38ce447b0a
1 changed files with 43 additions and 0 deletions
|
|
@ -25,6 +25,9 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
|
||||||
|
|
||||||
use Catalyst\MenuBundle\Annotation\Menu;
|
use Catalyst\MenuBundle\Annotation\Menu;
|
||||||
|
|
||||||
|
use Catalyst\APIBundle\Entity\User as APIUser;
|
||||||
|
use Catalyst\APIBundle\Entity\Role as APIRole;
|
||||||
|
|
||||||
use DateTime;
|
use DateTime;
|
||||||
|
|
||||||
class RiderController extends Controller
|
class RiderController extends Controller
|
||||||
|
|
@ -283,6 +286,9 @@ class RiderController extends Controller
|
||||||
$em->persist($obj);
|
$em->persist($obj);
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
|
||||||
|
// create rider's api user
|
||||||
|
$this->createRiderAPIUser($obj, $em);
|
||||||
|
|
||||||
// return successful response
|
// return successful response
|
||||||
return $this->json([
|
return $this->json([
|
||||||
'success' => 'Changes have been saved!'
|
'success' => 'Changes have been saved!'
|
||||||
|
|
@ -507,6 +513,43 @@ class RiderController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function createRiderAPIUser($obj, EntityManagerInterface $em)
|
||||||
|
{
|
||||||
|
// get api role for rider
|
||||||
|
$role_id = 'ROLE_RIDER';
|
||||||
|
$role = $em->getRepository(APIRole::class)->find($role_id);
|
||||||
|
if ($role == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Secret and API keys are generated in constructor
|
||||||
|
$api_user = new APIUser();
|
||||||
|
|
||||||
|
// set enabled to true
|
||||||
|
$api_user->setEnabled(true);
|
||||||
|
|
||||||
|
// set name to rider's last name + first name
|
||||||
|
$rider_name = $obj->getFirstName() . ' ' . $obj->getLastName();
|
||||||
|
$api_user->setName($rider_name);
|
||||||
|
|
||||||
|
// set rider to api_user
|
||||||
|
$api_user->setRider($obj);
|
||||||
|
|
||||||
|
// set meta
|
||||||
|
$meta = ['rider_id' => $obj->getID()];
|
||||||
|
$api_user->setMetaData($meta);
|
||||||
|
|
||||||
|
// set role
|
||||||
|
$api_user->addRole($role);
|
||||||
|
|
||||||
|
// set rider's api user
|
||||||
|
$obj->setAPIUser($api_user);
|
||||||
|
|
||||||
|
$em->persist($api_user);
|
||||||
|
$em->flush();
|
||||||
|
}
|
||||||
|
|
||||||
public function popupInfo(EntityManagerInterface $em, $id)
|
public function popupInfo(EntityManagerInterface $em, $id)
|
||||||
{
|
{
|
||||||
$rider = $em->getRepository(Rider::class)->find($id);
|
$rider = $em->getRepository(Rider::class)->find($id);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue