Reviewers: ,


Please review this at http://codereview.tryton.org/189001/

Affected files:
  M CHANGELOG
  M configuration.py
  M party.py


Index: CHANGELOG
===================================================================
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,5 @@
+* Allow to have no Party Sequence
+
 Version 2.2.0 - 2011-10-24
 * Bug fixes (see mercurial logs for details)

Index: configuration.py
===================================================================
--- a/configuration.py
+++ b/configuration.py
@@ -11,7 +11,7 @@
     party_sequence = fields.Property(fields.Many2One('ir.sequence',
             'Party Sequence', domain=[
                 ('code', '=', 'party.party'),
-                ], required=True))
+                ]))
party_lang = fields.Property(fields.Many2One("ir.lang", 'Party Language', help=('The value set on this field will preset the language on new '
             'parties')))
Index: party.py
===================================================================
--- a/party.py
+++ b/party.py
@@ -32,9 +32,15 @@
     name = fields.Char('Name', required=True, select=1,
         states=STATES, depends=DEPENDS)
     code = fields.Char('Code', required=True, select=1,
- readonly=True, order_field="%(table)s.code_length %(order)s, " \
-                    "%(table)s.code %(order)s")
+        order_field="%(table)s.code_length %(order)s, " \
+            "%(table)s.code %(order)s",
+        states={
+            'readonly': Eval('code_readonly', True),
+            },
+        depends=['code_readonly'])
     code_length = fields.Integer('Code Length', select=1, readonly=True)
+    code_readonly = fields.Function(fields.Boolean('Code Readonly'),
+        'get_code_readonly')
     lang = fields.Many2One("ir.lang", 'Language', states=STATES,
         depends=DEPENDS)
     vat_number = fields.Char('VAT Number', help="Value Added Tax number",
@@ -97,6 +103,14 @@
         config = config_obj.browse(1)
         return config.party_lang.id

+    def default_code_readonly(self):
+        config_obj = Pool().get('party.configuration')
+        config = config_obj.browse(1)
+        return bool(config.party_sequence)
+
+    def get_code_readonly(self, ids, name):
+        return dict((x, True) for x in ids)
+
     def on_change_with_vat_code(self, vals):
return (vals.get('vat_country') or '') + (vals.get('vat_number') or '')



--
tryton-dev@googlegroups.com mailing list

Reply via email to