Merge pull request #17760 from nabinhait/multi-fixes99

fix: Error due to merging of lead/customer to party_name
This commit is contained in:
Nabin Hait
2019-05-27 19:11:01 +05:30
committed by GitHub
4 changed files with 4195 additions and 4188 deletions

View File

@@ -237,6 +237,10 @@ class AccountsController(TransactionBase):
document_type = "{} Item".format(self.doctype) document_type = "{} Item".format(self.doctype)
parent_dict.update({"document_type": document_type}) parent_dict.update({"document_type": document_type})
# party_name field used for customer in opportunity and quotation
if not parent_dict.get("customer") and parent_dict.get("party_name"):
parent_dict.update({"customer": parent_dict.get("party_name")})
for item in self.get("items"): for item in self.get("items"):
if item.get("item_code"): if item.get("item_code"):
args = parent_dict.copy() args = parent_dict.copy()

View File

@@ -40,9 +40,9 @@ def get_data(filters):
`tabCommunication`.content, `tabCommunication`.communication_date `tabCommunication`.content, `tabCommunication`.communication_date
from from
( (
(select name, lead from `tabOpportunity` where lead = %(lead)s) (select name, party_name as lead from `tabOpportunity` where opportunity_from='Lead' and party_name = %(lead)s)
union union
(select name, lead from `tabQuotation` where lead = %(lead)s) (select name, party_name as lead from `tabQuotation` where quotation_to = 'Lead' and party_name = %(lead)s)
union union
(select name, lead from `tabIssue` where lead = %(lead)s and status!='Closed') (select name, lead from `tabIssue` where lead = %(lead)s and status!='Closed')
union union

View File

@@ -18,21 +18,22 @@ class JobCard(Document):
self.total_completed_qty = 0.0 self.total_completed_qty = 0.0
self.total_time_in_mins = 0.0 self.total_time_in_mins = 0.0
for d in self.get('time_logs'): if self.get('time_logs'):
if get_datetime(d.from_time) > get_datetime(d.to_time): for d in self.get('time_logs'):
frappe.throw(_("Row {0}: From time must be less than to time").format(d.idx)) if get_datetime(d.from_time) > get_datetime(d.to_time):
frappe.throw(_("Row {0}: From time must be less than to time").format(d.idx))
data = self.get_overlap_for(d) data = self.get_overlap_for(d)
if data: if data:
frappe.throw(_("Row {0}: From Time and To Time of {1} is overlapping with {2}") frappe.throw(_("Row {0}: From Time and To Time of {1} is overlapping with {2}")
.format(d.idx, self.name, data.name)) .format(d.idx, self.name, data.name))
if d.from_time and d.to_time: if d.from_time and d.to_time:
d.time_in_mins = time_diff_in_hours(d.to_time, d.from_time) * 60 d.time_in_mins = time_diff_in_hours(d.to_time, d.from_time) * 60
self.total_time_in_mins += d.time_in_mins self.total_time_in_mins += d.time_in_mins
if d.completed_qty: if d.completed_qty:
self.total_completed_qty += d.completed_qty self.total_completed_qty += d.completed_qty
def get_overlap_for(self, args): def get_overlap_for(self, args):
existing = frappe.db.sql("""select jc.name as name from existing = frappe.db.sql("""select jc.name as name from
@@ -112,8 +113,10 @@ class JobCard(Document):
for_quantity += doc.total_completed_qty for_quantity += doc.total_completed_qty
time_in_mins += doc.total_time_in_mins time_in_mins += doc.total_time_in_mins
for time_log in doc.time_logs: for time_log in doc.time_logs:
from_time_list.append(time_log.from_time) if time_log.from_time:
to_time_list.append(time_log.to_time) from_time_list.append(time_log.from_time)
if time_log.to_time:
to_time_list.append(time_log.to_time)
if for_quantity: if for_quantity:
wo = frappe.get_doc('Work Order', self.work_order) wo = frappe.get_doc('Work Order', self.work_order)

View File

@@ -4261,7 +4261,7 @@
"issingle": 0, "issingle": 0,
"istable": 0, "istable": 0,
"max_attachments": 1, "max_attachments": 1,
"modified": "2019-05-09 18:47:30.475833", "modified": "2019-05-24 16:10:14.128517",
"modified_by": "Administrator", "modified_by": "Administrator",
"module": "Stock", "module": "Stock",
"name": "Item", "name": "Item",