update paid

This commit is contained in:
ivan deng
2022-12-28 18:30:25 +08:00
parent 16c3244eda
commit 1faee6813d
88 changed files with 12605 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
from . import res_partner
from . import res_currency
from . import product_category
from . import stock_location
from . import account_tax_group

View File

@@ -0,0 +1,9 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _, tools
class AccountTaxGroup(models.Model):
_inherit = 'account.tax.group'
active = fields.Boolean(default=True, help="Set active to false to hide the tax without removing it.")

View File

@@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
import logging
from odoo import api, fields, models, _
_logger = logging.getLogger(__name__)
class ProductCategory(models.Model):
_inherit = "product.category"
complete_name = fields.Char(
'Complete Name', compute='_compute_complete_name',
store=True, translate=True)

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from odoo import api, models, fields, _
from odoo.exceptions import UserError, ValidationError
class ResCompany(models.Model):
_inherit = 'res.company'
short_name = fields.Char('Short Name', related='partner_id.short_name', readonly=False)
# 当传参 show_short_company 时,只显示简称
def name_get(self):
if self._context.get('show_short_company'):
return [(value.id, "%s" % (value.short_name if value.short_name else value.name)) for value in self]
else:
return super().name_get()

View File

@@ -0,0 +1,11 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import fields, models
class Country(models.Model):
_inherit = 'res.country'
_order = 'sequence,name'
sequence = fields.Integer('Sequence', help="Determine the display order", default=99)

View File

@@ -0,0 +1,53 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
class ResCurrency(models.Model):
_inherit = 'res.currency'
_order = 'active desc, sequence, name'
sequence = fields.Integer('Sequence', default=10, help="Determine the display order. Sort ascending.")
def rmb_upper(self, value):
"""
人民币大写
传入浮点类型的值返回 unicode 字符串
:param 传入阿拉伯数字
:return 返回值是对应阿拉伯数字的绝对值的中文数字
"""
if self.name != 'CNY':
return
rmbmap = [u"", u"", u"", u"", u"", u"", u"", u"", u"", u""]
unit = [u"", u"", u"", u"", u"", u"", u"", u"", u"", u"", u"亿",
u"", u"", u"", u"", u"", u"", u"", u""]
# 冲红负数处理
xflag = 0
if value < 0:
xflag = value
value = abs(value)
# 先把value 数字进行格式化保留两位小数,转成字符串然后去除小数点
nums = list(map(int, list(str('%0.2f' % value).replace('.', ''))))
words = []
zflag = 0 # 标记连续0次数以删除万字或适时插入零字
start = len(nums) - 3
for i in range(start, -3, -1): # 使i对应实际位数负数为角分
# 大部分情况对应数字不等于零 或者是刚开始循环
if 0 != nums[start - i] or len(words) == 0:
if zflag:
words.append(rmbmap[0])
zflag = 0
words.append(rmbmap[nums[start - i]]) # 数字对应的中文字符
words.append(unit[i + 2]) # 列表此位置的单位
# 控制‘万/元’ 万和元比较特殊如2拾万和2拾1万 无论有没有这个1 万字是必须的
elif 0 == i or (0 == i % 4 and zflag < 3):
# 上面那种情况定义了 2拾1万 的显示 这个是特殊对待的 2拾万一类的显示
words.append(unit[i + 2])
# 元(控制条件为 0 == i )和万(控制条为(0 == i % 4 and zflag < 3))的情况的处理是一样的
zflag = 0
else:
zflag += 1
if words[-1] != unit[0]: # 结尾非‘分’补整字 最小单位 如果最后一个字符不是最小单位(分)则要加一个整字
words.append(u"")
if xflag < 0: # 如果为负数则要在数字前面加上‘负’字
words.insert(0, u"")
return ''.join(words)

View File

@@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
from odoo import api, models, fields, _
from odoo.exceptions import UserError, ValidationError
class ResPartner(models.Model):
_inherit = 'res.partner'
name = fields.Char(index=True, translate=True)
short_name = fields.Char('Short Name') # 简称
fax = fields.Char('Fax') # 简称
# 增加地址显示中的手机号与电话号码
# 选项 show_address 开启则增加显示手机与电话号
def _get_name(self):
name = super(ResPartner, self)._get_name() or ''
partner = self
if self._context.get('show_address'):
if partner.mobile and partner.phone:
name = name + "\n" + partner.mobile + "," + partner.phone
elif partner.mobile:
name = name + "\n" + partner.mobile
elif partner.phone:
name = name + "\n" + partner.phone
return name
@api.model_create_multi
def create(self, vals_list):
for values in vals_list:
if 'lang' not in values:
values['lang'] = 'zh_CN'
return super(ResPartner, self).create(vals_list)

View File

@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
import logging
from odoo import api, fields, models, _
_logger = logging.getLogger(__name__)
class Location(models.Model):
_inherit = "stock.location"
complete_name = fields.Char("Full Location Name", compute='_compute_complete_name', store=True, translate=True)