Example #1
0
 /**
  * Define line class as list of names
  *
  * @param integer              $index  Line index
  * @param \XLite\Model\AEntity $entity Line model OPTIONAL
  *
  * @return array
  */
 protected function defineLineClass($index, \XLite\Model\AEntity $entity = null)
 {
     $classes = parent::defineLineClass($index, $entity);
     if ($entity && \XLite\Core\Session::getInstance()->added_labels && in_array($entity->getLabelId(), \XLite\Core\Session::getInstance()->added_labels)) {
         $classes[] = 'just-added';
     }
     return $classes;
 }
Example #2
0
 /**
  * Remove entity
  *
  * @param \XLite\Model\AEntity $entity Entity
  *
  * @return boolean
  */
 protected function removeEntity(\XLite\Model\AEntity $entity)
 {
     $product = $entity->getProduct();
     if ($this->isNeedUpdateStock() && !$entity->isDeleted()) {
         // Return items to stock
         $entity->changeAmount($entity->getAmount());
     }
     $attributes = $this->getAttributeValuesAsString($entity);
     \XLite\Controller\Admin\Order::setOrderChanges('Removed items:' . $entity->getItemId(), sprintf('[%s] %s (%s x %d%s)', $product->getSku(), $product->getName(), static::formatPrice($entity->getPrice(), $entity->getOrder()->getCurrency(), true), $entity->getAmount(), $attributes ? ', ' . $attributes : ''));
     return parent::removeEntity($entity);
 }
Example #3
0
 /**
  * Return params list to use for search
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     foreach (static::getSearchParams() as $modelParam => $requestParam) {
         $result->{$modelParam} = $this->getParam($requestParam);
     }
     return $result;
 }
Example #4
0
 /**
  * Define line class as list of names
  *
  * @param integer              $index  Line index
  * @param \XLite\Model\AEntity $entity Line model OPTIONAL
  *
  * @return array
  */
 protected function defineLineClass($index, \XLite\Model\AEntity $entity = null)
 {
     $classes = parent::defineLineClass($index, $entity);
     if ($entity && !$entity->getEnabled()) {
         $classes[] = 'lock';
     }
     return $classes;
 }
Example #5
0
 /**
  * Remove entity
  *
  * @param \XLite\Model\AEntity $entity Entity
  *
  * @return boolean
  */
 protected function removeEntity(\XLite\Model\AEntity $entity)
 {
     $this->getProduct()->getVariants()->removeElement($entity);
     parent::removeEntity($entity);
     return true;
 }
Example #6
0
 /**
  * Build entity page URL
  *
  * @param \XLite\Model\AEntity $entity Entity
  * @param array                $column Column data
  *
  * @return string
  */
 protected function buildEntityURL(\XLite\Model\AEntity $entity, array $column)
 {
     if ('product' == $column[static::COLUMN_CODE]) {
         $result = \XLite\Core\Converter::buildURL('product', '', array('product_id' => $entity->getProduct()->getProductId()));
     } else {
         $result = parent::buildEntityURL($entity, $column);
     }
     return $result;
 }
Example #7
0
 /**
  * Define line class  as list of names
  *
  * @param integer              $index  Line index
  * @param \XLite\Model\AEntity $entity Line model OPTIONAL
  *
  * @return array
  */
 protected function defineLineClass($index, \XLite\Model\AEntity $entity = null)
 {
     $classes = parent::defineLineClass($index, $entity);
     if ($entity) {
         $classes[] = $entity->getEnabled() ? 'enabled' : 'disabled';
         $classes[] = $entity->isActive() ? 'active' : 'inactive';
         if ($this->isInfinityUsesLeft($entity)) {
             $classes[] = 'uses-infinity';
         }
     }
     return $classes;
 }
Example #8
0
 /**
  * Return name of the session cell identifier
  *
  * @return string
  */
 protected function getSessionCell()
 {
     return parent::getSessionCell() . $this->getPage();
 }
Example #9
0
 /**
  * Remove entity
  *
  * @param \XLite\Model\AEntity $entity Entity
  *
  * @return boolean
  */
 protected function removeEntity(\XLite\Model\AEntity $entity)
 {
     return $this->isUnremovableRole($entity) ? false : parent::removeEntity($entity);
 }
Example #10
0
 /**
  * Get URL common parameters
  *
  * @return array
  */
 protected function getCommonParams()
 {
     $this->commonParams = parent::getCommonParams();
     $this->commonParams[static::PARAM_PRODUCT_ID] = \XLite\Core\Request::getInstance()->product_id;
     $this->commonParams['page'] = 'upselling_products';
     return $this->commonParams;
 }
Example #11
0
 /**
  * Get pager parameters
  *
  * @return array
  */
 protected function getPagerParams()
 {
     $params = parent::getPagerParams();
     $params[\XLite\View\Pager\APager::PARAM_ITEMS_PER_PAGE] = 50;
     return $params;
 }
