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