class UcAddressesAddressNameFieldHandler in Ubercart Addresses 7
Same name and namespace in other branches
- 6.2 handlers/uc_addresses.handlers.inc \UcAddressesAddressNameFieldHandler
Class for the address name field.
Hierarchy
Expanded class hierarchy of UcAddressesAddressNameFieldHandler
2 string references to 'UcAddressesAddressNameFieldHandler'
File
- handlers/
uc_addresses.handlers.inc, line 57 - Field handlers for Ubercart Addresses address fields:
View source
class UcAddressesAddressNameFieldHandler extends UcAddressesFieldHandler {
/**
* Implements UcAddressesFieldHandler::init().
*
* @throws UcAddressesIncompatibleHandlerException
* In case the given address instance is not an instance of
* UcAddressesAddress.
*/
protected function init() {
$address = $this
->getAddress();
if (!$address instanceof UcAddressesAddress) {
throw new UcAddressesIncompatibleHandlerException(t('The handler %handler needs an UcAddressesAddress instance to function.', array(
'%handler' => get_class($this),
)));
}
}
/**
* Implements UcAddressesFieldHandler::getFormField().
*/
public function getFormField($form, $form_values) {
$fieldName = $this
->getFieldName();
$fieldValue = $this
->getAddress()
->getField($fieldName);
$default = isset($form_values[$fieldName]) ? $form_values[$fieldName] : $fieldValue;
return array(
$fieldName => array(
'#type' => 'textfield',
'#title' => t('Save as'),
'#description' => t('Enter a name for this address (e.g. Home or Work)'),
'#default_value' => $default,
'#required' => $this
->isFieldRequired(),
'#maxlength' => 20,
'#size' => 32,
),
);
}
/**
* Implements UcAddressesFieldHandler::isFieldEnabled().
*/
public function isFieldEnabled() {
return variable_get('uc_addresses_use_address_name', TRUE);
}
/**
* Implements UcAddressesFieldHandler::isFieldRequired().
*/
public function isFieldRequired() {
return FALSE;
}
/**
* Implements UcAddressesFieldHandler::validateValue().
*
* Checks if the given name is unique.
*/
public function validateValue(&$value) {
$fieldName = $this
->getFieldName();
if ($value) {
if (!$this
->getAddress()
->setName($value)) {
form_set_error($fieldName, t('You already have an address named %name in your address book.', array(
'%name' => $value,
)));
}
}
}
}