Example #12
0
 /**
  * Pre-validate entity
  *
  * @param \XLite\Model\AEntity $entity Entity
  *
  * @return boolean
  */
 protected function prevalidateEntity(\XLite\Model\AEntity $entity)
 {
     $result = parent::prevalidateEntity($entity);
     if ($result) {
         $this->discountKeys[] = $entity->getFingerprint();
     }
     return $result;
 }
Example #13
0
 /**
  * Get container class
  *
  * @return string
  */
 protected function getContainerClass()
 {
     return parent::getContainerClass() . ' pb-export-items-list';
 }
Example #14
0
 /**
  * Get container class
  *
  * @return string
  */
 protected function getContainerClass()
 {
     return parent::getContainerClass() . ' shipping-markups';
 }
Example #15
0
 /**
  * Define so called "request" parameters
  *
  * @return void
  */
 protected function defineRequestParams()
 {
     parent::defineRequestParams();
     $this->requestParams = array_merge($this->requestParams, static::getSearchParams());
 }
Example #16
0
 /**
  * Return params list to use for search
  * TODO refactor
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     $result->{\XLite\Model\Repo\Payment\Transaction::SEARCH_ORDERBY} = $this->getOrderBy();
     foreach (static::getSearchParams() as $modelParam => $requestParam) {
         $paramValue = $this->getParam($requestParam);
         if ('' !== $paramValue && 0 !== $paramValue) {
             $result->{$modelParam} = $paramValue;
         }
     }
     return $result;
 }
Example #17
0
 /**
  * Build entity page URL
  *
  * @param \XLite\Model\AEntity $entity Entity
  * @param array                $column Column data
  *
  * @return string
  */
 protected function buildEntityURL(\XLite\Model\AEntity $entity, array $column)
 {
     return 'order' == $column[static::COLUMN_CODE] ? \XLite\Core\Converter::buildURL('order', '', array('order_number' => $this->getOrder($entity)->getOrderNumber())) : parent::buildEntityURL($entity, $column);
 }
Example #18
0
 /**
  * Get top actions
  *
  * @return array
  */
 protected function getTopActions()
 {
     $actions = parent::getTopActions();
     // "Send tracking information" button is visible if the tracking numbers are provided
     if ($this->hasResults() && !$this->isStatic()) {
         $actions[] = 'order/page/parts/send_tracking.tpl';
     }
     return $actions;
 }
Example #19
0
 /**
  * Get URL common parameters
  *
  * @return array
  */
 protected function getCommonParams()
 {
     $this->commonParams = parent::getCommonParams();
     $this->commonParams[static::PARAM_CATEGORY_ID] = \XLite\Core\Request::getInstance()->{static::PARAM_CATEGORY_ID};
     return $this->commonParams;
 }
Example #20
0
 /**
  * Return params list to use for search
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     // We initialize structure to define order (field and sort direction) in search query.
     $result->{\XLite\Model\Repo\Profile::SEARCH_ORDERBY} = $this->getOrderBy();
     foreach (static::getSearchParams() as $modelParam => $requestParam) {
         $paramValue = $this->getParam($requestParam);
         if (is_string($paramValue)) {
             $paramValue = trim($paramValue);
         }
         if ('' !== $paramValue && 0 !== $paramValue) {
             $result->{$modelParam} = $paramValue;
         }
     }
     $result->{\XLite\Model\Repo\Profile::SEARCH_ONLY_REAL} = true;
     if ($result->{\XLite\Model\Repo\Profile::SEARCH_MEMBERSHIP}) {
         $membershipCondition = $result->{\XLite\Model\Repo\Profile::SEARCH_MEMBERSHIP};
         if (is_array($membershipCondition)) {
             $membershipIds = array_reduce($membershipCondition, function ($carry, $item) {
                 $item = explode('_', $item);
                 if (2 == count($item)) {
                     $carry[$item[0]][] = $item[1];
                 }
                 return $carry;
             }, array());
             $result->{\XLite\Model\Repo\Profile::SEARCH_MEMBERSHIP} = $membershipIds;
         }
     }
     $permittedUserTypes = $this->getPermittedUserTypes();
     if (isset($result->{\XLite\Model\Repo\Profile::SEARCH_USER_TYPE}[0]) && '' !== $result->{\XLite\Model\Repo\Profile::SEARCH_USER_TYPE}[0]) {
         $userTypes = array_filter($result->{\XLite\Model\Repo\Profile::SEARCH_USER_TYPE}, function ($type) use($permittedUserTypes) {
             return in_array($type, $permittedUserTypes);
         });
         $result->{\XLite\Model\Repo\Profile::SEARCH_USER_TYPE} = $userTypes;
     } elseif (!\XLite\Core\Auth::getInstance()->isPermissionAllowed('manage admins')) {
         $result->{\XLite\Model\Repo\Profile::SEARCH_USER_TYPE} = $permittedUserTypes;
     }
     return $result;
 }
Example #21
0
 /**
  * Return "empty list" catalog
  *
  * @return string
  */
 protected function getEmptyListDir()
 {
     return parent::getEmptyListDir() . '/payment/appearance';
 }
