/** * Create url for passed item using passed url model * @param \Magento\Framework\Object $item * @return string */ public function getUrl($item) { if ($this->_authorization->isAllowed('Magento_Customer::manage') && $item->getCustomerId()) { return parent::getUrl($item); } return false; }
/** * Renders grid column * * @param \Magento\Framework\Object $row * @return string */ public function render(\Magento\Framework\Object $row) { $id = $row->getCustomerId(); if (!$id) { return __('Show Reviews'); } return sprintf('<a href="%s">%s</a>', $this->getUrl('review/product/', array('customerId' => $id)), __('Show Reviews')); }
/** * Render review type * * @param \Magento\Framework\Object $row * @return string */ public function render(\Magento\Framework\Object $row) { if ($row->getCustomerId()) { return __('Customer'); } if ($row->getStoreId() == \Magento\Store\Model\Store::DEFAULT_STORE_ID) { return __('Administrator'); } return __('Guest'); }
/** * Set default shipping to address * * @param \Magento\Framework\Object $address * @return $this */ protected function _afterSave(\Magento\Framework\Object $address) { if ($address->getIsCustomerSaveTransaction()) { return $this; } if ($address->getId() && ($address->getIsDefaultBilling() || $address->getIsDefaultShipping())) { $customer = $this->_createCustomer()->load($address->getCustomerId()); if ($address->getIsDefaultBilling()) { $customer->setDefaultBilling($address->getId()); } if ($address->getIsDefaultShipping()) { $customer->setDefaultShipping($address->getId()); } $customer->save(); } return $this; }
/** * @param \Magento\Framework\Object $row * * @return string */ public function getRowUrl($row) { return $this->getUrl('customer/index/edit', array('id' => $row->getCustomerId(), 'active_tab' => 'cart')); }
/** * Add information about product ids to visitor/customer * * @param \Magento\Framework\Object|\Magento\Reports\Model\Product\Index\AbstractIndex $object * @param array $productIds * @return $this */ public function registerIds(\Magento\Framework\Object $object, $productIds) { $row = ['visitor_id' => $object->getVisitorId(), 'customer_id' => $object->getCustomerId(), 'store_id' => $object->getStoreId()]; $addedAt = (new \DateTime())->getTimestamp(); $data = []; foreach ($productIds as $productId) { $productId = (int) $productId; if ($productId) { $row['product_id'] = $productId; $row['added_at'] = $this->dateTime->formatDate($addedAt); $data[] = $row; } $addedAt -= $addedAt > 0 ? 1 : 0; } $matchFields = ['product_id', 'store_id']; foreach ($data as $row) { $this->_resourceHelper->mergeVisitorProductIndex($this->getMainTable(), $row, $matchFields); } return $this; }
/** * {@inheritdoc} */ protected function _afterDelete(\Magento\Framework\Object $address) { if ($address->getId()) { $customer = $this->_createCustomer()->load($address->getCustomerId()); if ($customer->getDefaultBilling() == $address->getId()) { $customer->setDefaultBilling(null); } if ($customer->getDefaultShipping() == $address->getId()) { $customer->setDefaultShipping(null); } $customer->save(); } return parent::_afterDelete($address); }
/** * @param \Magento\Framework\Object $row * @return string */ public function render(\Magento\Framework\Object $row) { return $row->getCustomerId() > 0 ? __('Customer') : __('Visitor'); }
/** * {@inheritdoc} */ protected function _afterDelete(\Magento\Framework\Object $address) { if ($address->getId()) { $customer = $this->customerRepository->getById($address->getCustomerId()); if ($customer->getDefaultBilling() == $address->getId()) { $customer->setDefaultBilling(null); } if ($customer->getDefaultShipping() == $address->getId()) { $customer->setDefaultShipping(null); } $this->customerRepository->save($customer); } return parent::_afterDelete($address); }
/** * @param Object $order * @param Object $request * @return Object */ public function fillCustomerContacts(Object $order, Object $request) { $customerId = $order->getCustomerId(); if ($customerId) { $request->setCustref($customerId); } $billing = $order->getBillingAddress(); if (!empty($billing)) { $request = $this->setBilling($request, $billing); $request->setEmail($order->getCustomerEmail()); } $shipping = $order->getShippingAddress(); if (!empty($shipping)) { $request = $this->setShipping($request, $shipping); return $request; } return $request; }