update common

This commit is contained in:
ivan deng
2021-03-15 16:05:36 +08:00
parent fc0149b170
commit 08c0cfaa57
2 changed files with 20 additions and 9 deletions

View File

@@ -128,6 +128,12 @@ class ResConfigSettings(models.TransientModel):
t_name = obj._table t_name = obj._table
sql = "delete from %s" % t_name sql = "delete from %s" % t_name
# 增加多公司处理
if hasattr(self.env[obj_name], 'company_id'):
field = self.env[obj_name]._fields['company_id']
if not field.related or field.store:
sql = "%s where company_id=%d" % (sql, self.env.company.id)
_logger.warning('remove_app_data where add company_id: %s' % obj_name)
try: try:
self._cr.execute(sql) self._cr.execute(sql)
# self._cr.commit() # self._cr.commit()
@@ -310,6 +316,7 @@ class ResConfigSettings(models.TransientModel):
# extra 更新序号 # extra 更新序号
domain = [ domain = [
('company_id', '=', self.env.company.id),
'|', ('code', '=ilike', 'account.%'), '|', ('code', '=ilike', 'account.%'),
'|', ('prefix', '=ilike', 'BNK1/%'), '|', ('prefix', '=ilike', 'BNK1/%'),
'|', ('prefix', '=ilike', 'CSH1/%'), '|', ('prefix', '=ilike', 'CSH1/%'),
@@ -330,10 +337,11 @@ class ResConfigSettings(models.TransientModel):
return res return res
def remove_account_chart(self): def remove_account_chart(self):
company_id = self.env.company.id
self = self.with_context(force_company=company_id, company_id=company_id)
to_removes = [ to_removes = [
# 清除财务科目,用于重设 # 清除财务科目,用于重设
'res.partner.bank', 'res.partner.bank',
'res.bank',
'account.move.line', 'account.move.line',
'account.invoice', 'account.invoice',
'account.payment', 'account.payment',
@@ -348,17 +356,17 @@ class ResConfigSettings(models.TransientModel):
# todo: 要做 remove_hr因为工资表会用到 account # todo: 要做 remove_hr因为工资表会用到 account
# 更新account关联很多是多公司字段故只存在 ir_property故在原模型只能用update # 更新account关联很多是多公司字段故只存在 ir_property故在原模型只能用update
try: try:
# reset default tax不管多公司
field1 = self.env['ir.model.fields']._get('product.template', "taxes_id").id field1 = self.env['ir.model.fields']._get('product.template', "taxes_id").id
field2 = self.env['ir.model.fields']._get('product.template', "supplier_taxes_id").id field2 = self.env['ir.model.fields']._get('product.template', "supplier_taxes_id").id
sql = ("delete from ir_default where field_id = %s or field_id = %s") % (field1, field2) sql = "delete from ir_default where (field_id = %s or field_id = %s) and company_id=%d" \
sql2 = ("update account_journal set bank_account_id=NULL;") % (field1, field2, company_id)
sql2 = "update account_journal set bank_account_id=NULL where company_id=%d;" % company_id
self._cr.execute(sql) self._cr.execute(sql)
self._cr.execute(sql2) self._cr.execute(sql2)
self._cr.commit() self._cr.commit()
except Exception as e: except Exception as e:
pass # raise Warning(e) _logger.error('remove data error: %s,%s', 'account_chart: set tax and account_journal', e)
try: try:
rec = self.env['res.partner'].search([]) rec = self.env['res.partner'].search([])
for r in rec: for r in rec:
@@ -392,7 +400,9 @@ class ResConfigSettings(models.TransientModel):
pass # raise Warning(e) pass # raise Warning(e)
seqs = [] seqs = []
return self.remove_app_data(to_removes, seqs) res = self.remove_app_data(to_removes, seqs)
self.env.company.write({'chart_template_id': False})
return res
def remove_project(self): def remove_project(self):
to_removes = [ to_removes = [

View File

@@ -144,8 +144,12 @@
</div> </div>
<div class="col-12 col-lg-12 mb4"> <div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Accounting</span> <span class="col-3 col-lg-2 text-left">Accounting</span>
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
<button string="Delete All Voucher/Invoice/Bill" type="object" name="remove_account" <button string="Delete All Voucher/Invoice/Bill" type="object" name="remove_account"
confirm="Please confirm to delete the select data?" class="oe_highlight"/> confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Clean and reset Account Chart" type="object" name="remove_account_chart"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
</div> </div>
<div class="col-12 col-lg-12 mb4"> <div class="col-12 col-lg-12 mb4">
<span class="col-3 col-lg-2 text-left">Project</span> <span class="col-3 col-lg-2 text-left">Project</span>
@@ -179,9 +183,6 @@
<button string="Delete All Workflow" type="object" name="remove_workflow" <button string="Delete All Workflow" type="object" name="remove_workflow"
confirm="Please confirm to delete the select data?" class="oe_highlight"/> confirm="Please confirm to delete the select data?" class="oe_highlight"/>
| |
<button string="Clean and reset Account Chart" type="object" name="remove_account_chart"
confirm="Please confirm to delete the select data?" class="oe_highlight"/>
|
<button string="Reset Category And Location Complete Name" type="object" name="reset_cat_loc_name" class="oe_highlight"/> <button string="Reset Category And Location Complete Name" type="object" name="reset_cat_loc_name" class="oe_highlight"/>
</div> </div>
<div class="col-12 col-lg-12 mb4"> <div class="col-12 col-lg-12 mb4">