/** * @param array $rootNode * * @return array */ protected function createActionButtons(array $rootNode) { $urls = []; $urls[] = $this->generateCreateButton(Url::generate(self::URL_PRODUCT_CATEGORY_ADD, [self::PARAM_ID_PARENT_NODE => $rootNode[self::ID_CATEGORY_NODE]]), '<i class="fa fa-plus"></i></a>', [self::BUTTON_ICON => null]); $urls[] = $this->generateViewButton(Url::generate(self::URL_CATEGORY_NODE_VIEW, [self::PARAM_ID_NODE => $rootNode[self::ID_CATEGORY_NODE]]), '<i class="fa fa-sitemap"></i>', [self::BUTTON_ICON => null, 'id' => sprintf('node-%d', $rootNode[self::ID_CATEGORY_NODE])]); return $urls; }
/** * @param array $item * * @return array */ protected function createActionColumn(array $item) { $urls = []; $urls[] = $this->generateViewButton(Url::generate(self::URL_PRODUCT_INDEX_VIEW, [self::PARAM_ID_PRODUCT_ABSTRACT => $item[SpyProductAbstractTableMap::COL_ID_PRODUCT_ABSTRACT]]), 'View'); $urls[] = $this->generateViewButton($this->yvesUrl . $this->getYvesProductUrl($item)->getUrl(), 'View in Shop', ['target' => '_blank']); return $urls; }
/** * @return callable */ protected function getFunction() { return function ($url, array $query = [], array $options = []) { $url = Url::generate($url, $query, $options); $html = $url->buildEscaped(); return $html; }; }
/** * @param array $rule * * @return array */ protected function createTableActions(array $rule) { $buttons = []; $buttons[] = $this->generateEditButton(Url::generate(self::UPDATE_ROLE_URL, [self::PARAM_ID_ROLE => $rule[SpyAclRoleTableMap::COL_ID_ACL_ROLE]]), 'Edit'); if ($rule[SpyAclRoleTableMap::COL_NAME] !== AclConstants::ROOT_ROLE) { $buttons[] = $this->generateRemoveButton(self::DELETE_ROLE_URL, 'Delete', [self::PARAM_ID_ROLE => $rule[SpyAclRoleTableMap::COL_ID_ACL_ROLE]]); } return $buttons; }
/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return array */ public function addressAction(Request $request) { $idSalesOrder = $this->castId($request->query->get(SalesConfig::PARAM_ID_SALES_ORDER)); $idOrderAddress = $this->castId($request->query->get('id-address')); $dataProvider = $this->getFactory()->createAddressFormDataProvider(); $form = $this->getFactory()->createAddressForm($dataProvider->getData($idOrderAddress), $dataProvider->getOptions())->handleRequest($request); if ($form->isValid()) { $addressTransfer = (new AddressTransfer())->fromArray($form->getData(), true); $addressTransfer->setIdSalesOrderAddress($idOrderAddress); $this->getFacade()->updateOrderAddress($addressTransfer, $idOrderAddress); $this->addSuccessMessage('Address successfully updated.'); return $this->redirectResponse(Url::generate('/sales/detail', [SalesConfig::PARAM_ID_SALES_ORDER => $idSalesOrder])->build()); } return $this->viewResponse(['idSalesOrder' => $idSalesOrder, 'form' => $form->createView()]); }
/** * @param \Symfony\Component\HttpKernel\Event\FilterResponseEvent $event * * @return void */ protected function handleRedirectToLogin(FilterResponseEvent $event) { $response = $event->getResponse(); if (!$response instanceof RedirectResponse) { return; } $targetUrl = $response->getTargetUrl(); if ($targetUrl !== AuthConfig::DEFAULT_URL_LOGIN) { return; } $redirectTo = $this->getUrlToRedirectBackTo($event); if ($redirectTo === AuthConfig::DEFAULT_URL_REDIRECT) { return; } $query = []; if ($redirectTo) { $query[static::REFERER] = $redirectTo; } $url = Url::generate($targetUrl, $query); $event->setResponse(new RedirectResponse($url->build())); }
/** * @param \Spryker\Zed\Gui\Communication\Table\TableConfiguration $config * * @return array */ protected function prepareData(TableConfiguration $config) { $keys = $this->storageClient->getAllKeys(); sort($keys); $result = []; foreach ($keys as $i => $key) { $keys[$i] = str_replace('kv:', '', $key); } $values = $this->storageClient->getMulti($keys); $fixedValues = []; foreach ($values as $i => $value) { $i = str_replace('kv:', '', $i); $fixedValues[$i] = $value; } $values = $fixedValues; foreach ($values as $key => $value) { $url = Url::generate('/storage/maintenance/key', ['key' => $key]); $result[] = ['key' => '<a href="' . $url . '">' . Html::escape($key) . '</a>', 'value' => substr($value, 0, 200)]; } $this->setTotal(count($result)); return $result; }
/** * @param array $user * * @return array */ protected function createStatusButton(array $user) { if ($user[SpyUserTableMap::COL_STATUS] === SpyUserTableMap::COL_STATUS_BLOCKED) { return $this->generateViewButton(Url::generate(self::ACTIVATE_USER_URL, [self::PARAM_ID_USER => $user[SpyUserTableMap::COL_ID_USER]]), 'Activate'); } return $urls[] = $this->generateViewButton(Url::generate(self::DEACTIVATE_USER_URL, [self::PARAM_ID_USER => $user[SpyUserTableMap::COL_ID_USER]]), 'Deactivate'); }
/** * @param array $paymentItem * * @return array */ protected function buildOptionsUrls(array $paymentItem) { $urls = []; $urls[] = $this->generateViewButton(Url::generate(self::URL_PAYOLUTION_DETAILS, [self::PARAM_ID_PAYMENT => $paymentItem[SpyPaymentPayolutionTableMap::COL_ID_PAYMENT_PAYOLUTION]]), 'View'); return $urls; }
/** * @param array $item * * @return array */ protected function buildLinks(array $item) { $buttons = []; $buttons[] = $this->generateEditButton(Url::generate(self::URL_CMS_GLOSSARY_EDIT, [CmsPageTable::REQUEST_ID_PAGE => $this->idPage, self::REQUEST_ID_MAPPING => $item[SpyCmsGlossaryKeyMappingTableMap::COL_ID_CMS_GLOSSARY_KEY_MAPPING]]), 'Edit'); $buttons[] = $this->generateRemoveButton(self::URL_CMS_GLOSSARY_DELETE, 'Delete', [CmsPageTable::REQUEST_ID_PAGE => $this->idPage, self::REQUEST_ID_MAPPING => $item[SpyCmsGlossaryKeyMappingTableMap::COL_ID_CMS_GLOSSARY_KEY_MAPPING]]); return $buttons; }
/** * @param \Symfony\Component\Form\FormBuilderInterface $builder * * @return $this */ protected function addCollectorQueryString(FormBuilderInterface $builder) { $label = 'Apply to*'; $builder->add(self::FIELD_COLLECTOR_QUERY_STRING, 'textarea', ['label' => $label, 'constraints' => [new NotBlank(), new QueryString([QueryString::OPTION_DISCOUNT_FACADE => $this->discountFacade, QueryString::OPTION_QUERY_STRING_TYPE => MetaProviderFactory::TYPE_COLLECTOR])], 'attr' => ['data-label' => $label, 'data-url' => Url::generate('/discount/query-string/rule-fields', ['type' => MetaProviderFactory::TYPE_COLLECTOR])->build()]]); return $this; }
/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function deleteAction(Request $request) { $idTaxSet = $this->castId($request->query->getInt(static::PARAM_URL_ID_TAX_SET)); try { $this->getFacade()->deleteTaxSet($idTaxSet); $this->addSuccessMessage('The tax set has been deleted.'); } catch (PropelException $e) { $this->addErrorMessage('Could not delete tax set. Is it assigned to product or shipping method?'); } return $this->redirectResponse(Url::generate('/tax/set/list')->build()); }
/** * @param \Orm\Zed\Tax\Persistence\SpyTaxSet $taxSetEntity * * @return string */ protected function createDeleteButton(SpyTaxSet $taxSetEntity) { $deleteTaxSetUrl = Url::generate('/tax/set/delete', [self::URL_PARAM_ID_TAX_SET => $taxSetEntity->getIdTaxSet()]); return $this->generateRemoveButton($deleteTaxSetUrl, 'Delete'); }
/** * @param int $idShipmentMethod * * @return array */ protected function createActionUrls($idShipmentMethod) { $urls = []; $urls[] = $this->generateEditButton(Url::generate('/shipment/method/edit', [self::ID_METHOD_PARAMETER => $idShipmentMethod]), 'Edit'); return $urls; }
/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return \Symfony\Component\HttpFoundation\RedirectResponse */ public function deleteAction(Request $request) { $idTaxRate = $this->castId($request->query->getInt(static::PARAM_URL_ID_TAX_RATE)); $this->getFacade()->deleteTaxRate($idTaxRate); $this->addSuccessMessage('The tax rate has been deleted.'); return $this->redirectResponse(Url::generate('/tax/rate/list')->build()); }
/** * @param int $idDiscount * * @return string */ protected function createEditDiscountRedirectUrl($idDiscount) { $redirectUrl = Url::generate('/discount/index/edit', [self::URL_PARAM_ID_DISCOUNT => $idDiscount])->build(); return $redirectUrl; }
/** * @param \Orm\Zed\Discount\Persistence\SpyDiscount $discountEntity * * @return string */ protected function createToggleDiscountVisibilityButton(SpyDiscount $discountEntity) { $visibility = self::BUTTON_ACTIVATE; if ($discountEntity->getIsActive()) { $visibility = self::BUTTON_DEACTIVATE; } $viewDiscountUrl = Url::generate('/discount/index/toggle-discount-visibility', [self::URL_PARAM_ID_DISCOUNT => $discountEntity->getIdDiscount(), self::URL_PARAM_VISIBILITY => $visibility, self::URL_PARAM_REDIRECT_URL => '/discount/index/list']); return $this->generateStatusButton($viewDiscountUrl, $visibility); }
/** * @param array $item * * @return array */ protected function createActionUrls(array $item) { $urls = []; $urls[] = $this->generateViewButton(Url::generate(self::URL_SALES_DETAIL, [self::PARAM_ID_SALES_ORDER => $item[SpySalesOrderTableMap::COL_ID_SALES_ORDER]]), 'View'); return $urls; }
/** * @param \Orm\Zed\Discount\Persistence\SpyDiscountVoucher $discountVoucherEntity * * @return string */ protected function buildLinks(SpyDiscountVoucher $discountVoucherEntity) { $buttons = []; $deleteVoucherCodeUrl = Url::generate('/discount/voucher/delete-voucher-code', ['id-discount' => $this->idDiscount, 'id-voucher' => $discountVoucherEntity->getIdDiscountVoucher()])->build(); $buttons[] = $this->generateRemoveButton($deleteVoucherCodeUrl, 'Delete'); return implode(' ', $buttons); }
/** * @param array $group * * @return string */ protected function createEditUrl(array $group) { return $this->generateEditButton(Url::generate('/acl/group/edit', [self::EDIT_PARAMETER => $group[SpyAclGroupTableMap::COL_ID_ACL_GROUP]]), 'Edit'); }
/** * @param int $idDiscount * @param string $discountType * * @return string */ protected function createEditRedirectUrl($idDiscount, $discountType = '') { $hash = ''; if ($discountType === DiscountConstants::TYPE_VOUCHER) { $hash = '#codes'; } $redirectUrl = Url::generate('/discount/index/edit', [self::URL_PARAM_ID_DISCOUNT => $idDiscount])->build() . $hash; return $redirectUrl; }
/** * @param array $details * * @return array */ protected function buildActionUrls($details) { $urls = []; $idGlossaryKey = $details[SpyGlossaryKeyTableMap::COL_ID_GLOSSARY_KEY]; $urls[] = $this->generateEditButton(Url::generate(self::URL_GLOSSARY_EDIT, [EditController::URL_PARAMETER_GLOSSARY_KEY => $idGlossaryKey]), 'Edit'); return $urls; }
/** * @param \Orm\Zed\Tax\Persistence\SpyTaxRate $taxRateEntity * * @return string */ protected function createDeleteButton(SpyTaxRate $taxRateEntity) { $deleteTaxRateUrl = Url::generate('/tax/rate/delete', [self::URL_PARAM_ID_TAX_RATE => $taxRateEntity->getIdTaxRate()]); return $this->generateRemoveButton($deleteTaxRateUrl, 'Delete'); }
/** * @param array $item * * @return string */ protected function generateStateChangeButton(array $item) { if ($item[CmsQueryContainer::IS_ACTIVE]) { $name = 'Deactivate'; $url = self::URL_CMS_PAGE_DEACTIVATE; } else { $name = 'Activate'; $url = self::URL_CMS_PAGE_ACTIVATE; } return $this->generateViewButton(Url::generate($url, [self::REQUEST_ID_PAGE => $item[SpyCmsPageTableMap::COL_ID_CMS_PAGE]]), $name); }