⚡ return modifier token when creating a voting stack
This commit is contained in:
parent
087fbafd6a
commit
cfb6b9f65b
|
@ -321,12 +321,24 @@ class DefaultController extends AbstractController {
|
||||||
$data = $request->getContent();
|
$data = $request->getContent();
|
||||||
$data = json_decode( $data, true );
|
$data = json_decode( $data, true );
|
||||||
|
|
||||||
$newOwner = new Owner();
|
|
||||||
$newOwner
|
$emOwner = $this->getDoctrine()->getRepository( Owner::class );
|
||||||
|
$existingOwner = false;
|
||||||
|
$foundOwner = $emOwner->findOneByEmail( trim( $data[ 'email' ] ) );
|
||||||
|
// manage existing or new Owner
|
||||||
|
if ( ! $foundOwner ) {
|
||||||
|
$foundOwner = new Owner();
|
||||||
|
$foundOwner
|
||||||
->setEmail( $data[ 'email' ] )
|
->setEmail( $data[ 'email' ] )
|
||||||
->setPseudo( $data[ 'pseudo' ] );
|
->setPseudo( $data[ 'pseudo' ] );
|
||||||
|
} else {
|
||||||
|
$existingOwner = true;
|
||||||
|
}
|
||||||
|
$foundOwner
|
||||||
|
->setModifierToken( $poll->generateAdminKey() );
|
||||||
$stack = new StackOfVotes();
|
$stack = new StackOfVotes();
|
||||||
$stack
|
$stack
|
||||||
|
->setOwner( $foundOwner )
|
||||||
->setPseudo( $data[ 'pseudo' ] )
|
->setPseudo( $data[ 'pseudo' ] )
|
||||||
->setPoll( $poll );
|
->setPoll( $poll );
|
||||||
foreach ( $data[ 'votes' ] as $voteInfo ) {
|
foreach ( $data[ 'votes' ] as $voteInfo ) {
|
||||||
|
@ -354,10 +366,15 @@ class DefaultController extends AbstractController {
|
||||||
$em->persist( $stack );
|
$em->persist( $stack );
|
||||||
$em->persist( $poll );
|
$em->persist( $poll );
|
||||||
$em->flush();
|
$em->flush();
|
||||||
|
$precision = '';
|
||||||
|
if ( $existingOwner ) {
|
||||||
|
$precision = ' from an existing owner : ' . $foundOwner->getEmail();
|
||||||
|
}
|
||||||
|
|
||||||
return $this->json( [
|
return $this->json( [
|
||||||
'message' => 'you created a vote stack',
|
'message' => 'you created a vote stack' . $precision,
|
||||||
'vote_stack' => $stack,
|
'vote_stack' => $stack,
|
||||||
|
'owner_modifier_token' => $foundOwner->getModifierToken(),
|
||||||
'json_you_sent' => $data,
|
'json_you_sent' => $data,
|
||||||
],
|
],
|
||||||
201 );
|
201 );
|
||||||
|
|
Loading…
Reference in New Issue