[Enhancement] Added supplier quotation link on rfq
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
index 482a2ae..78af1ef 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
@@ -192,8 +192,6 @@
if isinstance(doc, basestring):
doc = json.loads(doc)
- validate_duplicate_supplier_quotation(doc)
-
try:
sq_doc = frappe.get_doc({
"doctype": "Supplier Quotation",
@@ -245,13 +243,3 @@
args = doc.get('suppliers')[cint(supplier_idx) - 1]
doc.update_supplier_part_no(args)
return doc
-
-@frappe.whitelist()
-def validate_duplicate_supplier_quotation(args):
- data = frappe.db.sql("""select sq.name as name from `tabSupplier Quotation` sq,
- `tabSupplier Quotation Item` sqi where sqi.parent = sq.name and sq.supplier = %(supplier)s
- and sqi.request_for_quotation = %(rfq)s and sq.docstatus < 2""",
- {'supplier': args.get('supplier'), 'rfq': args.get('name')}, as_dict=True)
-
- if data and data[0] and data[0].name:
- frappe.throw(_("Already supplier quotation has created"))
diff --git a/erpnext/templates/includes/rfq.js b/erpnext/templates/includes/rfq.js
index 42dcc3a..46357d4 100644
--- a/erpnext/templates/includes/rfq.js
+++ b/erpnext/templates/includes/rfq.js
@@ -18,6 +18,7 @@
this.change_rate();
this.terms();
this.submit_rfq();
+ this.navigate_quotations();
},
onfocus_select_all: function(){
@@ -89,5 +90,12 @@
}
})
})
+ },
+
+ navigate_quotations: function() {
+ $('.quotations').click(function(){
+ name = $(this).attr('idx')
+ window.location.href = "/quotations/" + encodeURIComponent(name);
+ })
}
})
diff --git a/erpnext/templates/pages/rfq.html b/erpnext/templates/pages/rfq.html
index a2b6a66..591d046 100644
--- a/erpnext/templates/pages/rfq.html
+++ b/erpnext/templates/pages/rfq.html
@@ -68,6 +68,31 @@
<textarea class="form-control terms-feedback" style="height: 100px;"></textarea>
</div>
</div>
+ <hr>
+ <div class="row">
+ <div class="result">
+ <div class="col-xs-12">
+ <p class="text-muted small">{{ _("Quotations: ") }}</p>
+ {% if doc.rfq_links %}
+ {% for d in doc.rfq_links %}
+ <div class="web-list-item transaction-list-item quotations" idx="{{d.name}}">
+ <div class="row">
+ <div class="col-sm-6">
+ <span class="indicator darkgrey"><a href="/quotations/{{d.name}}">{{d.name}}</a></span>
+ </div>
+ <div class="col-sm-3">
+ <span class="small darkgrey">{{d.status}}</span>
+ </div>
+ <div class="col-sm-3">
+ <span class="small darkgrey">{{d.transaction_date}}</span>
+ </div>
+ </div>
+ </div>
+ {% endfor %}
+ {% endif %}
+ </div>
+ </div>
+ </div>
</div>
</div>
diff --git a/erpnext/templates/pages/rfq.py b/erpnext/templates/pages/rfq.py
index decae41..abc2890 100644
--- a/erpnext/templates/pages/rfq.py
+++ b/erpnext/templates/pages/rfq.py
@@ -4,6 +4,7 @@
from __future__ import unicode_literals
import frappe
from frappe import _
+from frappe.utils import formatdate
from erpnext.controllers.website_list_for_contact import (get_customers_suppliers,
get_party_details)
@@ -13,6 +14,7 @@
context.doc = frappe.get_doc(frappe.form_dict.doctype, frappe.form_dict.name)
context.parents = frappe.form_dict.parents
context.doc.supplier = get_supplier()
+ context.doc.rfq_links = get_link_quotation(context.doc.supplier, context.doc.name)
unauthorized_user(context.doc.supplier)
update_supplier_details(context)
context["title"] = frappe.form_dict.name
@@ -41,4 +43,18 @@
context.doc.currency = supplier_doc.default_currency or frappe.db.get_value("Company", context.doc.company, "default_currency")
context.doc.currency_symbol = frappe.db.get_value("Currency", context.doc.currency, "symbol")
context.doc.number_format = frappe.db.get_value("Currency", context.doc.currency, "number_format")
- context.doc.buying_price_list = supplier_doc.default_price_list or ''
\ No newline at end of file
+ context.doc.buying_price_list = supplier_doc.default_price_list or ''
+
+def get_link_quotation(supplier, rfq):
+ quotation = frappe.db.sql(""" select distinct `tabSupplier Quotation Item`.parent as name,
+ `tabSupplier Quotation`.status, `tabSupplier Quotation`.transaction_date from
+ `tabSupplier Quotation Item`, `tabSupplier Quotation` where `tabSupplier Quotation`.docstatus < 2 and
+ `tabSupplier Quotation Item`.request_for_quotation =%(name)s and
+ `tabSupplier Quotation Item`.parent = `tabSupplier Quotation`.name and
+ `tabSupplier Quotation`.supplier = %(supplier)s order by `tabSupplier Quotation`.creation desc""",
+ {'name': rfq, 'supplier': supplier}, as_dict=1)
+
+ for data in quotation:
+ data.transaction_date = formatdate(data.transaction_date)
+
+ return quotation or None