feat: Add Call Log, Communication Medium, Communication Medium Timeslot doctype
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/communication/doctype/call_log/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/communication/doctype/call_log/__init__.py
diff --git a/erpnext/communication/doctype/call_log/call_log.js b/erpnext/communication/doctype/call_log/call_log.js
new file mode 100644
index 0000000..0018516
--- /dev/null
+++ b/erpnext/communication/doctype/call_log/call_log.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Call Log', {
+ // refresh: function(frm) {
+
+ // }
+});
diff --git a/erpnext/communication/doctype/call_log/call_log.json b/erpnext/communication/doctype/call_log/call_log.json
new file mode 100644
index 0000000..0da5970
--- /dev/null
+++ b/erpnext/communication/doctype/call_log/call_log.json
@@ -0,0 +1,86 @@
+{
+ "autoname": "call_id",
+ "creation": "2019-06-05 12:07:02.634534",
+ "doctype": "DocType",
+ "engine": "InnoDB",
+ "field_order": [
+ "call_id",
+ "call_from",
+ "column_break_3",
+ "received_by",
+ "section_break_5",
+ "call_status",
+ "call_duration",
+ "call_summary"
+ ],
+ "fields": [
+ {
+ "fieldname": "call_id",
+ "fieldtype": "Data",
+ "label": "Call ID",
+ "read_only": 1
+ },
+ {
+ "fieldname": "call_from",
+ "fieldtype": "Data",
+ "label": "Call From",
+ "read_only": 1
+ },
+ {
+ "fieldname": "column_break_3",
+ "fieldtype": "Column Break"
+ },
+ {
+ "fieldname": "received_by",
+ "fieldtype": "Data",
+ "label": "Received By",
+ "read_only": 1
+ },
+ {
+ "fieldname": "section_break_5",
+ "fieldtype": "Section Break"
+ },
+ {
+ "fieldname": "call_status",
+ "fieldtype": "Select",
+ "label": "Call Status",
+ "options": "Ringing\nIn Progress\nMissed",
+ "read_only": 1
+ },
+ {
+ "description": "Call Duration in seconds",
+ "fieldname": "call_duration",
+ "fieldtype": "Int",
+ "label": "Call Duration",
+ "read_only": 1
+ },
+ {
+ "fieldname": "call_summary",
+ "fieldtype": "Data",
+ "label": "Call Summary",
+ "read_only": 1
+ }
+ ],
+ "modified": "2019-06-05 12:08:55.527178",
+ "modified_by": "Administrator",
+ "module": "Communication",
+ "name": "Call Log",
+ "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": "modified",
+ "sort_order": "ASC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/communication/doctype/call_log/call_log.py b/erpnext/communication/doctype/call_log/call_log.py
new file mode 100644
index 0000000..fcca0e4
--- /dev/null
+++ b/erpnext/communication/doctype/call_log/call_log.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class CallLog(Document):
+ pass
diff --git a/erpnext/communication/doctype/call_log/test_call_log.py b/erpnext/communication/doctype/call_log/test_call_log.py
new file mode 100644
index 0000000..dcc982c
--- /dev/null
+++ b/erpnext/communication/doctype/call_log/test_call_log.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestCallLog(unittest.TestCase):
+ pass
diff --git a/erpnext/communication/doctype/communication_medium/__init__.py b/erpnext/communication/doctype/communication_medium/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium/__init__.py
diff --git a/erpnext/communication/doctype/communication_medium/communication_medium.js b/erpnext/communication/doctype/communication_medium/communication_medium.js
new file mode 100644
index 0000000..e37cd5b
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium/communication_medium.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Communication Medium', {
+ // refresh: function(frm) {
+
+ // }
+});
diff --git a/erpnext/communication/doctype/communication_medium/communication_medium.json b/erpnext/communication/doctype/communication_medium/communication_medium.json
new file mode 100644
index 0000000..f009b38
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium/communication_medium.json
@@ -0,0 +1,81 @@
+{
+ "autoname": "Prompt",
+ "creation": "2019-06-05 11:48:30.572795",
+ "doctype": "DocType",
+ "engine": "InnoDB",
+ "field_order": [
+ "communication_medium_type",
+ "catch_all",
+ "column_break_3",
+ "provider",
+ "disabled",
+ "timeslots_section",
+ "timeslots"
+ ],
+ "fields": [
+ {
+ "fieldname": "communication_medium_type",
+ "fieldtype": "Select",
+ "in_list_view": 1,
+ "label": "Communication Medium Type",
+ "options": "Voice\nEmail\nChat",
+ "reqd": 1
+ },
+ {
+ "description": "If there is no assigned timeslot, then communication will be handled by this group",
+ "fieldname": "catch_all",
+ "fieldtype": "Link",
+ "label": "Catch All",
+ "options": "Employee Group"
+ },
+ {
+ "fieldname": "column_break_3",
+ "fieldtype": "Column Break"
+ },
+ {
+ "fieldname": "provider",
+ "fieldtype": "Link",
+ "label": "Provider",
+ "options": "Supplier"
+ },
+ {
+ "default": "0",
+ "fieldname": "disabled",
+ "fieldtype": "Check",
+ "label": "Disabled"
+ },
+ {
+ "fieldname": "timeslots_section",
+ "fieldtype": "Section Break",
+ "label": "Timeslots"
+ },
+ {
+ "fieldname": "timeslots",
+ "fieldtype": "Table",
+ "label": "Timeslots",
+ "options": "Communication Medium Timeslot"
+ }
+ ],
+ "modified": "2019-06-05 11:49:30.769006",
+ "modified_by": "Administrator",
+ "module": "Communication",
+ "name": "Communication Medium",
+ "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": "modified",
+ "sort_order": "ASC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/communication/doctype/communication_medium/communication_medium.py b/erpnext/communication/doctype/communication_medium/communication_medium.py
new file mode 100644
index 0000000..f233da0
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium/communication_medium.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class CommunicationMedium(Document):
+ pass
diff --git a/erpnext/communication/doctype/communication_medium/test_communication_medium.py b/erpnext/communication/doctype/communication_medium/test_communication_medium.py
new file mode 100644
index 0000000..fc5754f
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium/test_communication_medium.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestCommunicationMedium(unittest.TestCase):
+ pass
diff --git a/erpnext/communication/doctype/communication_medium_timeslot/__init__.py b/erpnext/communication/doctype/communication_medium_timeslot/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium_timeslot/__init__.py
diff --git a/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.json b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.json
new file mode 100644
index 0000000..b278ca0
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.json
@@ -0,0 +1,56 @@
+{
+ "creation": "2019-06-05 11:43:38.897272",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+ "day_of_week",
+ "from_time",
+ "to_time",
+ "employee_group"
+ ],
+ "fields": [
+ {
+ "fieldname": "day_of_week",
+ "fieldtype": "Select",
+ "in_list_view": 1,
+ "label": "Day of Week",
+ "options": "Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday",
+ "reqd": 1
+ },
+ {
+ "columns": 2,
+ "fieldname": "from_time",
+ "fieldtype": "Time",
+ "in_list_view": 1,
+ "label": "From Time",
+ "reqd": 1
+ },
+ {
+ "columns": 2,
+ "fieldname": "to_time",
+ "fieldtype": "Time",
+ "in_list_view": 1,
+ "label": "To Time",
+ "reqd": 1
+ },
+ {
+ "fieldname": "employee_group",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "label": "Employee Group",
+ "options": "Employee Group",
+ "reqd": 1
+ }
+ ],
+ "istable": 1,
+ "modified": "2019-06-05 12:19:59.994979",
+ "modified_by": "Administrator",
+ "module": "Communication",
+ "name": "Communication Medium Timeslot",
+ "owner": "Administrator",
+ "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "ASC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py
new file mode 100644
index 0000000..d68d2d6
--- /dev/null
+++ b/erpnext/communication/doctype/communication_medium_timeslot/communication_medium_timeslot.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2019, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class CommunicationMediumTimeslot(Document):
+ pass