/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $readDetailsHtml = $row->getUrl() ? '<a class="action-details" target="_blank" href="' . $row->getUrl() . '">' . __('Read Details') . '</a>' : ''; $markAsReadHtml = !$row->getIsRead() ? '<a class="action-mark" href="' . $this->getUrl('*/*/markAsRead/', ['_current' => true, 'id' => $row->getId()]) . '">' . __('Mark as Read') . '</a>' : ''; $encodedUrl = $this->_urlHelper->getEncodedUrl(); return sprintf('%s%s<a class="action-delete" href="%s" onClick="deleteConfirm(\'%s\', this.href); return false;">%s</a>', $readDetailsHtml, $markAsReadHtml, $this->getUrl('*/*/remove/', ['_current' => true, 'id' => $row->getId(), \Magento\Framework\App\ActionInterface::PARAM_NAME_URL_ENCODED => $encodedUrl]), __('Are you sure?'), __('Remove')); }
/** * Renderer for "Action" column in Newsletter templates grid * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { if ($row->isValidForSend()) { $actions[] = ['url' => $this->getUrl('*/queue/edit', ['template_id' => $row->getId()]), 'caption' => __('Queue Newsletter')]; } $actions[] = ['url' => $this->getUrl('*/*/preview', ['id' => $row->getId()]), 'popup' => true, 'caption' => __('Preview')]; $this->getColumn()->setActions($actions); return parent::render($row); }
/** * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $this->_actions = []; if ($this->_salesReorder->canReorder($row->getId())) { $reorderAction = ['@' => ['href' => $this->getUrl('sales/order_create/reorder', ['order_id' => $row->getId()])], '#' => __('Reorder')]; $this->addToActions($reorderAction); } $this->_eventManager->dispatch('adminhtml_customer_orders_add_action_renderer', ['renderer' => $this, 'row' => $row]); return $this->_actionsToHtml(); }
/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $encodedUrl = $this->_urlHelper->getEncodedUrl(); if (!$row->getIsRead()) { return sprintf('<a href="%s">%s</a> | <a href="%s" onClick="deleteConfirm(\'%s\',this.href); return false;">%s</a>', $this->getUrl('*/*/markAsRead/', ['_current' => true, 'id' => $row->getId()]), __('Mark as Read'), $this->getUrl('*/*/remove/', ['_current' => true, 'id' => $row->getId(), \Magento\Framework\App\ActionInterface::PARAM_NAME_URL_ENCODED => $encodedUrl]), __('Are you sure?'), __('Remove')); } else { return sprintf('<a href="%s" onClick="deleteConfirm(\'%s\',this.href); return false;">%s</a>', $this->getUrl('*/*/remove/', ['_current' => true, 'id' => $row->getId(), \Magento\Framework\App\ActionInterface::PARAM_NAME_URL_ENCODED => $encodedUrl]), __('Are you sure?'), __('Remove')); } return parent::render($row); }
public function render(DataObject $row) { $storeViewId = $this->getRequest()->getParam('store'); $banner = $this->_bannerFactory->create()->setStoreViewId($storeViewId)->load($row->getId()); $srcImage = $this->_storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA) . $banner->getImage(); return '<image width="150" height="50" src ="' . $srcImage . '" alt="' . $banner->getImage() . '" >'; }
/** * Set new increment id * * @param \Magento\Framework\DataObject $object * @return $this */ public function beforeSave($object) { if (!$object->getId()) { $this->getAttribute()->getEntity()->setNewIncrementId($object); } return $this; }
/** * Get payflow transaction id from parent transaction * * @param \Magento\Framework\DataObject $payment * @return string */ protected function _getParentTransactionId(\Magento\Framework\DataObject $payment) { if ($payment->getParentTransactionId()) { return $this->transactionRepository->getByTransactionId($payment->getParentTransactionId(), $payment->getId(), $payment->getOrder()->getId())->getAdditionalInformation(self::TRANSPORT_PAYFLOW_TXN_ID); } return $payment->getParentTransactionId(); }
/** * Render grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $actions = []; $actions[] = ['url' => $this->getUrl('adminhtml/*/preview', ['id' => $row->getId()]), 'popup' => true, 'caption' => __('Preview')]; $this->getColumn()->setActions($actions); return parent::render($row); }
/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { if ($row->getSubscriberStatus() == \Magento\Newsletter\Model\Subscriber::STATUS_SUBSCRIBED) { return '<input type="checkbox" name="subscriber[]" value="' . $row->getId() . '" class="subscriberCheckbox"/>'; } else { return ''; } }
/** * Renders column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $actions = []; if ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_NEVER) { if (!$row->getQueueStartAt() && $row->getSubscribersTotal()) { $actions[] = ['url' => $this->getUrl('*/*/start', ['id' => $row->getId()]), 'caption' => __('Start')]; } } elseif ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_SENDING) { $actions[] = ['url' => $this->getUrl('*/*/pause', ['id' => $row->getId()]), 'caption' => __('Pause')]; $actions[] = ['url' => $this->getUrl('*/*/cancel', ['id' => $row->getId()]), 'confirm' => __('Do you really want to cancel the queue?'), 'caption' => __('Cancel')]; } elseif ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_PAUSE) { $actions[] = ['url' => $this->getUrl('*/*/resume', ['id' => $row->getId()]), 'caption' => __('Resume')]; } $actions[] = ['url' => $this->getUrl('*/*/preview', ['id' => $row->getId()]), 'caption' => __('Preview'), 'popup' => true]; $this->getColumn()->setActions($actions); return parent::render($row); }
public function render(\Magento\Framework\DataObject $row) { $ticket = $this->ticketFactory->create()->load($row->getId()); if ($ticket && $ticket->getId()) { return $ticket->getSeverityAsLabel(); } return ''; }
/** * Before save * * @param \Magento\Framework\DataObject $object * @return $this */ public function beforeSave($object) { if ($object->getId()) { return $this; } if (!$object->hasData('website_id')) { $object->setData('website_id', $this->_storeManager->getStore()->getWebsiteId()); } return $this; }
/** * Before save * * @param \Magento\Framework\DataObject $object * @return $this */ public function beforeSave($object) { if ($object->getId()) { return $this; } if (!$object->hasStoreId()) { $object->setStoreId($this->_storeManager->getStore()->getId()); } if (!$object->hasData('created_in')) { $object->setData('created_in', $this->_storeManager->getStore($object->getStoreId())->getName()); } return $this; }
/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $values = $this->_getValues(); $value = $row->getData($this->getColumn()->getIndex()); if (is_array($values)) { $checked = in_array($value, $values) ? ' checked="checked"' : ''; } else { $checked = $value === $this->getColumn()->getValue() ? ' checked="checked"' : ''; } $html = '<input type="radio" name="' . $this->getColumn()->getHtmlName() . '" '; $html .= 'value="' . $row->getId() . '" class="radio"' . $checked . '/>'; return $html; }
/** * Set qty and custom price for quote item * * @param Item $item * @param \Magento\Framework\DataObject $request * @param Product $candidate * @return void */ public function prepare(Item $item, DataObject $request, Product $candidate) { /** * We specify qty after we know about parent (for stock) */ if ($request->getResetCount() && !$candidate->getStickWithinParent() && $item->getId() == $request->getId()) { $item->setData(CartItemInterface::KEY_QTY, 0); } $item->addQty($candidate->getCartQty()); $customPrice = $request->getCustomPrice(); if (!empty($customPrice)) { $item->setCustomPrice($customPrice); $item->setOriginalCustomPrice($customPrice); } }
/** * Render single action as link html * * @param array $action * @param \Magento\Framework\DataObject $row * @return string|false */ protected function _toLinkHtml($action, \Magento\Framework\DataObject $row) { $product = $row->getProduct(); if (isset($action['process']) && $action['process'] == 'configurable') { if ($product->canConfigure()) { $style = ''; $onClick = sprintf('onclick="return %s.configureItem(%s)"', $action['control_object'], $row->getId()); return sprintf('<a href="%s" %s %s>%s</a>', $action['url'], $style, $onClick, $action['caption']); } else { return false; } } else { return parent::_toLinkHtml($action, $row); } }
/** * Check is current entity has changes, by comparing current object state with stored snapshot * * @param \Magento\Framework\DataObject $entity * @return bool */ public function isModified(\Magento\Framework\DataObject $entity) { if (!$entity->getId()) { return true; } $entityClass = get_class($entity); if (!isset($this->snapshotData[$entityClass][$entity->getId()])) { return true; } foreach ($this->snapshotData[$entityClass][$entity->getId()] as $field => $value) { if ($entity->getDataByKey($field) != $value) { return true; } } return false; }
/** * @param \Magento\Framework\DataObject $item * @param array $storesData * @dataProvider getItemsDataProvider * @throws \Exception */ public function testAfterLoad($item, $storesData) { $linkField = 'row_id'; $expectedResult = []; foreach ($storesData as $storeData) { $expectedResult[$storeData[$linkField]][] = $storeData['store_id']; } $entityMetadataMock = $this->getMockBuilder('Magento\\Framework\\EntityManager\\EntityMetadata')->disableOriginalConstructor()->getMock(); $entityMetadataMock->expects($this->any())->method('getLinkField')->willReturn($linkField); $this->metadataPoolMock->expects($this->any())->method('getMetadata')->willReturn($entityMetadataMock); $this->select->expects($this->any())->method('from')->willReturnSelf(); $this->connection->expects($this->any())->method('fetchAll')->willReturn($storesData); $storeDataMock = $this->getMockBuilder('Magento\\Store\\Api\\Data\\StoreInterface')->getMockForAbstractClass(); $storeDataMock->expects($this->any())->method('getId')->willReturn(current($expectedResult[$item->getId()])); $storeDataMock->expects($this->any())->method('getCode')->willReturn('some_code'); $this->storeManagerMock->expects($this->any())->method('getStores')->willReturn([$storeDataMock]); $this->storeManagerMock->expects($this->any())->method('getStore')->willReturn($storeDataMock); $this->collection->addItem($item); $this->assertEmpty($item->getStoreId()); $this->collection->load(); $this->assertEquals($expectedResult[$item->getId()], $item->getStoreId()); }
/** * @param \Magento\Catalog\Model\Product $product * @param \Magento\Framework\DataObject $selection * @return float|int */ protected function getBeforeQty($product, $selection) { $beforeQty = 0; $customOption = $product->getCustomOption('product_qty_' . $selection->getId()); if ($customOption && $customOption->getProduct()->getId() == $selection->getId()) { $beforeQty = (double) $customOption->getValue(); return $beforeQty; } return $beforeQty; }
/** * Return 'onclick' action for the button (redirect to the integration edit page). * * @param \Magento\Framework\DataObject $row * @return string */ protected function _getOnclickAttribute(DataObject $row) { return sprintf("window.location.href='%s'", $this->getUrl('*/*/edit', ['id' => $row->getId()])); }
/** * {@inheritdoc} */ protected function _afterDelete(\Magento\Framework\DataObject $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); }
/** * Retrieve product identifier linked with item * * @param \Magento\Framework\DataObject $item * @return int */ public function getProductId($item) { return $item->getId(); }
/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $id = $row->getId(); return sprintf('<a href="%s">%s</a>', $this->getUrl('review/product/', ['productId' => $id]), __('Show Reviews')); }
/** * Process category data after save category object * save related products ids and update path value * * @param \Magento\Framework\DataObject $object * @return $this */ protected function _afterSave(\Magento\Framework\DataObject $object) { /** * Add identifier for new category */ if (substr($object->getPath(), -1) == '/') { $object->setPath($object->getPath() . $object->getId()); $this->_savePath($object); } $this->_saveCategoryProducts($object); return parent::_afterSave($object); }
/** * @param \Magento\Catalog\Model\Product|\Magento\Framework\DataObject $row * @return string */ public function getRowUrl($row) { return $this->getUrl('catalog/*/edit', ['store' => $this->getRequest()->getParam('store'), 'id' => $row->getId()]); }
/** * Get collection item identifier * * @param \Magento\Framework\DataObject $item * @return mixed */ public function getItemId(\Magento\Framework\DataObject $item) { $field = $this->query->getIdFieldName(); if ($field) { return $item->getData($field); } return $item->getId(); }
/** * Get row url * * @param \Magento\Framework\DataObject $row * @return string */ public function getRowUrl($row) { return $this->getUrl('*/*/edit', ['id' => $row->getId()]); }
/** * Renders grid column * * @param \Magento\Framework\DataObject $row * @return string * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) */ public function render(\Magento\Framework\DataObject $row) { $values = $this->_getValues(); $value = $row->getData($this->getColumn()->getIndex()); $checked = ''; if (is_array($values)) { $checked = in_array($value, $values) ? ' checked="checked"' : ''; } else { $checkedValue = $this->getColumn()->getValue(); if ($checkedValue !== null) { $checked = $value === $checkedValue ? ' checked="checked"' : ''; } } $disabled = ''; $disabledValues = $this->getColumn()->getDisabledValues(); if (is_array($disabledValues)) { $disabled = in_array($value, $disabledValues) ? ' disabled="disabled"' : ''; } else { $disabledValue = $this->getColumn()->getDisabledValue(); if ($disabledValue !== null) { $disabled = $value === $disabledValue ? ' disabled="disabled"' : ''; } } $this->setDisabled($disabled); if ($this->getNoObjectId() || $this->getColumn()->getUseIndex()) { $v = $value; } else { $v = $row->getId() != "" ? $row->getId() : $value; } return $this->_getCheckboxHtml($v, $checked); }
/** * Retrieve identifier of block item * * @param \Magento\Framework\DataObject $item * @return int */ public function getIdentifierId($item) { return $item->getId(); }
/** * Checks if address has chosen as default and has had an id * * @param DataObject $entity * @return bool */ private function isAddressDefault(DataObject $entity) { return $entity->getId() && ($entity->getIsDefaultBilling() || $entity->getIsDefaultShipping()); }