public function addElements(Request $request, Basket $basket)
 {
     $n = 0;
     $records = RecordsRequest::fromRequest($this->app, $request, true);
     $em = $this->getEntityManager();
     foreach ($records as $record) {
         if ($basket->hasRecord($this->app, $record)) {
             continue;
         }
         $basket_element = new BasketElement();
         $basket_element->setRecord($record);
         $basket_element->setBasket($basket);
         $em->persist($basket_element);
         $basket->addElement($basket_element);
         if (null !== ($validationSession = $basket->getValidation())) {
             $participants = $validationSession->getParticipants();
             foreach ($participants as $participant) {
                 $validationData = new ValidationData();
                 $validationData->setParticipant($participant);
                 $validationData->setBasketElement($basket_element);
                 $em->persist($validationData);
             }
         }
         $n++;
     }
     $em->flush();
     $data = ['success' => true, 'message' => $this->app->trans('%quantity% records added', ['%quantity%' => $n])];
     if ($request->getRequestFormat() === 'json') {
         return $this->app->json($data);
     }
     return $this->app->redirectPath('prod_workzone_show');
 }
 /**
  * {@inheritDoc}
  */
 public function hasRecord(\Alchemy\Phrasea\Application $app, \record_adapter $record)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasRecord', array($app, $record));
     return parent::hasRecord($app, $record);
 }