[#6692] don't send email after API exports
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index 68f14e0..d94303d 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -642,7 +642,7 @@
raise exc.HTTPNotFound()
if request.method == 'POST':
try:
- ProjectAdminRestController().export(tools)
+ ProjectAdminRestController().export(tools, send_email=True)
except (exc.HTTPBadRequest, exc.HTTPServiceUnavailable) as e:
flash(str(e), 'error')
redirect('.')
@@ -667,7 +667,7 @@
@expose('json:')
@require_post()
- def export(self, tools=None, **kw):
+ def export(self, tools=None, send_email=False, **kw):
"""
Initiate a bulk export of the project data.
@@ -702,7 +702,7 @@
# filename (potentially) includes a timestamp, so we have
# to pre-generate to be able to return it to the user
filename = c.project.bulk_export_filename()
- export_tasks.bulk_export.post(tools, filename)
+ export_tasks.bulk_export.post(tools, filename, send_email=send_email)
return {
'status': 'in progress',
'filename': filename,
diff --git a/Allura/allura/tasks/export_tasks.py b/Allura/allura/tasks/export_tasks.py
index c89182b..2f286d0 100644
--- a/Allura/allura/tasks/export_tasks.py
+++ b/Allura/allura/tasks/export_tasks.py
@@ -35,7 +35,7 @@
@task
-def bulk_export(tools, filename=None):
+def bulk_export(tools, filename=None, send_email=True):
'''
Export the current project data. Send notification to current user.
@@ -44,10 +44,10 @@
'''
# it's very handy to use c.* within a @task,
# but let's be explicit and keep it separate from the main code
- return _bulk_export(c.project, tools, c.user, filename)
+ return _bulk_export(c.project, tools, c.user, filename, send_email)
-def _bulk_export(project, tools, user, filename=None):
+def _bulk_export(project, tools, user, filename=None, send_email=True):
export_filename = filename or project.bulk_export_filename()
export_path = create_export_dir(project, export_filename)
not_exported_tools = []
@@ -82,6 +82,9 @@
if not user:
log.info('No user. Skipping notification.')
return
+ if not send_email:
+ return
+
tmpl = g.jinja2_env.get_template('allura:templates/mail/bulk_export.html')
instructions = tg.config.get('bulk_export_download_instructions', '')
instructions = instructions.format(