[opportunity] not submittable
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 3f2ac73..3461e55 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -13,12 +13,10 @@
["Opportunity", "has_opportunity"],
],
"Opportunity": [
- ["Draft", None],
- ["Submitted", "eval:self.docstatus==1"],
+ ["Open", None],
["Lost", "eval:self.status=='Lost'"],
["Quotation", "has_quotation"],
- ["Converted", "has_ordered_quotation"],
- ["Cancelled", "eval:self.docstatus==2"],
+ ["Converted", "has_ordered_quotation"]
],
"Quotation": [
["Draft", None],
diff --git a/erpnext/crm/doctype/opportunity/opportunity.json b/erpnext/crm/doctype/opportunity/opportunity.json
index 0b25ad6..3592cc1 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.json
+++ b/erpnext/crm/doctype/opportunity/opportunity.json
@@ -119,10 +119,10 @@
"no_copy": 1,
"oldfieldname": "status",
"oldfieldtype": "Select",
- "options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen",
+ "options": "Open\nQuotation\nLost\nReplied",
"permlevel": 0,
"print_hide": 1,
- "read_only": 1,
+ "read_only": 0,
"reqd": 1
},
{
@@ -406,17 +406,17 @@
],
"icon": "icon-info-sign",
"idx": 1,
- "is_submittable": 1,
- "modified": "2015-04-02 22:03:52.841173",
+ "is_submittable": 0,
+ "modified": "2015-04-13 06:50:43.198407",
"modified_by": "Administrator",
"module": "CRM",
"name": "Opportunity",
"owner": "Administrator",
"permissions": [
{
- "amend": 1,
+ "amend": 0,
"apply_user_permissions": 1,
- "cancel": 1,
+ "cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
@@ -426,12 +426,12 @@
"report": 1,
"role": "Sales User",
"share": 1,
- "submit": 1,
+ "submit": 0,
"write": 1
},
{
- "amend": 1,
- "cancel": 1,
+ "amend": 0,
+ "cancel": 0,
"create": 1,
"delete": 1,
"email": 1,
@@ -441,7 +441,7 @@
"report": 1,
"role": "Sales Manager",
"share": 1,
- "submit": 1,
+ "submit": 0,
"write": 1
}
],
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index 71f95ad..41bf9d5 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -28,6 +28,10 @@
def set_subject(self, subject):
self.title = subject
+ def after_insert(self):
+ if self.lead:
+ frappe.get_doc("Lead", self.lead).set_status(update=True)
+
def validate(self):
self._prev = frappe._dict({
"contact_date": frappe.db.get_value("Opportunity", self.name, "contact_date") if \
@@ -51,15 +55,6 @@
from erpnext.accounts.utils import validate_fiscal_year
validate_fiscal_year(self.transaction_date, self.fiscal_year, _("Opportunity Date"), self)
- def on_submit(self):
- if self.lead:
- frappe.get_doc("Lead", self.lead).set_status(update=True)
-
- def on_cancel(self):
- if self.has_quotation():
- frappe.throw(_("Cannot Cancel Opportunity as Quotation Exists"))
- self.set_status(update=True)
-
def declare_enquiry_lost(self,arg):
if not self.has_quotation():
frappe.db.set(self, 'status', 'Lost')
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 6d93df8..d989a90 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -137,4 +137,4 @@
execute:frappe.delete_doc("DocType", "Chart of Accounts")
execute:frappe.delete_doc("DocType", "Style Settings")
erpnext.patches.v5_0.update_opportunity
-
+erpnext.patches.v5_0.opportunity_not_submittable
diff --git a/erpnext/patches/v5_0/opportunity_not_submittable.py b/erpnext/patches/v5_0/opportunity_not_submittable.py
new file mode 100644
index 0000000..e29d66f
--- /dev/null
+++ b/erpnext/patches/v5_0/opportunity_not_submittable.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+ frappe.reload_doctype("Opportunity")
+ frappe.db.sql("update tabDocPerm set submit=0, cancel=0, amend=0 where parent='Opportunity'")
+ frappe.db.sql("update tabOpportunity set docstatus=0 where docstatus=1")