diff --git a/frappe/core/doctype/scheduler_event/__init__.py b/frappe/core/doctype/scheduler_event/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/core/doctype/scheduler_event/scheduler_event.js b/frappe/core/doctype/scheduler_event/scheduler_event.js new file mode 100644 index 0000000000..cb49d3cbe9 --- /dev/null +++ b/frappe/core/doctype/scheduler_event/scheduler_event.js @@ -0,0 +1,8 @@ +// Copyright (c) 2025, Frappe Technologies and contributors +// For license information, please see license.txt + +// frappe.ui.form.on("Scheduler Event", { +// refresh(frm) { + +// }, +// }); diff --git a/frappe/core/doctype/scheduler_event/scheduler_event.json b/frappe/core/doctype/scheduler_event/scheduler_event.json new file mode 100644 index 0000000000..442923e0ef --- /dev/null +++ b/frappe/core/doctype/scheduler_event/scheduler_event.json @@ -0,0 +1,49 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2025-01-13 10:20:09.095079", + "doctype": "DocType", + "engine": "InnoDB", + "field_order": [ + "scheduled_against", + "method" + ], + "fields": [ + { + "fieldname": "scheduled_against", + "fieldtype": "Link", + "label": "Scheduled Against", + "options": "DocType" + }, + { + "fieldname": "method", + "fieldtype": "Data", + "label": "Method" + } + ], + "in_create": 1, + "index_web_pages_for_search": 1, + "links": [], + "modified": "2025-01-13 10:31:06.968422", + "modified_by": "Administrator", + "module": "Core", + "name": "Scheduler Event", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "creation", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/frappe/core/doctype/scheduler_event/scheduler_event.py b/frappe/core/doctype/scheduler_event/scheduler_event.py new file mode 100644 index 0000000000..3904307205 --- /dev/null +++ b/frappe/core/doctype/scheduler_event/scheduler_event.py @@ -0,0 +1,21 @@ +# Copyright (c) 2025, Frappe Technologies and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + + +class SchedulerEvent(Document): + # begin: auto-generated types + # This code is auto-generated. Do not modify anything in this block. + + from typing import TYPE_CHECKING + + if TYPE_CHECKING: + from frappe.types import DF + + method: DF.Data | None + scheduled_against: DF.Link | None + # end: auto-generated types + + pass diff --git a/frappe/core/doctype/scheduler_event/test_scheduler_event.py b/frappe/core/doctype/scheduler_event/test_scheduler_event.py new file mode 100644 index 0000000000..bd1bc5f411 --- /dev/null +++ b/frappe/core/doctype/scheduler_event/test_scheduler_event.py @@ -0,0 +1,29 @@ +# Copyright (c) 2025, Frappe Technologies and Contributors +# See license.txt + +# import frappe +from frappe.tests import IntegrationTestCase, UnitTestCase + +# On IntegrationTestCase, the doctype test records and all +# link-field test record dependencies are recursively loaded +# Use these module variables to add/remove to/from that list +EXTRA_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"] +IGNORE_TEST_RECORD_DEPENDENCIES = [] # eg. ["User"] + + +class UnitTestSchedulerEvent(UnitTestCase): + """ + Unit tests for SchedulerEvent. + Use this class for testing individual functions and methods. + """ + + pass + + +class IntegrationTestSchedulerEvent(IntegrationTestCase): + """ + Integration tests for SchedulerEvent. + Use this class for testing interactions between multiple components. + """ + + pass