static function mapTo($address, $object = null) { if (!$object) { $object = new ProductOrderShipping(); $object->fromArray(array('name' => $address['name'])); } else { $object->setName($address['name']); } $form = new ShippingTransportForm($object); $form->mappedAddress = $address; $form->setDefaults(array_merge($address->toArray(), $form->getDefaults())); return $form; }
public function getShippingAddressesForms() { $forms = array(); # add empty address $address = new PublicUserAddresses(); $address->fromArray(array('title' => '-')); $forms[] = ShippingTransportForm::mapTo($address); # add user addresses foreach ($this->getObject()->getPublicUser()->Addresses as $address) { $forms[] = ShippingTransportForm::mapTo($address); } return $forms; }