diff --git a/app_auto_backup/models/db_backup.py b/app_auto_backup/models/db_backup.py index 94223b31..27ed2e4d 100644 --- a/app_auto_backup/models/db_backup.py +++ b/app_auto_backup/models/db_backup.py @@ -4,11 +4,13 @@ import os import datetime import time import shutil +import subprocess import json import tempfile from odoo import models, fields, api, tools, _ from odoo.exceptions import Warning, AccessDenied +from odoo.tools import find_pg_tool, exec_pg_environ import odoo import logging @@ -293,8 +295,10 @@ class DbBackup(models.Model): _logger.info('DUMP DB: %s format %s', db_name, backup_format) - cmd = ['pg_dump', '--no-owner'] - cmd.append(db_name) + # cmd = ['pg_dump', '--no-owner'] + # cmd.append(db_name) + cmd = [find_pg_tool('pg_dump'), '--no-owner', db_name] + env = exec_pg_environ() if backup_format == 'zip': with tempfile.TemporaryDirectory() as dump_dir: @@ -306,7 +310,7 @@ class DbBackup(models.Model): with db.cursor() as cr: json.dump(self._dump_db_manifest(cr), fh, indent=4) 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: odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') 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') t.seek(0) 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: cmd.insert(-1, '--format=c') stdin, stdout = odoo.tools.exec_pg_command_pipe(*cmd) diff --git a/app_saas/__manifest__.py b/app_saas/__manifest__.py index 6e8f70b3..b4ebac7f 100644 --- a/app_saas/__manifest__.py +++ b/app_saas/__manifest__.py @@ -26,7 +26,7 @@ { 'name': 'odooapp.cn SaaS Client-Ai Passport.Odoo中文应用商店SaaS云服务客户端', - 'version': '16.0.25.01.06', + 'version': '16.0.25.01.14', 'author': 'odooai.cn', 'category': 'Base', 'website': 'https://www.odooai.cn', diff --git a/app_saas/models/res_config_settings.py b/app_saas/models/res_config_settings.py index e570ada0..90e91254 100644 --- a/app_saas/models/res_config_settings.py +++ b/app_saas/models/res_config_settings.py @@ -10,7 +10,7 @@ _logger = logging.getLogger(__name__) class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' - + 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', help="The odooapp SaaS Token for this Odoo Database. You can reset in https://www.odooapp.cn") diff --git a/app_saas/views/res_config_settings_views.xml b/app_saas/views/res_config_settings_views.xml index 79157b01..bfb02826 100644 --- a/app_saas/views/res_config_settings_views.xml +++ b/app_saas/views/res_config_settings_views.xml @@ -13,7 +13,7 @@