Beispiel #1
0
 public function editAddress()
 {
     $this->loadLanguageFile('backend/CustomerOrder');
     ClassLoader::import('application.controller.backend.CustomerOrderController');
     $shipment = Shipment::getInstanceByID('Shipment', $this->request->get('id'), true, array('CustomerOrder', 'User'));
     if (!$shipment->shippingAddress->get()) {
         $shipment->shippingAddress->set(UserAddress::getNewInstance());
         $shipment->shippingAddress->get()->save();
     }
     $shipment->shippingAddress->get()->load();
     $address = $shipment->shippingAddress->get()->toArray();
     $response = new ActionResponse();
     $controller = new CustomerOrderController($this->application);
     $response->set('form', $controller->createUserAddressForm($address, $response));
     $response->set('countries', $this->application->getEnabledCountries());
     $response->set('states', State::getStatesByCountry($address['countryID']));
     $response->set('shipmentID', $shipment->getID());
     $addressOptions = array('' => '');
     $addresses = array();
     foreach (array_merge($shipment->order->get()->user->get()->getShippingAddressArray(), $shipment->order->get()->user->get()->getBillingAddressArray()) as $address) {
         $addressOptions[$address['ID']] = $address['UserAddress']['compact'];
         $addresses[$address['ID']] = $address;
     }
     $response->set('existingUserAddressOptions', $addressOptions);
     $response->set('existingUserAddresses', $addresses);
     return $response;
 }