Beispiel #1
0
 public function saveAddress()
 {
     $this->loadLanguageFile('backend/Shipment');
     ClassLoader::import('application.controller.backend.CustomerOrderController');
     $shipment = Shipment::getInstanceByID('Shipment', $this->request->get('id'), true, array('CustomerOrder', 'User'));
     $address = $shipment->shippingAddress->get();
     if (!$address) {
         $address = UserAddress::getNewInstance();
         $address->save();
         $shipment->shippingAddress->set($address);
         $shipment->save();
     } else {
         $address->load();
     }
     $controller = new CustomerOrderController($this->application);
     $validator = $controller->createUserAddressFormValidator();
     if ($validator->isValid()) {
         $address->loadRequestData($this->request);
         $address->save();
         return new JSONResponse($shipment->shippingAddress->get()->toArray(), 'success', $this->translate('_shipment_address_changed'));
     } else {
         return new JSONResponse(array('errors' => $validator->getErrorList()), 'failure');
     }
 }