Ensure rec_name is a char, text type

Model.default_get with 'default_rec_name' context relies on the fact that
rec_name is a string base field.

issue6630
review36501002
This commit is contained in:
Cédric Krier committed 2017-07-26 23:43:17 +02:00
1 parent d2e90dd4bb
commit 809ffc8375
1 file changed
+7 -2
+7 -2
View File
@@ -1107,7 +1107,6 @@ class TaxableMixin(object):
class TaxLine(ModelSQL, ModelView):
'Tax Line'
__name__ = 'account.tax.line'
_rec_name = 'amount'
currency_digits = fields.Function(fields.Integer('Currency Digits'),
'on_change_with_currency_digits')
amount = fields.Numeric('Amount', digits=(16, Eval('currency_digits', 2)),
@@ -1140,6 +1139,13 @@ class TaxLine(ModelSQL, ModelView):
if self.move_line:
return self.move_line.account.company.id
def get_rec_name(self, name):
return self.code.rec_name
@classmethod
def search_rec_name(cls, name, clause):
return [('code',) + tuple(clause[1:])]
class TaxRuleTemplate(ModelSQL, ModelView):
'Tax Rule Template'
@@ -1390,7 +1396,6 @@ class TaxRuleLineTemplate(sequence_ordered(), ModelSQL, ModelView):
class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
'Tax Rule Line'
__name__ = 'account.tax.rule.line'
_rec_name = 'tax'
rule = fields.Many2One('account.tax.rule', 'Rule', required=True,
select=True, ondelete='CASCADE')
group = fields.Many2One('account.tax.group', 'Tax Group',