mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
Merge branch '16.0' of https://github.com/guohuadeng/app-odoo into 16.0
# Conflicts: # app_auto_backup/__manifest__.py
This commit is contained in:
@@ -4,11 +4,13 @@ import os
|
|||||||
import datetime
|
import datetime
|
||||||
import time
|
import time
|
||||||
import shutil
|
import shutil
|
||||||
|
import subprocess
|
||||||
import json
|
import json
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
from odoo import models, fields, api, tools, _
|
from odoo import models, fields, api, tools, _
|
||||||
from odoo.exceptions import Warning, AccessDenied
|
from odoo.exceptions import Warning, AccessDenied
|
||||||
|
from odoo.tools import find_pg_tool, exec_pg_environ
|
||||||
import odoo
|
import odoo
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
@@ -293,8 +295,10 @@ class DbBackup(models.Model):
|
|||||||
|
|
||||||
_logger.info('DUMP DB: %s format %s', db_name, backup_format)
|
_logger.info('DUMP DB: %s format %s', db_name, backup_format)
|
||||||
|
|
||||||
cmd = ['pg_dump', '--no-owner']
|
# cmd = ['pg_dump', '--no-owner']
|
||||||
cmd.append(db_name)
|
# cmd.append(db_name)
|
||||||
|
cmd = [find_pg_tool('pg_dump'), '--no-owner', db_name]
|
||||||
|
env = exec_pg_environ()
|
||||||
|
|
||||||
if backup_format == 'zip':
|
if backup_format == 'zip':
|
||||||
with tempfile.TemporaryDirectory() as dump_dir:
|
with tempfile.TemporaryDirectory() as dump_dir:
|
||||||
@@ -306,7 +310,7 @@ class DbBackup(models.Model):
|
|||||||
with db.cursor() as cr:
|
with db.cursor() as cr:
|
||||||
json.dump(self._dump_db_manifest(cr), fh, indent=4)
|
json.dump(self._dump_db_manifest(cr), fh, indent=4)
|
||||||
cmd.insert(-1, '--file=' + os.path.join(dump_dir, 'dump.sql'))
|
cmd.insert(-1, '--file=' + os.path.join(dump_dir, 'dump.sql'))
|
||||||
odoo.tools.exec_pg_command(*cmd)
|
subprocess.run(cmd, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT, check=True)
|
||||||
if stream:
|
if stream:
|
||||||
odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
||||||
else:
|
else:
|
||||||
@@ -314,6 +318,14 @@ class DbBackup(models.Model):
|
|||||||
odoo.tools.osutil.zip_dir(dump_dir, t, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
odoo.tools.osutil.zip_dir(dump_dir, t, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
||||||
t.seek(0)
|
t.seek(0)
|
||||||
return t
|
return t
|
||||||
|
# odoo.tools.exec_pg_command(*cmd)
|
||||||
|
# if stream:
|
||||||
|
# odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
||||||
|
# else:
|
||||||
|
# t=tempfile.TemporaryFile()
|
||||||
|
# odoo.tools.osutil.zip_dir(dump_dir, t, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql')
|
||||||
|
# t.seek(0)
|
||||||
|
# return t
|
||||||
else:
|
else:
|
||||||
cmd.insert(-1, '--format=c')
|
cmd.insert(-1, '--format=c')
|
||||||
stdin, stdout = odoo.tools.exec_pg_command_pipe(*cmd)
|
stdin, stdout = odoo.tools.exec_pg_command_pipe(*cmd)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'odooapp.cn SaaS Client-Ai Passport.Odoo中文应用商店SaaS云服务客户端',
|
'name': 'odooapp.cn SaaS Client-Ai Passport.Odoo中文应用商店SaaS云服务客户端',
|
||||||
'version': '16.0.25.01.06',
|
'version': '16.0.25.01.14',
|
||||||
'author': 'odooai.cn',
|
'author': 'odooai.cn',
|
||||||
'category': 'Base',
|
'category': 'Base',
|
||||||
'website': 'https://www.odooai.cn',
|
'website': 'https://www.odooai.cn',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ _logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
class ResConfigSettings(models.TransientModel):
|
class ResConfigSettings(models.TransientModel):
|
||||||
_inherit = 'res.config.settings'
|
_inherit = 'res.config.settings'
|
||||||
|
|
||||||
module_app_cn_po = fields.Boolean('SaaS Chinese PO', help="Checked to Sync Odoo Chinese from www.odooapp.cn")
|
module_app_cn_po = fields.Boolean('SaaS Chinese PO', help="Checked to Sync Odoo Chinese from www.odooapp.cn")
|
||||||
app_saas_db_token = fields.Char('Cloud DB Token', default=True, config_parameter='app_saas_db_token',
|
app_saas_db_token = fields.Char('Cloud DB Token', default=True, config_parameter='app_saas_db_token',
|
||||||
help="The odooapp SaaS Token for this Odoo Database. You can reset in https://www.odooapp.cn")
|
help="The odooapp SaaS Token for this Odoo Database. You can reset in https://www.odooapp.cn")
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="o_setting_right_pane">
|
<div class="o_setting_right_pane">
|
||||||
<label for="module_app_cn_po"/>
|
<label for="module_app_cn_po"/>
|
||||||
<div class="content-group" id="msg_module_app_cn_po">
|
<div class="content-group" id="msg_module_app_cn_po" attrs="{'invisible': [('module_app_cn_po', '=', False)]}">
|
||||||
<div class="mt16 text-warning">
|
<div class="mt16 text-warning">
|
||||||
<strong>Save</strong> to Install Chinese PO App if downloaded.
|
<strong>Save</strong> to Install Chinese PO App if downloaded.
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user