protected function AddressForm::selectAddress in Ubercart 8.4
Chooses an address to fill out a form.
1 call to AddressForm::selectAddress()
- AddressForm::buildForm in shipping/
uc_fulfillment/ src/ Form/ AddressForm.php - Form constructor.
File
- shipping/
uc_fulfillment/ src/ Form/ AddressForm.php, line 81
Class
- AddressForm
- Helper function for addresses in forms.
Namespace
Drupal\uc_fulfillment\FormCode
protected function selectAddress(array $addresses = []) {
$quote_config = $this
->config('uc_quote.settings');
$ship_from_address = Address::create($quote_config
->get('ship_from_address'));
if (!in_array($ship_from_address, $addresses)) {
$addresses[] = $ship_from_address;
}
$blank = Address::create([
'first_name' => '',
'last_name' => '',
'company' => '',
'street1' => '',
'street2' => '',
'city' => '',
'postal_code' => '',
'country' => '',
'zone' => '',
'phone' => '',
]);
$options = [
Json::encode($blank) => t('- Reset fields -'),
];
foreach ($addresses as $address) {
$options[Json::encode($address)] = $address
->getCompany() . ' ' . $address
->getStreet1() . ' ' . $address
->getCity();
}
$select = [
'#type' => 'select',
'#title' => t('Saved addresses'),
'#options' => $options,
'#default_value' => Json::encode($addresses[0]),
'#attributes' => [
'onchange' => 'apply_address(\'pickup\', this.value);',
],
];
return $select;
}