Browse Source

Merge pull request #1308 from hbrunn/8.0-auto_backup-improvements

[auto_backup] show chatter; custom tempdir
pull/1469/head
Pedro M. Baeza 6 years ago
committed by GitHub
parent
commit
ca565be153
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      auto_backup/models/db_backup.py
  2. 5
      auto_backup/view/db_backup_view.xml

20
auto_backup/models/db_backup.py

@ -6,6 +6,7 @@
import os import os
import shutil import shutil
import tempfile
import traceback import traceback
from contextlib import contextmanager from contextlib import contextmanager
from datetime import datetime, timedelta from datetime import datetime, timedelta
@ -54,6 +55,11 @@ class DbBackup(models.Model):
default="local", default="local",
help="Choose the storage method for this backup.", help="Choose the storage method for this backup.",
) )
tempdir = fields.Char(
string="Temporary directory",
help="Backups first go to a temporary directory. In case you need to "
"put them somewhere else, fill in the directory here",
)
sftp_host = fields.Char( sftp_host = fields.Char(
string='SFTP Server', string='SFTP Server',
oldname="sftpip", oldname="sftpip",
@ -154,7 +160,8 @@ class DbBackup(models.Model):
shutil.copyfileobj(cached, destiny) shutil.copyfileobj(cached, destiny)
# Generate new backup # Generate new backup
else: else:
db.dump_db(self.env.cr.dbname, destiny)
with rec.custom_tempdir():
db.dump_db(self.env.cr.dbname, destiny)
backup = backup or destiny.name backup = backup or destiny.name
successful |= rec successful |= rec
@ -191,6 +198,17 @@ class DbBackup(models.Model):
"""Run all scheduled backups.""" """Run all scheduled backups."""
return self.search([]).action_backup() return self.search([]).action_backup()
@api.multi
@contextmanager
def custom_tempdir(self):
old_tempdir = tempfile.tempdir
if self.tempdir:
tempfile.tempdir = self.tempdir
try:
yield
finally:
tempfile.tempdir = old_tempdir
@api.multi @api.multi
@contextmanager @contextmanager
def backup_log(self): def backup_log(self):

5
auto_backup/view/db_backup_view.xml

@ -14,6 +14,7 @@
<field name="folder"/> <field name="folder"/>
<field name="days_to_keep"/> <field name="days_to_keep"/>
<field name="method"/> <field name="method"/>
<field name="tempdir" attrs="{'invisible': [('method', '!=', 'local')]}" groups="base.group_no_one" />
</group> </group>
<div attrs="{'invisible': [('method', '!=', 'sftp')]}"> <div attrs="{'invisible': [('method', '!=', 'sftp')]}">
<div class="bg-warning text-warning"> <div class="bg-warning text-warning">
@ -44,6 +45,10 @@
<li>Set the scheduler to active and fill in how often you want backups generated.</li> <li>Set the scheduler to active and fill in how often you want backups generated.</li>
</ol> </ol>
</div> </div>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form> </form>
</field> </field>
</record> </record>

Loading…
Cancel
Save