diff --git a/frappe/core/doctype/log_settings/log_settings.py b/frappe/core/doctype/log_settings/log_settings.py
index e9d9d1f1d7..6d59cdeb29 100644
--- a/frappe/core/doctype/log_settings/log_settings.py
+++ b/frappe/core/doctype/log_settings/log_settings.py
@@ -30,23 +30,22 @@ def run_log_clean_up():
doc = frappe.get_doc("Log Settings")
doc.clear_logs()
-def show_error_log_reminder():
- users_to_notify = get_users_to_notify()
+@frappe.whitelist()
+def has_unseen_error_log(user):
- if frappe.db.count("Error Log", filters={'seen': 0}) > 0:
- for user in users_to_notify:
- frappe.publish_realtime('msgprint', {
- "message": _("You have unseen {0}").format(' Error Log '),
- "alert":1,
- "indicator" :"red"
- }, user=user)
+ def _get_response(show_alert=True):
+ return {
+ 'show_alert': True,
+ 'message': _("You have unseen {0}").format(' Error Logs ')
+ }
-def get_users_to_notify():
- from frappe.email import get_system_managers
- log_settings = frappe.get_doc('Log Settings')
-
- if log_settings.users_to_notify:
- return [u.user for u in log_settings.users_to_notify]
- else:
- return get_system_managers()
+ if frappe.db.sql_list("select name from `tabError Log` where seen = 0 limit 1"):
+ log_settings = frappe.get_cached_doc('Log Settings')
+ if log_settings.users_to_notify:
+ if user in [u.user for u in log_settings.users_to_notify]:
+ return _get_response()
+ else:
+ return _get_response(show_alert=False)
+ else:
+ return _get_response()
\ No newline at end of file
diff --git a/frappe/hooks.py b/frappe/hooks.py
index a952b1d1d0..ff90cf0af6 100644
--- a/frappe/hooks.py
+++ b/frappe/hooks.py
@@ -183,8 +183,7 @@ scheduler_events = {
"0/15 * * * *": [
"frappe.oauth.delete_oauth2_data",
"frappe.website.doctype.web_page.web_page.check_publish_status",
- "frappe.twofactor.delete_all_barcodes_for_users",
- "frappe.core.doctype.log_settings.log_settings.show_error_log_reminder"
+ "frappe.twofactor.delete_all_barcodes_for_users"
]
},
"all": [
diff --git a/frappe/public/js/frappe/desk.js b/frappe/public/js/frappe/desk.js
index 97d5239a72..99c1647455 100644
--- a/frappe/public/js/frappe/desk.js
+++ b/frappe/public/js/frappe/desk.js
@@ -139,6 +139,26 @@ frappe.Application = Class.extend({
}
});
}, 300000); // check every 5 minutes
+
+ if(frappe.user.has_role("System Manager")){
+ setInterval(function() {
+ frappe.call({
+ method: 'frappe.core.doctype.log_settings.log_settings.has_unseen_error_log',
+ args: {
+ user: frappe.session.user
+ },
+ callback: function(r) {
+ console.log(r);
+ if(r.message.show_alert){
+ frappe.show_alert({
+ indicator: 'red',
+ message: r.message.message
+ });
+ }
+ }
+ });
+ }, 600000); // check every 10 minutes
+ }
}
this.fetch_tags();