fix: Issues related to RFQ and Supplier Quotation on Portal (#37565)
fix: RFQ and Supplier Quotation for Portal
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 365aa7f..310e412 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -7,7 +7,6 @@
import frappe
from frappe import _, msgprint, scrub
from frappe.contacts.doctype.address.address import get_company_address, get_default_address
-from frappe.contacts.doctype.contact.contact import get_contact_details
from frappe.core.doctype.user_permission.user_permission import get_permitted_documents
from frappe.model.utils import get_fetch_values
from frappe.query_builder.functions import Abs, Date, Sum
@@ -294,7 +293,21 @@
}
)
else:
- party_details.update(get_contact_details(party_details.contact_person))
+ fields = [
+ "name as contact_person",
+ "full_name as contact_display",
+ "email_id as contact_email",
+ "mobile_no as contact_mobile",
+ "phone as contact_phone",
+ "designation as contact_designation",
+ "department as contact_department",
+ ]
+
+ contact_details = frappe.db.get_value(
+ "Contact", party_details.contact_person, fields, as_dict=True
+ )
+
+ party_details.update(contact_details)
def set_other_values(party_details, party, party_type):
diff --git a/erpnext/templates/includes/rfq.js b/erpnext/templates/includes/rfq.js
index 37beb5a..ed0f1b1 100644
--- a/erpnext/templates/includes/rfq.js
+++ b/erpnext/templates/includes/rfq.js
@@ -73,6 +73,7 @@
submit_rfq(){
$('.btn-sm').click(function(){
+ debugger
frappe.freeze();
frappe.call({
type: "POST",
@@ -82,6 +83,7 @@
},
btn: this,
callback: function(r){
+ debugger
frappe.unfreeze();
if(r.message){
$('.btn-sm').hide()
diff --git a/erpnext/templates/includes/rfq/rfq_macros.html b/erpnext/templates/includes/rfq/rfq_macros.html
index 88724c3..78ec6ff 100644
--- a/erpnext/templates/includes/rfq/rfq_macros.html
+++ b/erpnext/templates/includes/rfq/rfq_macros.html
@@ -1,19 +1,25 @@
{% from "erpnext/templates/includes/macros.html" import product_image_square, product_image %}
{% macro item_name_and_description(d, doc) %}
- <div class="row">
- <div class="col-3">
- {{ product_image(d.image) }}
- </div>
- <div class="col-9">
- {{ d.item_code }}
- <p class="text-muted small">{{ d.description }}</p>
+ <div class="row">
+ <div class="col-3">
+ {% if d.image %}
+ {{ product_image(d.image) }}
+ {% else %}
+ <div class="website-image h-100 w-100" style="background-color:var(--gray-100);text-align: center;line-height: 3.6;">
+ {{ frappe.utils.get_abbr(d.item_name)}}
+ </div>
+ {% endif %}
+ </div>
+ <div class="col-9">
+ {{ d.item_code }}
+ <p class="text-muted small">{{ d.description }}</p>
{% set supplier_part_no = frappe.db.get_value("Item Supplier", {'parent': d.item_code, 'supplier': doc.supplier}, "supplier_part_no") %}
<p class="text-muted small supplier-part-no">
{% if supplier_part_no %}
{{_("Supplier Part No") + ": "+ supplier_part_no}}
{% endif %}
</p>
- </div>
- </div>
+ </div>
+ </div>
{% endmacro %}
diff --git a/erpnext/templates/pages/order.html b/erpnext/templates/pages/order.html
index bc34ad5..97bf487 100644
--- a/erpnext/templates/pages/order.html
+++ b/erpnext/templates/pages/order.html
@@ -1,5 +1,5 @@
{% extends "templates/web.html" %}
-{% from "erpnext/templates/includes/order/order_macros.html" import item_name_and_description %}
+{% from "erpnext/templates/includes/macros.html" import product_image %}
{% block breadcrumbs %}
{% include "templates/includes/breadcrumbs.html" %}
@@ -34,18 +34,6 @@
</a>
</ul>
</div>
- {% if show_pay_button %}
- <div class="form-column col-sm-6">
- <div class="page-header-actions-block" data-html-block="header-actions">
- <p>
- <a href="/api/method/erpnext.accounts.doctype.payment_request.payment_request.make_payment_request?dn={{ doc.name }}&dt={{ doc.doctype }}&submit_doc=1&order_type=Shopping Cart"
- class="btn btn-primary btn-sm" id="pay-for-order">
- {{ _("Pay") }} {{doc.get_formatted("grand_total") }}
- </a>
- </p>
- </div>
- </div>
- {% endif %}
</div>
{% endblock %}
@@ -130,42 +118,6 @@
</div>
</div>
- {% if enabled_checkout and ((doc.doctype=="Sales Order" and doc.per_billed <= 0)
- or (doc.doctype=="Sales Invoice" and doc.outstanding_amount> 0)) %}
- <div class="panel panel-default">
- <div class="panel-collapse">
- <div class="panel-body text-muted small">
- <div class="row">
- <div class="form-column col-sm-6">
- {% if available_loyalty_points %}
- <div class="panel-heading">
- <div class="row">
- <div class="form-column col-sm-6 address-title">
- <strong>Loyalty Points</strong>
- </div>
- </div>
- </div>
-
- <div class="form-group">
- <div class="h6">Enter Loyalty Points</div>
- <div class="control-input-wrapper">
- <div class="control-input">
- <input class="form-control" type="number" min="0"
- max="{{ available_loyalty_points }}" id="loyalty-point-to-redeem">
- </div>
- <p class="help-box small text-muted d-none d-sm-block"> Available Points: {{
- available_loyalty_points }} </p>
- </div>
- </div>
- {% endif %}
- </div>
- </div>
- </div>
- </div>
- </div>
- {% endif %}
-
-
{% if attachments %}
<div class="order-item-table">
<div class="row order-items order-item-header text-muted">
@@ -193,15 +145,27 @@
{% endif %}
{% endblock %}
-{% block script %}
- <script> {% include "templates/pages/order.js" %}</script>
- <script>
- window.doc_info = {
- customer: '{{doc.customer}}',
- doctype: '{{ doc.doctype }}',
- doctype_name: '{{ doc.name }}',
- grand_total: '{{ doc.grand_total }}',
- currency: '{{ doc.currency }}'
- }
- </script>
-{% endblock %}
\ No newline at end of file
+{% macro item_name_and_description(d) %}
+ <div class="row item_name_and_description">
+ <div class="col-xs-4 col-sm-2 order-image-col">
+ <div class="order-image h-100">
+ {% if d.thumbnail or d.image %}
+ {{ product_image(d.thumbnail or d.image, no_border=True) }}
+ {% else %}
+ <div class="no-image-cart-item" style="min-height: 100px;">
+ {{ frappe.utils.get_abbr(d.item_name) or "NA" }}
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ <div class="col-xs-8 col-sm-10">
+ {{ d.item_code }}
+ <div class="text-muted small item-description">
+ {{ html2text(d.description) | truncate(140) }}
+ </div>
+ <span class="text-muted mt-2 d-l-n order-qty">
+ {{ _("Qty ") }}({{ d.get_formatted("qty") }})
+ </span>
+ </div>
+ </div>
+{% endmacro %}
\ No newline at end of file
diff --git a/erpnext/templates/pages/rfq.html b/erpnext/templates/pages/rfq.html
index 6516482..d371bf2 100644
--- a/erpnext/templates/pages/rfq.html
+++ b/erpnext/templates/pages/rfq.html
@@ -1,7 +1,7 @@
{% extends "templates/web.html" %}
{% block header %}
-<h1>{{ doc.name }}</h1>
+<h1 style="margin-top: 10px;">{{ doc.name }}</h1>
{% endblock %}
{% block script %}
@@ -16,7 +16,7 @@
{% if doc.items %}
<button class="btn btn-primary btn-sm"
type="button">
- {{ _("Submit") }}</button>
+ {{ _("Make Quotation") }}</button>
{% endif %}
{% endblock %}