From 8d3b7849063f04c9507655b26a9460295c4c80f3 Mon Sep 17 00:00:00 2001
From: Tormi Tabor <tormi.tabor@gmail.com>
Date: Sat, 28 May 2011 05:24:50 +0300
Subject: [PATCH] Issue #1171454 by tormi: Added an address handler for Estonia

---
 addressfield.info                 |    2 +
 addressfield.module               |    5 ++-
 includes/addressfield_form_ee.inc |   57 +++++++++++++++++++++++++++++++++++++
 3 files changed, 62 insertions(+), 2 deletions(-)
 create mode 100644 includes/addressfield_form_ee.inc

diff --git a/addressfield.info b/addressfield.info
index 16a5d74..35e5081 100644
--- a/addressfield.info
+++ b/addressfield.info
@@ -7,5 +7,7 @@ files[] = addressfield.module
 files[] = includes/addressfield_form.inc
 files[] = includes/addressfield_form_default.inc
 files[] = includes/addressfield_form_br.inc
+files[] = includes/addressfield_form_ee.inc
 files[] = includes/addressfield_form_gb.inc
+files[] = includes/addressfield_form_it.inc
 files[] = includes/addressfield_form_us.inc
diff --git a/addressfield.module b/addressfield.module
index e3ca8a1..05c417e 100644
--- a/addressfield.module
+++ b/addressfield.module
@@ -576,9 +576,10 @@ function addressfield_default_mapping() {
   return array(
     'default' => 'AddressFieldForm_default',
     'BR' => 'AddressFieldForm_br',
+    'EE' => 'AddressFieldForm_ee',
     'GB' => 'AddressFieldForm_gb',
-    'US' => 'AddressFieldForm_us',
-    'IT' => 'AddressFieldForm_it'
+    'IT' => 'AddressFieldForm_it',
+    'US' => 'AddressFieldForm_us'
     // TODO: complete the mapping.
   );
 }
diff --git a/includes/addressfield_form_ee.inc b/includes/addressfield_form_ee.inc
new file mode 100644
index 0000000..09d6877
--- /dev/null
+++ b/includes/addressfield_form_ee.inc
@@ -0,0 +1,57 @@
+<?php
+
+/**
+ * Address handler for Estonia.
+ */
+class AddressFieldForm_ee implements AddressFieldForm {
+  public function form($address, $field, $instance, $langcode, $items, $delta, $element) {
+    $required = $delta == 0 && $instance['required'];
+
+    $form['thoroughfare'] = array(
+      '#title' => t('Address'),
+      '#type' => 'textfield',
+      '#size' => 30,
+      '#required' => $required,
+      '#default_value' => $address['thoroughfare'],
+    );
+    $form['locality'] = array(
+      '#title' => t('City/Parish'),
+      '#type' => 'textfield',
+      '#size' => 30,
+      '#required' => $required,
+      '#default_value' => $address['locality'],
+    );
+    $form['administrative_area'] = array(
+      '#title' => t('County'),
+      '#type' => 'select',
+      '#default_value' => $address['administrative_area'],
+      '#required' => $required,
+      '#options' => array(
+        ''   => t('--'),
+        '37' =>	'Harjumaa',
+        '39' =>	'Hiiumaa',
+        '44' =>	'Ida-Virumaa',
+        '49' =>	'Jõgevamaa',
+        '51' =>	'Järvamaa',
+        '57' =>	'Läänemaa',
+        '59' =>	'Lääne-Virumaa',
+        '65' =>	'Põlvamaa',
+        '67' =>	'Pärnumaa',
+        '70' =>	'Raplamaa',
+        '74' =>	'Saaremaa',
+        '78' =>	'Tartumaa',
+        '82' =>	'Valgamaa',
+        '84' =>	'Viljandimaa',
+        '86' =>	'Võrumaa',
+      ),
+    );
+    $form['postal_code'] = array(
+      '#title' => t('Postal code'),
+      '#type' => 'textfield',
+      '#size' => 10,
+      '#required' => $required,
+      '#default_value' => $address['postal_code'],
+    );
+    return $form;
+  }
+}
-- 
1.6.5.1.1367.gcd48

