public function edit()
 {
     $shippingService = ShippingService::getInstanceByID($this->request->get('id'), true);
     $spec = $shippingService->getSpecification();
     $form = $this->createShippingServiceForm();
     $form->setData($shippingService->toArray());
     $response = new ActionResponse();
     $spec->setFormResponse($response, $form);
     $response->set('form', $form);
     $response->set('service', $shippingService->toArray());
     $response->set('shippingRates', $shippingService->getRates()->toArray());
     $response->set('newRate', array('ShippingService' => $shippingService->toArray()));
     $response->set('defaultCurrencyCode', $this->application->getDefaultCurrency()->getID());
     $response->set('shippingClasses', $this->getSelectOptionsFromSet(ShippingClass::getAllClasses()));
     return $response;
 }
Beispiel #2
0
 /**
  * List all system currencies
  * @return ActionResponse
  */
 public function index()
 {
     $response = new ActionResponse();
     $classesForms = array();
     $classes = array();
     foreach (ShippingClass::getAllClasses() as $class) {
         $classes[] = $class->toArray();
         $classesForms[] = $this->createClassForm($class);
     }
     $response->set("classesForms", $classesForms);
     $response->set("classes", $classes);
     $newClass = ShippingClass::getNewInstance('');
     $response->set("newClassForm", $this->createClassForm($newClass));
     $response->set("newClass", $newClass->toArray());
     return $response;
 }
Beispiel #3
0
 private function productForm(Product $product)
 {
     $productFormData = $product->toArray();
     if ($product->isLoaded()) {
         $product->loadSpecification();
         $productFormData = array_merge($productFormData, $product->getSpecification()->getFormData());
         if (isset($productFormData['Manufacturer']['name'])) {
             $productFormData['manufacturer'] = $productFormData['Manufacturer']['name'];
         }
     } else {
         $product->load(ActiveRecord::LOAD_REFERENCES);
     }
     $product->loadPricing();
     $form = $this->buildForm($product);
     $pricing = $product->getPricingHandler();
     $pricesData = $product->toArray();
     $listPrices = $pricing->toArray(ProductPricing::DEFINED, ProductPricing::LIST_PRICE);
     $pricesData['shippingHiUnit'] = (int) $pricesData['shippingWeight'];
     $pricesData['shippingLoUnit'] = ($pricesData['shippingWeight'] - $pricesData['shippingHiUnit']) * 1000;
     if (array_key_exists('defined', $pricesData)) {
         foreach ($pricesData['calculated'] as $currency => $price) {
             $pricesData['price_' . $currency] = isset($pricesData['defined'][$currency]) ? $pricesData['defined'][$currency] : '';
             $productFormData['price_' . $currency] = $pricesData['price_' . $currency];
         }
     }
     foreach ($listPrices as $currency => $price) {
         $pricesData['listPrice_' . $currency] = $price;
     }
     $form->setData($productFormData);
     // status values
     $status = array(0 => $this->translate('_disabled'), 1 => $this->translate('_enabled'));
     // product types
     $types = array(Product::TYPE_TANGIBLE => $this->translate('_tangible'), Product::TYPE_DOWNLOADABLE => $this->translate('_intangible'), Product::TYPE_BUNDLE => $this->translate('_bundle'));
     // default product type
     if (!$product->isLoaded()) {
         $product->type->set(substr($this->config->get('DEFAULT_PRODUCT_TYPE'), -1));
         $form->set('type', $product->type->get());
     }
     $response = new ActionResponse();
     $product->getSpecification()->setFormResponse($response, $form);
     $response->set("cat", $product->getCategory()->getID());
     $response->set("hideFeedbackMessage", $this->request->get("afterAdding") == 'on');
     $response->set("productForm", $form);
     $response->set("path", $product->getCategory()->getPathNodeArray(true));
     $response->set("productTypes", $types);
     $response->set("productStatuses", $status);
     $response->set("baseCurrency", $this->application->getDefaultCurrency()->getID());
     $response->set("otherCurrencies", $this->application->getCurrencyArray(LiveCart::EXCLUDE_DEFAULT_CURRENCY));
     $response->set("shippingClasses", $this->getSelectOptionsFromSet(ShippingClass::getAllClasses()));
     $response->set("taxClasses", $this->getSelectOptionsFromSet(TaxClass::getAllClasses()));
     $productData = $product->toArray();
     if (empty($productData['ID'])) {
         $productData['ID'] = 0;
     }
     $response->set("product", $productData);
     return $response;
 }
Beispiel #4
0
 private function productForm($isExisting)
 {
     ClassLoader::import('application.LiveCartRenderer');
     ClassLoader::import('application.model.presentation.CategoryPresentation');
     $response = new BlockResponse();
     $response->set('themes', array_merge(array(''), LiveCartRenderer::getThemeList()));
     $form = $this->buildForm($isExisting);
     // status values
     $status = array(0 => $this->translate('_disabled'), 1 => $this->translate('_enabled'));
     // product types
     $types = array(Product::TYPE_TANGIBLE => $this->translate('_tangible'), Product::TYPE_DOWNLOADABLE => $this->translate('_intangible'), Product::TYPE_BUNDLE => $this->translate('_bundle'), Product::TYPE_RECURRING => $this->translate('_recurring'));
     //$product->type->set(substr($this->config->get('DEFAULT_PRODUCT_TYPE'), -1));
     $response->set("productForm", $form);
     $response->set("productTypes", $types);
     $response->set("productStatuses", $status);
     $response->set("baseCurrency", $this->application->getDefaultCurrency()->getID());
     $response->set("otherCurrencies", $this->application->getCurrencyArray(LiveCart::EXCLUDE_DEFAULT_CURRENCY));
     $response->set("shippingClasses", $this->getSelectOptionsFromSet(ShippingClass::getAllClasses()));
     $response->set("taxClasses", $this->getSelectOptionsFromSet(TaxClass::getAllClasses()));
     // get user groups
     $f = new ARSelectFilter();
     $f->setOrder(new ARFieldHandle('UserGroup', 'name'));
     $groups[0] = $this->translate('_all_customers');
     foreach (ActiveRecordModel::getRecordSetArray('UserGroup', $f) as $group) {
         $groups[$group['ID']] = $group['name'];
     }
     $groups[''] = '';
     $response->set('userGroups', $groups);
     return $response;
 }