diff --git a/frappe/__init__.py b/frappe/__init__.py index 3109ba042c743dd3704c2f12f895c6806207c216..9dd5cc427bc50496ff0f4f8b2f80d3a30de669ab 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '10.1.44' +__version__ = '10.1.45' __title__ = "Frappe Framework" local = Local() diff --git a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.json b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.json index a8ab581bf785247a55fc798729321ec1854d7200..3fe21283c344edce994a11962773255d0188d3f5 100644 --- a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.json +++ b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.json @@ -71,6 +71,39 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "1", + "description": "Note: By default emails for failed backups are sent.", + "fieldname": "send_email_for_successful_backup", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Send Email for Successful Backup", + "length": 0, + "no_copy": 0, + "options": "", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, @@ -295,7 +328,7 @@ "issingle": 1, "istable": 0, "max_attachments": 0, - "modified": "2018-03-22 16:02:00.597029", + "modified": "2018-08-07 04:00:40.520943", "modified_by": "Administrator", "module": "Integrations", "name": "Dropbox Settings", diff --git a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py index 1afc06eb5cc41a1e87a264b3ab1f727d267fb0ab..faf818b0a8b63c168f9ff25c4d446610212c0d36 100644 --- a/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py +++ b/frappe/integrations/doctype/dropbox_settings/dropbox_settings.py @@ -56,6 +56,9 @@ def take_backup_to_dropbox(): def send_email(success, service_name, error_status=None): if success: + if frappe.db.get_value("Dropbox Settings", None, "send_email_for_successful_backup") == '0': + return + subject = "Backup Upload Successful" message ="""<h3>Backup Uploaded Successfully</h3><p>Hi there, this is just to inform you that your backup was successfully uploaded to your %s account. So relax!</p> diff --git a/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.json b/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.json index 0cdc8e1dd64ffaf7cac2f15e767656aaeb0bf85d..fe90e6ddd8c31c72ccaf1de146b240f75bccc7b7 100755 --- a/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.json +++ b/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.json @@ -72,6 +72,38 @@ "set_only_once": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "1", + "description": "Note: By default emails for failed backups are sent.", + "fieldname": "send_email_for_successful_backup", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Send Email for Successful Backup", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_on_submit": 0, @@ -234,7 +266,7 @@ "issingle": 1, "istable": 0, "max_attachments": 0, - "modified": "2017-10-06 18:27:09.022674", + "modified": "2018-08-07 04:12:43.691760", "modified_by": "Administrator", "module": "Integrations", "name": "S3 Backup Settings", diff --git a/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py b/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py index 64bbc869a7fcf0a69ceaef30c3bac373673ddf1e..4c15b6dd86c38cac5e7f49db1191f16aa17d8505 100755 --- a/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py +++ b/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py @@ -74,6 +74,9 @@ def take_backups_s3(): def send_email(success, service_name, error_status=None): if success: + if frappe.db.get_value("S3 Backup Settings", None, "send_email_for_successful_backup") == '0': + return + subject = "Backup Upload Successful" message = """<h3>Backup Uploaded Successfully! </h3><p>Hi there, this is just to inform you that your backup was successfully uploaded to your Amazon S3 bucket. So relax!</p> """ diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index 40cf915bc7df841610124dd4526539f3ee9e0241..b3b454afee6077cfa6f8e083522ca12b27fd2b80 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -634,7 +634,7 @@ frappe.views.ReportView = frappe.ui.BaseList.extend({ data.forEach(function(row, ri) { $.each(row, function(key, value) { if (key in field_map) { - totals_row[key] = (totals_row[key] || 0) + value; + totals_row[key] = (totals_row[key] || 0) + (value || 0); } }); }); diff --git a/frappe/www/search.html b/frappe/www/search.html index 00804241e77a4997ac78d29beedd606268def3d3..f9e4d478e4310c39e432e4a14b9bef3e3d26805d 100644 --- a/frappe/www/search.html +++ b/frappe/www/search.html @@ -1,7 +1,7 @@ {% extends "templates/web.html" %} {% block page_content %} -<h1>{{ title }}</h1> +<h1>{{ title }}: "{{ query }}"</h1> <div> <form action='/search'> diff --git a/frappe/www/search.py b/frappe/www/search.py index c55970c1fc8ec87a922f6302172ddd0fb91dc3ef..0a2de8392b184f7a2dbc055ed8dcda3bda07f30b 100644 --- a/frappe/www/search.py +++ b/frappe/www/search.py @@ -10,7 +10,8 @@ def get_context(context): context.no_cache = 1 if frappe.form_dict.q: query = str(utils.escape(sanitize_html(frappe.form_dict.q))) - context.title = _('Search Results for "{0}"').format(query) + context.title = _('Search Results for') + context.query = query context.update(get_search_results(query)) else: context.title = _('Search')