fix: Status updater for Credit/Debit Note Issued (#16998)
* fix: Status updater for Credit/Debit Note Issued higher precendence than Return * style: linting
This commit is contained in:
@@ -6,8 +6,8 @@ frappe.listview_settings['Purchase Invoice'] = {
|
|||||||
add_fields: ["supplier", "supplier_name", "base_grand_total", "outstanding_amount", "due_date", "company",
|
add_fields: ["supplier", "supplier_name", "base_grand_total", "outstanding_amount", "due_date", "company",
|
||||||
"currency", "is_return", "release_date", "on_hold"],
|
"currency", "is_return", "release_date", "on_hold"],
|
||||||
get_indicator: function(doc) {
|
get_indicator: function(doc) {
|
||||||
if(cint(doc.is_return)==1) {
|
if(flt(doc.outstanding_amount) < 0 && doc.docstatus == 1) {
|
||||||
return [__("Return"), "darkgrey", "is_return,=,Yes"];
|
return [__("Debit Note Issued"), "darkgrey", "outstanding_amount,<,0"]
|
||||||
} else if(flt(doc.outstanding_amount) > 0 && doc.docstatus==1) {
|
} else if(flt(doc.outstanding_amount) > 0 && doc.docstatus==1) {
|
||||||
if(cint(doc.on_hold) && !doc.release_date) {
|
if(cint(doc.on_hold) && !doc.release_date) {
|
||||||
return [__("On Hold"), "darkgrey"];
|
return [__("On Hold"), "darkgrey"];
|
||||||
@@ -18,9 +18,9 @@ frappe.listview_settings['Purchase Invoice'] = {
|
|||||||
} else {
|
} else {
|
||||||
return [__("Unpaid"), "orange", "outstanding_amount,>,0|due,>=,Today"];
|
return [__("Unpaid"), "orange", "outstanding_amount,>,0|due,>=,Today"];
|
||||||
}
|
}
|
||||||
} else if(flt(doc.outstanding_amount) < 0 && doc.docstatus == 1) {
|
} else if(cint(doc.is_return)) {
|
||||||
return [__("Debit Note Issued"), "darkgrey", "outstanding_amount,<,0"]
|
return [__("Return"), "darkgrey", "is_return,=,Yes"];
|
||||||
}else if(flt(doc.outstanding_amount)==0 && doc.docstatus==1) {
|
} else if(flt(doc.outstanding_amount)==0 && doc.docstatus==1) {
|
||||||
return [__("Paid"), "green", "outstanding_amount,=,0"];
|
return [__("Paid"), "green", "outstanding_amount,=,0"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,8 +54,8 @@ class SalesInvoice(SellingController):
|
|||||||
|
|
||||||
def set_indicator(self):
|
def set_indicator(self):
|
||||||
"""Set indicator for portal"""
|
"""Set indicator for portal"""
|
||||||
if cint(self.is_return) == 1:
|
if self.outstanding_amount < 0:
|
||||||
self.indicator_title = _("Return")
|
self.indicator_title = _("Credit Note Issued")
|
||||||
self.indicator_color = "darkgrey"
|
self.indicator_color = "darkgrey"
|
||||||
elif self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()):
|
elif self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()):
|
||||||
self.indicator_color = "orange"
|
self.indicator_color = "orange"
|
||||||
@@ -63,8 +63,8 @@ class SalesInvoice(SellingController):
|
|||||||
elif self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()):
|
elif self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()):
|
||||||
self.indicator_color = "red"
|
self.indicator_color = "red"
|
||||||
self.indicator_title = _("Overdue")
|
self.indicator_title = _("Overdue")
|
||||||
elif self.outstanding_amount < 0:
|
elif cint(self.is_return) == 1:
|
||||||
self.indicator_title = _("Credit Note Issued")
|
self.indicator_title = _("Return")
|
||||||
self.indicator_color = "darkgrey"
|
self.indicator_color = "darkgrey"
|
||||||
else:
|
else:
|
||||||
self.indicator_color = "green"
|
self.indicator_color = "green"
|
||||||
|
|||||||
@@ -6,16 +6,16 @@ frappe.listview_settings['Sales Invoice'] = {
|
|||||||
add_fields: ["customer", "customer_name", "base_grand_total", "outstanding_amount", "due_date", "company",
|
add_fields: ["customer", "customer_name", "base_grand_total", "outstanding_amount", "due_date", "company",
|
||||||
"currency", "is_return"],
|
"currency", "is_return"],
|
||||||
get_indicator: function(doc) {
|
get_indicator: function(doc) {
|
||||||
if(cint(doc.is_return)==1) {
|
if(flt(doc.outstanding_amount) < 0) {
|
||||||
return [__("Return"), "darkgrey", "is_return,=,Yes"];
|
|
||||||
} else if(flt(doc.outstanding_amount)==0) {
|
|
||||||
return [__("Paid"), "green", "outstanding_amount,=,0"]
|
|
||||||
} else if(flt(doc.outstanding_amount) < 0) {
|
|
||||||
return [__("Credit Note Issued"), "darkgrey", "outstanding_amount,<,0"]
|
return [__("Credit Note Issued"), "darkgrey", "outstanding_amount,<,0"]
|
||||||
}else if (flt(doc.outstanding_amount) > 0 && doc.due_date >= frappe.datetime.get_today()) {
|
} else if (flt(doc.outstanding_amount) > 0 && doc.due_date >= frappe.datetime.get_today()) {
|
||||||
return [__("Unpaid"), "orange", "outstanding_amount,>,0|due_date,>,Today"]
|
return [__("Unpaid"), "orange", "outstanding_amount,>,0|due_date,>,Today"]
|
||||||
} else if (flt(doc.outstanding_amount) > 0 && doc.due_date < frappe.datetime.get_today()) {
|
} else if (flt(doc.outstanding_amount) > 0 && doc.due_date < frappe.datetime.get_today()) {
|
||||||
return [__("Overdue"), "red", "outstanding_amount,>,0|due_date,<=,Today"]
|
return [__("Overdue"), "red", "outstanding_amount,>,0|due_date,<=,Today"]
|
||||||
|
} else if(cint(doc.is_return)) {
|
||||||
|
return [__("Return"), "darkgrey", "is_return,=,Yes"];
|
||||||
|
} else if(flt(doc.outstanding_amount)==0) {
|
||||||
|
return [__("Paid"), "green", "outstanding_amount,=,0"]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
right_column: "grand_total"
|
right_column: "grand_total"
|
||||||
|
|||||||
@@ -45,9 +45,9 @@ status_map = {
|
|||||||
"Sales Invoice": [
|
"Sales Invoice": [
|
||||||
["Draft", None],
|
["Draft", None],
|
||||||
["Submitted", "eval:self.docstatus==1"],
|
["Submitted", "eval:self.docstatus==1"],
|
||||||
|
["Paid", "eval:self.outstanding_amount==0 and self.docstatus==1"],
|
||||||
["Return", "eval:self.is_return==1 and self.docstatus==1"],
|
["Return", "eval:self.is_return==1 and self.docstatus==1"],
|
||||||
["Paid", "eval:self.outstanding_amount<=0 and self.docstatus==1 and self.is_return==0"],
|
["Credit Note Issued", "eval:self.outstanding_amount < 0 and self.docstatus==1"],
|
||||||
["Credit Note Issued", "eval:self.outstanding_amount < 0 and self.docstatus==1 and self.is_return==0 and get_value('Sales Invoice', {'is_return': 1, 'return_against': self.name, 'docstatus': 1})"],
|
|
||||||
["Unpaid", "eval:self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()) and self.docstatus==1"],
|
["Unpaid", "eval:self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()) and self.docstatus==1"],
|
||||||
["Overdue", "eval:self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()) and self.docstatus==1"],
|
["Overdue", "eval:self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()) and self.docstatus==1"],
|
||||||
["Cancelled", "eval:self.docstatus==2"],
|
["Cancelled", "eval:self.docstatus==2"],
|
||||||
@@ -55,9 +55,9 @@ status_map = {
|
|||||||
"Purchase Invoice": [
|
"Purchase Invoice": [
|
||||||
["Draft", None],
|
["Draft", None],
|
||||||
["Submitted", "eval:self.docstatus==1"],
|
["Submitted", "eval:self.docstatus==1"],
|
||||||
|
["Paid", "eval:self.outstanding_amount==0 and self.docstatus==1"],
|
||||||
["Return", "eval:self.is_return==1 and self.docstatus==1"],
|
["Return", "eval:self.is_return==1 and self.docstatus==1"],
|
||||||
["Paid", "eval:self.outstanding_amount<=0 and self.docstatus==1 and self.is_return==0"],
|
["Debit Note Issued", "eval:self.outstanding_amount < 0 and self.docstatus==1"],
|
||||||
["Debit Note Issued", "eval:self.outstanding_amount < 0 and self.docstatus==1 and self.is_return==0 and get_value('Purchase Invoice', {'is_return': 1, 'return_against': self.name, 'docstatus': 1})"],
|
|
||||||
["Unpaid", "eval:self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()) and self.docstatus==1"],
|
["Unpaid", "eval:self.outstanding_amount > 0 and getdate(self.due_date) >= getdate(nowdate()) and self.docstatus==1"],
|
||||||
["Overdue", "eval:self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()) and self.docstatus==1"],
|
["Overdue", "eval:self.outstanding_amount > 0 and getdate(self.due_date) < getdate(nowdate()) and self.docstatus==1"],
|
||||||
["Cancelled", "eval:self.docstatus==2"],
|
["Cancelled", "eval:self.docstatus==2"],
|
||||||
|
|||||||
Reference in New Issue
Block a user