mirror of
https://github.com/bringout/oca-ocb-l10n_asia-pacific.git
synced 2026-04-26 23:22:03 +02:00
Initial commit: L10N_Asia Pacific packages
This commit is contained in:
commit
54c86b612c
828 changed files with 58224 additions and 0 deletions
43
odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py
Normal file
43
odoo-bringout-oca-ocb-l10n_cn/l10n_cn/models/account_move.py
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.osv import expression
|
||||
|
||||
try:
|
||||
from cn2an import an2cn
|
||||
except ImportError:
|
||||
an2cn = None
|
||||
|
||||
class AccountMove(models.Model):
|
||||
_inherit = 'account.move'
|
||||
|
||||
fapiao = fields.Char(string='Fapiao Number', size=8, copy=False, tracking=True)
|
||||
|
||||
@api.constrains('fapiao')
|
||||
def _check_fapiao(self):
|
||||
for record in self:
|
||||
if record.fapiao and (len(record.fapiao) != 8 or not record.fapiao.isdecimal()):
|
||||
raise ValidationError(_("Fapiao number is an 8-digit number. Please enter a correct one."))
|
||||
|
||||
@api.model
|
||||
def check_cn2an(self):
|
||||
return an2cn
|
||||
|
||||
@api.model
|
||||
def _convert_to_amount_in_word(self, number):
|
||||
"""Convert number to ``amount in words`` for Chinese financial usage."""
|
||||
if not self.check_cn2an():
|
||||
return None
|
||||
return an2cn(number, 'rmb')
|
||||
|
||||
def _count_attachments(self):
|
||||
domains = [[('res_model', '=', 'account.move'), ('res_id', '=', self.id)]]
|
||||
statement_ids = self.line_ids.mapped('statement_id')
|
||||
payment_ids = self.line_ids.mapped('payment_id')
|
||||
if statement_ids:
|
||||
domains.append([('res_model', '=', 'account.bank.statement'), ('res_id', 'in', statement_ids.ids)])
|
||||
if payment_ids:
|
||||
domains.append([('res_model', '=', 'account.payment'), ('res_id', 'in', payment_ids.ids)])
|
||||
return self.env['ir.attachment'].search_count(expression.OR(domains))
|
||||
Loading…
Add table
Add a link
Reference in a new issue