Exemplo n.º 1
0
 /**
  * VenueChargeForm constructor.
  * @param string $name
  * @param array $data
  */
 public function __construct($data = [], $chargeData = [])
 {
     parent::__construct();
     $this->setName('venue-charge')->setAttribute('method', 'post')->setAttribute('class', 'form-horizontal');
     $this->add(['name' => 'id', 'type' => 'Zend\\Form\\Element\\Number', 'attributes' => ['type' => 'hidden']]);
     $this->add(['name' => 'venue_id', 'type' => 'Zend\\Form\\Element\\Number', 'attributes' => ['type' => 'hidden']]);
     $this->add(['name' => 'status_id', 'type' => 'Zend\\Form\\Element\\Select', 'attributes' => ['id' => 'status_id', 'class' => 'form-control', 'data-placeholder' => 'Select Status', 'data-id' => empty($chargeData) ? '' : $chargeData->getStatus()], 'options' => ['label' => 'Payment', 'value_options' => VenueCharges::getChargeStatuses()]]);
     $this->add(['name' => 'order_status_id', 'type' => 'Zend\\Form\\Element\\Select', 'attributes' => ['id' => 'order_status_id', 'class' => 'form-control', 'data-placeholder' => 'Select Order Status', 'data-id' => empty($chargeData) ? '' : $chargeData->getOrderStatus()], 'options' => ['label' => 'Order', 'value_options' => VenueCharges::getChargeOrderStatuses()]]);
     $this->add(['name' => 'description', 'type' => 'Zend\\Form\\Element\\Textarea', 'attributes' => ['id' => 'description', 'class' => 'form-control', 'rows' => 8, 'maxlength' => 5000, 'value' => empty($chargeData) ? '' : $chargeData->getDescription()], 'options' => ['label' => 'Description']]);
     $this->add(['name' => 'amount', 'type' => 'Zend\\Form\\Element\\Number', 'attributes' => ['id' => 'amount', 'class' => 'form-control', 'step' => '0.01', 'value' => empty($chargeData) ? '' : $chargeData->getAmount()], 'options' => ['label' => 'Amount']]);
     $this->add(['name' => 'is_archived', 'type' => 'Zend\\Form\\Element\\Checkbox', 'attributes' => ['id' => 'is_archived', 'value' => empty($chargeData) ? '' : $chargeData->getIsArchived(), 'class' => 'hidden'], 'options' => ['label' => 'Archived']]);
     $usersList = [];
     if (isset($data['users_list']) && !empty($data['users_list'])) {
         foreach ($data['users_list'] as $user) {
             $usersList[$user['id']] = $user['firstname'] . ' ' . $user['lastname'];
         }
     }
     $this->add(['name' => 'charged_user_id', 'type' => 'Zend\\Form\\Element\\Select', 'attributes' => ['id' => 'charged_user_id', 'class' => 'form-control', 'data-placeholder' => 'Select a User', 'data-id' => empty($chargeData) ? '' : $chargeData->getChargedUserId()], 'options' => ['label' => 'Charged User', 'disable_inarray_validator' => true, 'value_options' => $usersList]]);
 }
Exemplo n.º 2
0
 private function prepareVenueCharges($venueId = 0)
 {
     /**
      * @var \Library\Authentication\BackofficeAuthenticationService $auth
      * @var \DDD\Dao\Venue\Charges $venueChargesService
      */
     $auth = $this->getServiceLocator()->get('library_backoffice_auth');
     $venueChargesService = $this->getServiceLocator()->get('dao_venue_charges');
     $venueCharges = $venueChargesService->getChargesByVenueId($venueId, false);
     $isVenueManager = $auth->hasRole(Roles::ROLE_VENUE_MANAGER);
     $isChargeManager = $auth->hasRole(Roles::ROLE_VENUE_CHARGE_MANAGER);
     $chargesData = [];
     foreach ($venueCharges as $charge) {
         /**
          * @var \DDD\Domain\Venue\Charges $charge
          * @var \DDD\Dao\User\UserManager $userDao
          */
         $userDao = $this->getServiceLocator()->get('dao_user_user_manager');
         $creatorData = $userDao->getUserById($charge->getCreatorId(), true, ['firstname', 'lastname']);
         $chargedUserData = $userDao->getUserById($charge->getChargedUserId(), true, ['firstname', 'lastname']);
         switch ($charge->getStatus()) {
             case VenueCharges::CHARGE_STATUS_NEW:
                 $status = '<span class="label label-success">' . VenueCharges::getChargeStatuses()[$charge->getStatus()] . '</span>';
                 break;
             case VenueCharges::CHARGE_STATUS_TRANSFERRED:
                 $status = '<span class="label label-primary">' . VenueCharges::getChargeStatuses()[$charge->getStatus()] . '</span>';
                 break;
             default:
                 $status = '<span class="label label-default">' . VenueCharges::getChargeStatuses()[$charge->getStatus()] . '</span>';
         }
         switch ($charge->getOrderStatus()) {
             case VenueCharges::ORDER_STATUS_NEW:
                 $orderStatus = '<span class="label label-success">' . VenueCharges::getChargeOrderStatuses()[$charge->getOrderStatus()] . '</span>';
                 break;
             case VenueCharges::ORDER_STATUS_PROCESSING:
                 $orderStatus = '<span class="label label-dark-green">' . VenueCharges::getChargeOrderStatuses()[$charge->getOrderStatus()] . '</span>';
                 break;
             case VenueCharges::ORDER_STATUS_DONE:
                 $orderStatus = '<span class="label label-info">' . VenueCharges::getChargeOrderStatuses()[$charge->getOrderStatus()] . '</span>';
                 break;
             case VenueCharges::ORDER_STATUS_VERIFIED:
                 $orderStatus = '<span class="label label-primary">' . VenueCharges::getChargeOrderStatuses()[$charge->getOrderStatus()] . '</span>';
                 break;
             default:
                 $orderStatus = '<span class="label label-default">' . VenueCharges::getChargeOrderStatuses()[$charge->getOrderStatus()] . '</span>';
         }
         $editButton = $isVenueManager || $isChargeManager ? '<a href="' . $this->url()->fromRoute('venue-charges', ['action' => 'edit', 'id' => $charge->getId()]) . '" class="btn btn-xs btn-primary" target="_blank">Edit</a>' : '';
         array_push($chargesData, [$status, $orderStatus, $creatorData->getFirstName() . ' ' . $creatorData->getLastName(), $chargedUserData->getFirstName() . ' ' . $chargedUserData->getLastName(), Helper::truncateNotBreakingHtmlTags($charge->getDescription(), 200), $charge->getAmount(), $editButton]);
     }
     return $chargesData;
 }