mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-03 12:19:12 +00:00
Enhancements to Supplier Portal (#19221)
* fix: Add Purchase Order to portal * fix: Create Customer or Supplier on first login Based on default role set in Portal Settings, a Customer or Supplier will be created when the user logs in for the first time. * fix: Styling for transaction_row * fix: Styling for RFQ page * fix: Add Purchase Invoice route - Make Purchase Invoice from PO * fix: minor - Admissions for Student role - Remove print statement
This commit is contained in:
@@ -12,7 +12,22 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block header_actions %}
|
||||
<a href='/printview?doctype={{ doc.doctype}}&name={{ doc.name }}&format={{ print_format }}' target="_blank" rel="noopener noreferrer">{{ _("Print") }}</a>
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-outline-secondary dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
<span>{{ _('Actions') }}</span>
|
||||
<b class="caret"></b>
|
||||
</button>
|
||||
<ul class="dropdown-menu dropdown-menu-right" role="menu">
|
||||
{% if doc.doctype == 'Purchase Order' %}
|
||||
<a class="dropdown-item" href="/api/method/erpnext.buying.doctype.purchase_order.purchase_order.make_purchase_invoice_from_portal?purchase_order_name={{ doc.name }}" data-action="make_purchase_invoice">{{ _("Make Purchase Invoice") }}</a>
|
||||
{% endif %}
|
||||
<a class="dropdown-item" href='/printview?doctype={{ doc.doctype}}&name={{ doc.name }}&format={{ print_format }}'
|
||||
target="_blank" rel="noopener noreferrer">
|
||||
{{ _("Print") }}
|
||||
</a>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block page_content %}
|
||||
@@ -34,7 +49,7 @@
|
||||
</div>
|
||||
|
||||
<p class="small my-3">
|
||||
{%- set party_name = doc.supplier_name if doc.doctype == 'Supplier Quotation' else doc.customer_name %}
|
||||
{%- set party_name = doc.supplier_name if doc.doctype in ['Supplier Quotation', 'Purchase Invoice', 'Purchase Order'] else doc.customer_name %}
|
||||
<b>{{ party_name }}</b>
|
||||
|
||||
{% if doc.contact_display and doc.contact_display != party_name %}
|
||||
@@ -172,4 +187,4 @@
|
||||
currency: '{{ doc.currency }}'
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -5,7 +5,9 @@ frappe.ready(function(){
|
||||
|
||||
var loyalty_points_input = document.getElementById("loyalty-point-to-redeem");
|
||||
var loyalty_points_status = document.getElementById("loyalty-points-status");
|
||||
loyalty_points_input.onblur = apply_loyalty_points;
|
||||
if (loyalty_points_input) {
|
||||
loyalty_points_input.onblur = apply_loyalty_points;
|
||||
}
|
||||
|
||||
function apply_loyalty_points() {
|
||||
var loyalty_points = parseInt(loyalty_points_input.value);
|
||||
@@ -37,4 +39,4 @@ frappe.ready(function(){
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
@@ -22,10 +22,10 @@
|
||||
|
||||
{% block page_content %}
|
||||
<div class="row">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<div class="rfq-supplier">{{ doc.supplier }}</div>
|
||||
</div>
|
||||
<div class="col-xs-6 text-muted text-right h6">
|
||||
<div class="col-6 text-muted text-right h6">
|
||||
{{ doc.get_formatted("transaction_date") }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -33,16 +33,16 @@
|
||||
<div id="order-container">
|
||||
<div id="rfq-items">
|
||||
<div class="row cart-item-header">
|
||||
<div class="col-sm-5 col-xs-12">
|
||||
<div class="col-sm-5 col-12">
|
||||
{{ _("Items") }}
|
||||
</div>
|
||||
<div class="col-sm-2 col-xs-4 text-right">
|
||||
<div class="col-sm-2 col-4 text-right">
|
||||
{{ _("Qty") }}
|
||||
</div>
|
||||
<div class="col-sm-2 col-xs-4 text-right">
|
||||
<div class="col-sm-2 col-4 text-right">
|
||||
{{ _("Rate") }}
|
||||
</div>
|
||||
<div class="col-sm-3 col-xs-4 text-right">
|
||||
<div class="col-sm-3 col-4 text-right">
|
||||
{{ _("Amount") }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -55,30 +55,29 @@
|
||||
</div>
|
||||
{% if doc.items %}
|
||||
<div class="row grand-total-row">
|
||||
<div class="col-xs-9 text-right">{{ _("Grand Total") }}</div>
|
||||
<div class="col-xs-3 text-right">
|
||||
<div class="col-9 text-right">{{ _("Grand Total") }}</div>
|
||||
<div class="col-3 text-right">
|
||||
{{doc.currency_symbol}} <span class="tax-grand-total">0.0</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="row terms">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<br><br>
|
||||
<p class="text-muted small">{{ _("Notes: ") }}</p>
|
||||
<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 %}
|
||||
<div class="row mt-5">
|
||||
<div class="col-12">
|
||||
<p class="text-muted small">{{ _("Quotations: ") }}</p>
|
||||
{% if doc.rfq_links %}
|
||||
<div class="result">
|
||||
{% 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>
|
||||
<span class="indicator darkgrey">{{d.name}}</span>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<span class="small darkgrey">{{d.status}}</span>
|
||||
@@ -87,10 +86,11 @@
|
||||
<span class="small darkgrey">{{d.transaction_date}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<a class="transaction-item-link" href="/quotations/{{d.name}}">Link</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user