/**
  * @param $post
  * @internal param $accountId
  */
 public function addCustomFieldsToParams($post)
 {
     $customFields = CustomFieldFacade::formatCustomFieldCollection($this->getServiceLocator()->get('transactionService')->getCustomFields($this->params['account_id']));
     foreach ($customFields as $customField) {
         $temp = $post->get($customField['name']);
         if ($temp != null) {
             $this->params[$customField['name']] = $temp;
         }
     }
 }
 /**
  * @param $accountId
  */
 private function createCampaignSettings($accountId)
 {
     $customTransactionFields = CustomFieldFacade::formatCustomFieldCollection($this->getServiceLocator()->get('transactionService')->getCustomFields($accountId));
     if ($customTransactionFields == null) {
         $customTransactionFields = $this->options;
     } else {
         $customTransactionFields = array_merge($customTransactionFields, $this->options);
     }
     $campaigns = CampaignFacade::formatCampaignList($this->serviceLocator->get('campaignService')->getActiveCampaigns($accountId));
     foreach ($campaigns as $campaign) {
         foreach ($customTransactionFields as $customTransactionField) {
             if (!$this->existCustomFieldCampaignSetting($campaign['id'], $customTransactionField['name'])) {
                 $campaignSetting = new CampaignSettings();
                 $campaignSetting->setCampaignId($campaign['id']);
                 $campaignSetting->setFieldName($customTransactionField['name']);
                 $campaignSetting->setFieldLabel($customTransactionField['label']);
                 $campaignSetting->setIsActive(1);
                 $this->entityManager->persist($campaignSetting);
                 $this->entityManager->flush();
             }
         }
     }
 }
 /**
  * @return array
  * @throws \Exception
  */
 public function customFieldsAction()
 {
     $user = $this->zfcUserAuthentication()->getIdentity();
     if (UserHelper::isMerchant($user)) {
         return new JsonModel(CustomFieldFacade::formatCustomFieldCollection($this->getServiceLocator()->get('transactionService')->getCustomFields($user->getAccount())));
     }
 }