Adding Calendar view for Opportunity
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index 5e640e7..1b071ea 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -336,3 +336,27 @@
link_communication_to_document(doc, "Opportunity", opportunity.name, ignore_communication_links)
return opportunity.name
+@frappe.whitelist()
+def get_events(start, end, filters=None):
+ """Returns events for Gantt / Calendar view rendering.
+ :param start: Start date-time.
+ :param end: End date-time.
+ :param filters: Filters (JSON).
+ """
+ from frappe.desk.calendar import get_event_conditions
+ conditions = get_event_conditions("Opportunity", filters)
+
+ data = frappe.db.sql("""
+ select
+ distinct `tabOpportunity`.name, `tabOpportunity`.customer_name, `tabOpportunity`.opportunity_amount,
+ `tabOpportunity`.title, `tabOpportunity`.contact_date
+ from
+ `tabOpportunity`
+ where
+ (`tabOpportunity`.contact_date between %(start)s and %(end)s)
+ {conditions}
+ """.format(conditions=conditions), {
+ "start": start,
+ "end": end
+ }, as_dict=True, update={"allDay": 0})
+ return data
\ No newline at end of file
diff --git a/erpnext/crm/doctype/opportunity/opportunity_calendar.js b/erpnext/crm/doctype/opportunity/opportunity_calendar.js
index 983be9b..58fa2b8 100644
--- a/erpnext/crm/doctype/opportunity/opportunity_calendar.js
+++ b/erpnext/crm/doctype/opportunity/opportunity_calendar.js
@@ -7,6 +7,13 @@
"id": "name",
"title": "customer_name",
"allDay": "allDay"
- },
- get_events_method: 'frappe.desk.doctype.event.event.get_events'
+ },
+ options: {
+ header: {
+ left: 'prev,next today',
+ center: 'title',
+ right: 'month'
+ }
+ },
+ get_events_method: 'erpnext.crm.doctype.opportunity.opportunity.get_events'
}