diff --git a/addons/dine360_saas_master/models/saas_backup.py b/addons/dine360_saas_master/models/saas_backup.py
index 9cbb08a..0c445b8 100644
--- a/addons/dine360_saas_master/models/saas_backup.py
+++ b/addons/dine360_saas_master/models/saas_backup.py
@@ -51,7 +51,7 @@ class SaasBackup(models.Model):
_logger.info(f"Dumping database {db_name} to {temp_filepath}...")
with open(temp_filepath, 'wb') as f:
# Odoo service dump database to stream
- db.dump_db(db_name, f, format='zip')
+ db.dump_db(db_name, f, backup_format='zip')
_logger.info("Database dumped successfully.")
# S3 upload logic
diff --git a/addons/dine360_saas_master/models/saas_restaurant.py b/addons/dine360_saas_master/models/saas_restaurant.py
index e05fc9e..217f60a 100644
--- a/addons/dine360_saas_master/models/saas_restaurant.py
+++ b/addons/dine360_saas_master/models/saas_restaurant.py
@@ -74,12 +74,19 @@ class SaasRestaurant(models.Model):
raise UserError(f"Database {self.database_name} already exists in PostgreSQL!")
# 1. Provision PostgreSQL database
- master_pwd = config.get('admin_passwd', 'admin')
admin_pass = ''.join(random.choices(string.ascii_letters + string.digits, k=12))
try:
_logger.info(f"Creating database {self.database_name}...")
- db.exp_create_database(master_pwd, self.database_name, False, 'en_US', admin_pass)
+ db.exp_create_database(
+ self.database_name,
+ False,
+ 'en_US',
+ user_password=admin_pass,
+ login=self.email,
+ country_code=self.country_id.code if self.country_id else None,
+ phone=self.phone
+ )
_logger.info(f"Database {self.database_name} created successfully.")
except Exception as e:
raise UserError(f"PostgreSQL database creation failed: {str(e)}")
@@ -96,7 +103,7 @@ class SaasRestaurant(models.Model):
with tenant_registry.cursor() as cr:
env = api.Environment(cr, SUPERUSER_ID, {})
module_objs = env['ir.module.module'].search([('name', 'in', modules_to_install)])
- module_objs.write({'state': 'to_install'})
+ module_objs.write({'state': 'to install'})
cr.commit()
# Run immediate install for Odoo base
module_objs.button_immediate_install()
@@ -127,8 +134,8 @@ class SaasRestaurant(models.Model):
'name': self.owner_name,
'login': self.email,
'email': self.email,
+ 'password': admin_pass,
})
- admin_user._set_password(admin_pass)
# Set timezone
admin_user.partner_id.tz = self.timezone
@@ -138,7 +145,7 @@ class SaasRestaurant(models.Model):
# If provisioning fails midway, drop the database to allow clean retry
_logger.error(f"Failed configuring tenant registry: {str(e)}")
try:
- db.exp_drop(master_pwd, self.database_name)
+ db.exp_drop(self.database_name)
except Exception:
pass
raise UserError(f"Database provisioning / module installation failed: {str(e)}")