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:
Faris Ansari
2019-10-09 11:41:33 +05:30
committed by Nabin Hait
parent a00c98bea7
commit 38ac7f7350
12 changed files with 246 additions and 59 deletions

View File

@@ -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 %}

View File

@@ -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(){
});
}
}
})
})

View File

@@ -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>