[opportunity] not submittable
This commit is contained in:
parent
20bcf6aeff
commit
fd0f1cb8b7
@ -13,12 +13,10 @@ status_map = {
|
|||||||
["Opportunity", "has_opportunity"],
|
["Opportunity", "has_opportunity"],
|
||||||
],
|
],
|
||||||
"Opportunity": [
|
"Opportunity": [
|
||||||
["Draft", None],
|
["Open", None],
|
||||||
["Submitted", "eval:self.docstatus==1"],
|
|
||||||
["Lost", "eval:self.status=='Lost'"],
|
["Lost", "eval:self.status=='Lost'"],
|
||||||
["Quotation", "has_quotation"],
|
["Quotation", "has_quotation"],
|
||||||
["Converted", "has_ordered_quotation"],
|
["Converted", "has_ordered_quotation"]
|
||||||
["Cancelled", "eval:self.docstatus==2"],
|
|
||||||
],
|
],
|
||||||
"Quotation": [
|
"Quotation": [
|
||||||
["Draft", None],
|
["Draft", None],
|
||||||
|
@ -119,10 +119,10 @@
|
|||||||
"no_copy": 1,
|
"no_copy": 1,
|
||||||
"oldfieldname": "status",
|
"oldfieldname": "status",
|
||||||
"oldfieldtype": "Select",
|
"oldfieldtype": "Select",
|
||||||
"options": "Draft\nSubmitted\nQuotation\nLost\nCancelled\nReplied\nOpen",
|
"options": "Open\nQuotation\nLost\nReplied",
|
||||||
"permlevel": 0,
|
"permlevel": 0,
|
||||||
"print_hide": 1,
|
"print_hide": 1,
|
||||||
"read_only": 1,
|
"read_only": 0,
|
||||||
"reqd": 1
|
"reqd": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -406,17 +406,17 @@
|
|||||||
],
|
],
|
||||||
"icon": "icon-info-sign",
|
"icon": "icon-info-sign",
|
||||||
"idx": 1,
|
"idx": 1,
|
||||||
"is_submittable": 1,
|
"is_submittable": 0,
|
||||||
"modified": "2015-04-02 22:03:52.841173",
|
"modified": "2015-04-13 06:50:43.198407",
|
||||||
"modified_by": "Administrator",
|
"modified_by": "Administrator",
|
||||||
"module": "CRM",
|
"module": "CRM",
|
||||||
"name": "Opportunity",
|
"name": "Opportunity",
|
||||||
"owner": "Administrator",
|
"owner": "Administrator",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
{
|
{
|
||||||
"amend": 1,
|
"amend": 0,
|
||||||
"apply_user_permissions": 1,
|
"apply_user_permissions": 1,
|
||||||
"cancel": 1,
|
"cancel": 0,
|
||||||
"create": 1,
|
"create": 1,
|
||||||
"delete": 1,
|
"delete": 1,
|
||||||
"email": 1,
|
"email": 1,
|
||||||
@ -426,12 +426,12 @@
|
|||||||
"report": 1,
|
"report": 1,
|
||||||
"role": "Sales User",
|
"role": "Sales User",
|
||||||
"share": 1,
|
"share": 1,
|
||||||
"submit": 1,
|
"submit": 0,
|
||||||
"write": 1
|
"write": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"amend": 1,
|
"amend": 0,
|
||||||
"cancel": 1,
|
"cancel": 0,
|
||||||
"create": 1,
|
"create": 1,
|
||||||
"delete": 1,
|
"delete": 1,
|
||||||
"email": 1,
|
"email": 1,
|
||||||
@ -441,7 +441,7 @@
|
|||||||
"report": 1,
|
"report": 1,
|
||||||
"role": "Sales Manager",
|
"role": "Sales Manager",
|
||||||
"share": 1,
|
"share": 1,
|
||||||
"submit": 1,
|
"submit": 0,
|
||||||
"write": 1
|
"write": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -28,6 +28,10 @@ class Opportunity(TransactionBase):
|
|||||||
def set_subject(self, subject):
|
def set_subject(self, subject):
|
||||||
self.title = subject
|
self.title = subject
|
||||||
|
|
||||||
|
def after_insert(self):
|
||||||
|
if self.lead:
|
||||||
|
frappe.get_doc("Lead", self.lead).set_status(update=True)
|
||||||
|
|
||||||
def validate(self):
|
def validate(self):
|
||||||
self._prev = frappe._dict({
|
self._prev = frappe._dict({
|
||||||
"contact_date": frappe.db.get_value("Opportunity", self.name, "contact_date") if \
|
"contact_date": frappe.db.get_value("Opportunity", self.name, "contact_date") if \
|
||||||
@ -51,15 +55,6 @@ class Opportunity(TransactionBase):
|
|||||||
from erpnext.accounts.utils import validate_fiscal_year
|
from erpnext.accounts.utils import validate_fiscal_year
|
||||||
validate_fiscal_year(self.transaction_date, self.fiscal_year, _("Opportunity Date"), self)
|
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):
|
def declare_enquiry_lost(self,arg):
|
||||||
if not self.has_quotation():
|
if not self.has_quotation():
|
||||||
frappe.db.set(self, 'status', 'Lost')
|
frappe.db.set(self, 'status', 'Lost')
|
||||||
|
@ -137,4 +137,4 @@ erpnext.patches.v5_0.newsletter
|
|||||||
execute:frappe.delete_doc("DocType", "Chart of Accounts")
|
execute:frappe.delete_doc("DocType", "Chart of Accounts")
|
||||||
execute:frappe.delete_doc("DocType", "Style Settings")
|
execute:frappe.delete_doc("DocType", "Style Settings")
|
||||||
erpnext.patches.v5_0.update_opportunity
|
erpnext.patches.v5_0.update_opportunity
|
||||||
|
erpnext.patches.v5_0.opportunity_not_submittable
|
||||||
|
10
erpnext/patches/v5_0/opportunity_not_submittable.py
Normal file
10
erpnext/patches/v5_0/opportunity_not_submittable.py
Normal file
@ -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")
|
Loading…
x
Reference in New Issue
Block a user