This patch makes the subdivision field of party.address a selection
widget


Please review this at http://codereview.appspot.com/4281042/

Affected files:
   M address.py
   M address.xml


Index: address.py
===================================================================

--- a/address.py
+++ b/address.py
@@ -25,10 +25,10 @@
              states=STATES)
      city = fields.Char('City', states=STATES)
      country = fields.Many2One('country.country', 'Country',
-            states=STATES)
+        on_change=['country', 'subdivision'], states=STATES)
      subdivision = fields.Many2One("country.subdivision",
-            'Subdivision', domain=[('country', '=', Eval('country'))],
-            states=STATES)
+        'Subdivision', domain=[('country', '=', Eval('country'))],
+        states=STATES)
      active = fields.Boolean('Active')
      sequence = fields.Integer("Sequence")
      full_address = fields.Function(fields.Text('Full Address'),
@@ -109,4 +109,12 @@
                      self.raise_user_error('write_party')
          return super(Address, self).write(ids, vals)

+    def on_change_country(self, vals):
+        subdivision_obj = self.pool.get('country.subdivision')
+        if vals['subdivision']:
+            subdivision = subdivision_obj.browse(vals['subdivision'])
+            if subdivision.country.id != vals['country']:
+                vals['subdivision'] = False
+        return vals
+
  Address()

Index: address.xml
===================================================================

--- a/address.xml
+++ b/address.xml
@@ -52,7 +52,7 @@
                      <label name="country"/>
                      <field name="country" completion="1"/>
                      <label name="subdivision"/>
-                    <field name="subdivision"/>
+                    <field name="subdivision" widget="selection"/>
                  </form>
                  ]]>
              </field>



--
[email protected] mailing list

Reply via email to