Example #22
0
 /**
  * Get column cell class
  *
  * @param array                $column Column
  * @param \XLite\Model\AEntity $entity Model OPTIONAL
  *
  * @return string
  */
 protected function getColumnClass(array $column, \XLite\Model\AEntity $entity = null)
 {
     $class = parent::getColumnClass($column, $entity);
     if ('card' == $column[static::COLUMN_CODE]) {
         $class .= ' ' . strtolower($entity->getCardType());
     }
     return $class;
 }
Example #23
0
 /**
  * Define request data
  * Remove duplicate by quantity and membership entities
  *
  * @return array
  */
 protected function defineRequestData()
 {
     $requestData = parent::defineRequestData();
     $delete = isset($requestData['delete']) ? $requestData['delete'] : array();
     $new = isset($requestData['new']) ? $requestData['new'] : array();
     $data = isset($requestData['data']) ? $requestData['data'] : array();
     foreach ($new as $id => $value) {
         $tier = $this->getTierByQuantityAndMembership($value['quantityRangeBegin'], $value['membership']);
         if ($tier && !isset($delete[$tier->getId()]) && 0 > $id) {
             $data[$tier->getId()] = array('quantityRangeBegin' => $value['quantityRangeBegin'], 'price' => $value['price'], 'membership' => $value['membership']);
             unset($new[$id]);
         } elseif (0 == $id) {
             unset($new[$id]);
         }
     }
     foreach ($data as $id => $value) {
         $tier = $this->getTierByQuantityAndMembership($value['quantityRangeBegin'], $value['membership']);
         if ($tier && $tier->getId() !== $id && !isset($delete[$tier->getId()])) {
             $data[$tier->getId()] = array('quantityRangeBegin' => $value['quantityRangeBegin'], 'price' => $value['price'], 'membership' => $value['membership']);
             $delete[$id] = true;
             unset($data[$id]);
         }
     }
     $requestData = array_merge($requestData, array('new' => $new, 'delete' => $delete, 'data' => $data));
     foreach (array('data', 'new') as $idx) {
         foreach ($requestData[$idx] as $id => $value) {
             if (empty($value['membership']) && 1 == $value['quantityRangeBegin']) {
                 unset($requestData[$idx][$id]);
                 \XLite\Core\TopMessage::addWarning('The base price can not be changed on this page.');
             }
         }
     }
     return $requestData;
 }
Example #24
0
 /**
  * Get container class
  *
  * @return string
  */
 protected function getContainerClass()
 {
     return parent::getContainerClass() . ' news_messages';
 }
Example #25
0
 /**
  * Return params list to use for search
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     $result->{\XLite\Module\XC\PitneyBowes\Model\Repo\PBParcel::P_ORDER} = $this->getOrder();
     return $result;
 }
Example #26
0
 /**
  * Define line class as list of names
  *
  * @param integer              $index  Line index
  * @param \XLite\Model\AEntity $entity Line model OPTIONAL
  *
  * @return array
  */
 protected function defineLineClass($index, \XLite\Model\AEntity $entity = null)
 {
     $result = parent::defineLineClass($index, $entity);
     if (!$entity->getEnabled()) {
         $result[] = 'disabled-method';
     }
     return $result;
 }
Example #27
0
 /**
  * Get container class
  *
  * @return string
  */
 protected function getContainerClass()
 {
     return parent::getContainerClass() . ' orders';
 }
Example #28
0
 /**
  * Return params list to use for search
  * TODO refactor
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     foreach (static::getSearchParams() as $modelParam => $requestParam) {
         $paramValue = $this->getParam($requestParam);
         if ('' !== $paramValue && 0 !== $paramValue) {
             $result->{$modelParam} = $paramValue;
         }
     }
     $result->{\XLite\Model\Repo\Category::SEARCH_PARENT} = \XLite\Core\Request::getInstance()->id ? intval(\XLite\Core\Request::getInstance()->id) : \XLite\Core\Database::getRepo('XLite\\Model\\Category')->getRootCategoryId();
     return $result;
 }
Example #29
0
 /**
  * Return params list to use for search
  * TODO refactor
  *
  * @return \XLite\Core\CommonCell
  */
 protected function getSearchCondition()
 {
     $result = parent::getSearchCondition();
     foreach (static::getSearchParams() as $modelParam => $requestParam) {
         $paramValue = $this->getParam($requestParam);
         if ('' !== $paramValue && 0 !== $paramValue) {
             $result->{$modelParam} = $paramValue;
         }
     }
     $result->product = $this->getProduct();
     return $result;
 }
Example #30
0
 /**
  * Get column value
  *
  * @param array                $column Column
  * @param \XLite\Model\AEntity $entity Model
  *
  * @return mixed
  */
 protected function getColumnValue(array $column, \XLite\Model\AEntity $entity)
 {
     if ('name' == $column[static::COLUMN_CODE]) {
         $result = parent::getColumnValue($column, $entity);
     }
     return $result;
 }