瀏覽代碼

[enhancement] scheduler log in notifications

version-14
Rushabh Mehta 10 年之前
父節點
當前提交
958f970dd5
共有 10 個檔案被更改,包括 61 行新增3 行删除
  1. +10
    -1
      frappe/core/doctype/scheduler_log/scheduler_log.json
  2. +8
    -1
      frappe/core/doctype/scheduler_log/scheduler_log.py
  3. +11
    -0
      frappe/core/doctype/scheduler_log/scheduler_log_list.js
  4. +12
    -0
      frappe/core/doctype/scheduler_log/test_scheduler_log.py
  5. +3
    -0
      frappe/core/notifications.py
  6. +1
    -0
      frappe/hooks.py
  7. +1
    -0
      frappe/patches.txt
  8. +7
    -0
      frappe/patches/v5_0/expire_old_scheduler_logs.py
  9. +2
    -1
      frappe/public/js/frappe/form/script_manager.js
  10. +6
    -0
      frappe/public/js/frappe/misc/datetime.js

+ 10
- 1
frappe/core/doctype/scheduler_log/scheduler_log.json 查看文件

@@ -6,6 +6,15 @@
"doctype": "DocType", "doctype": "DocType",
"document_type": "System", "document_type": "System",
"fields": [ "fields": [
{
"default": "0",
"fieldname": "seen",
"fieldtype": "Check",
"hidden": 1,
"label": "Seen",
"permlevel": 0,
"precision": ""
},
{ {
"fieldname": "method", "fieldname": "method",
"fieldtype": "Data", "fieldtype": "Data",
@@ -22,7 +31,7 @@
], ],
"icon": "icon-warning-sign", "icon": "icon-warning-sign",
"idx": 1, "idx": 1,
"modified": "2015-02-05 05:11:46.339879",
"modified": "2015-05-28 02:49:12.819934",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Core", "module": "Core",
"name": "Scheduler Log", "name": "Scheduler Log",


+ 8
- 1
frappe/core/doctype/scheduler_log/scheduler_log.py 查看文件

@@ -9,4 +9,11 @@ import frappe
from frappe.model.document import Document from frappe.model.document import Document


class SchedulerLog(Document): class SchedulerLog(Document):
pass
def onload(self):
if not self.seen:
self.seen = 1
self.save()

def set_old_logs_as_seen():
frappe.db.sql("""update `tabScheduler Log` set seen=1
where ifnull(seen, 0)=0 and datediff(curdate(), creation) > 7""")

+ 11
- 0
frappe/core/doctype/scheduler_log/scheduler_log_list.js 查看文件

@@ -0,0 +1,11 @@
frappe.listview_settings['Scheduler Log'] = {
add_fields: ["seen"],
get_indicator: function(doc) {
if(cint(doc.seen)) {
return [__("Seen"), "green", "seen,=,1"];
} else {
return [__("Not Seen"), "red", "seen,=,0"];
}
},
order_by: "seen asc, modified desc",
};

+ 12
- 0
frappe/core/doctype/scheduler_log/test_scheduler_log.py 查看文件

@@ -0,0 +1,12 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
# See license.txt
from __future__ import unicode_literals

import frappe
import unittest

# test_records = frappe.get_test_records('Scheduler Log')

class TestSchedulerLog(unittest.TestCase):
pass

+ 3
- 0
frappe/core/notifications.py 查看文件

@@ -6,6 +6,9 @@ import frappe


def get_notification_config(): def get_notification_config():
return { return {
"for_doctype": {
"Scheduler Log": {"seen": 0},
},
"for_module_doctypes": { "for_module_doctypes": {
"ToDo": "To Do", "ToDo": "To Do",
"Event": "Calendar", "Event": "Calendar",


+ 1
- 0
frappe/hooks.py 查看文件

@@ -119,6 +119,7 @@ scheduler_events = {
"daily": [ "daily": [
"frappe.email.bulk.clear_outbox", "frappe.email.bulk.clear_outbox",
"frappe.desk.notifications.clear_notifications", "frappe.desk.notifications.clear_notifications",
"frappe.core.doctype.scheduler_log.scheduler_log.set_old_logs_as_seen",
"frappe.desk.doctype.event.event.send_event_digest", "frappe.desk.doctype.event.event.send_event_digest",
"frappe.sessions.clear_expired_sessions", "frappe.sessions.clear_expired_sessions",
"frappe.email.doctype.email_alert.email_alert.trigger_daily_alerts", "frappe.email.doctype.email_alert.email_alert.trigger_daily_alerts",


+ 1
- 0
frappe/patches.txt 查看文件

@@ -79,3 +79,4 @@ execute:frappe.db.sql("update tabUser set new_password='' where ifnull(new_passw
frappe.patches.v5_0.fix_text_editor_file_urls frappe.patches.v5_0.fix_text_editor_file_urls
execute:frappe.db.sql("update `tabComment` set comment_type='Comment' where comment_doctype='Blog Post' and ifnull(comment_type, '')=''") execute:frappe.db.sql("update `tabComment` set comment_type='Comment' where comment_doctype='Blog Post' and ifnull(comment_type, '')=''")
frappe.patches.v5_0.modify_session frappe.patches.v5_0.modify_session
frappe.patches.v5_0.expire_old_scheduler_logs

+ 7
- 0
frappe/patches/v5_0/expire_old_scheduler_logs.py 查看文件

@@ -0,0 +1,7 @@
import frappe

def execute():
frappe.reload_doctype("Scheduler Log")

from frappe.core.doctype.scheduler_log.scheduler_log import set_old_logs_as_seen
set_old_logs_as_seen()

+ 2
- 1
frappe/public/js/frappe/form/script_manager.js 查看文件

@@ -15,7 +15,8 @@ frappe.ui.form.on = frappe.ui.form.on_change = function(doctype, fieldname, hand


// add last handler to events so it can be called as // add last handler to events so it can be called as
// frm.events.handler(frm) // frm.events.handler(frm)
cur_frm.events[fieldname] = handler;
if(cur_frm && cur_frm.doctype===doctype)
cur_frm.events[fieldname] = handler;
} }


if (!handler && $.isPlainObject(fieldname)) { if (!handler && $.isPlainObject(fieldname)) {


+ 6
- 0
frappe/public/js/frappe/misc/datetime.js 查看文件

@@ -12,10 +12,16 @@ $.extend(frappe.datetime, {
return moment.tz(date, sys_defaults.time_zone).utc() return moment.tz(date, sys_defaults.time_zone).utc()
.utcOffset(moment.user_utc_offset).format(moment.defaultDatetimeFormat); .utcOffset(moment.user_utc_offset).format(moment.defaultDatetimeFormat);
}, },

convert_to_system_tz: function(date) { convert_to_system_tz: function(date) {
return moment(date).utc() return moment(date).utc()
.utcOffset(moment.system_utc_offset).format(moment.defaultDatetimeFormat); .utcOffset(moment.system_utc_offset).format(moment.defaultDatetimeFormat);
}, },

is_timezone_same: function() {
return moment().tz(sys_defaults.time_zone).utcOffset() === moment().utcOffset();
},

str_to_obj: function(d) { str_to_obj: function(d) {
return moment(d, moment.defaultDatetimeFormat)._d; return moment(d, moment.defaultDatetimeFormat)._d;
}, },


Loading…
取消
儲存