diff --git a/erpnext/templates/includes/transaction_row.html b/erpnext/templates/includes/transaction_row.html
index c3b717d..fd4835e 100644
--- a/erpnext/templates/includes/transaction_row.html
+++ b/erpnext/templates/includes/transaction_row.html
@@ -15,7 +15,7 @@
 		</div>
 		<div class="col-sm-3 text-right bold">
 			{% if doc.doctype == "Quotation" and not doc.docstatus %}
-				{{ _("Pending For Approval") }}
+				{{ _("Pending") }}
 			{% else %}
 				{{ doc.get_formatted("grand_total") }}
 			{% endif %}
diff --git a/erpnext/templates/pages/order.html b/erpnext/templates/pages/order.html
index 19a1027..01b5f6d 100644
--- a/erpnext/templates/pages/order.html
+++ b/erpnext/templates/pages/order.html
@@ -12,23 +12,21 @@
 {% endblock %}
 
 {% block header_actions %}
-	{% if not(doc.doctype == "Quotation" and not doc.docstatus) %}
-		<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>
-	{% endif %}
+	<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 %}
@@ -36,7 +34,11 @@
 <div class="row transaction-subheading">
 	<div class="col-6">
 		<span class="indicator {{ doc.indicator_color or ("blue" if doc.docstatus==1 else "darkgrey") }}">
-			{{ _(doc.get('indicator_title')) or _(doc.status) or _("Submitted") }}
+			{% if doc.doctype == "Quotation" and not doc.docstatus %}
+				{{ _("Pending") }}
+			{% else %}
+				{{ _(doc.get('indicator_title')) or _(doc.status) or _("Submitted") }}
+			{% endif %}
 		</span>
 	</div>
 	<div class="col-6 text-muted text-right small">
@@ -66,46 +68,42 @@
 <div class="order-container">
 
 	<!-- items -->
-	{% if doc.doctype == "Quotation" and not doc.docstatus %}
-		{{ _("Pending For Approval") }}
-	{% else %}
-		<div class="order-item-table">
-			<div class="row order-items order-item-header text-muted">
-				<div class="col-sm-6 col-6 h6 text-uppercase">
-					{{ _("Item") }}
-				</div>
-				<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
-					{{ _("Quantity") }}
-				</div>
-				<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
-					{{ _("Amount") }}
-				</div>
+	<div class="order-item-table">
+		<div class="row order-items order-item-header text-muted">
+			<div class="col-sm-6 col-6 h6 text-uppercase">
+				{{ _("Item") }}
 			</div>
-			{% for d in doc.items %}
-			<div class="row order-items">
-				<div class="col-sm-6 col-6">
-					{{ item_name_and_description(d) }}
-				</div>
-				<div class="col-sm-3 col-xs-3 text-right">
-					{{ d.qty }}
-					{% if d.delivered_qty is defined and d.delivered_qty != None %}
-					<p class="text-muted small">{{ _("Delivered") }}&nbsp;{{ d.delivered_qty }}</p>
-					{% endif %}
-				</div>
-				<div class="col-sm-3 col-xs-3 text-right">
-					{{ d.get_formatted("amount")	 }}
-					<p class="text-muted small">{{ _("Rate:") }}&nbsp;{{ d.get_formatted("rate") }}</p>
-				</div>
+			<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
+				{{ _("Quantity") }}
 			</div>
-			{% endfor %}
+			<div class="col-sm-3 col-xs-3 text-right h6 text-uppercase">
+				{{ _("Amount") }}
+			</div>
 		</div>
-		<!-- taxes -->
+		{% for d in doc.items %}
+		<div class="row order-items">
+			<div class="col-sm-6 col-6">
+				{{ item_name_and_description(d) }}
+			</div>
+			<div class="col-sm-3 col-xs-3 text-right">
+				{{ d.qty }}
+				{% if d.delivered_qty is defined and d.delivered_qty != None %}
+				<p class="text-muted small">{{ _("Delivered") }}&nbsp;{{ d.delivered_qty }}</p>
+				{% endif %}
+			</div>
+			<div class="col-sm-3 col-xs-3 text-right">
+				{{ d.get_formatted("amount")	 }}
+				<p class="text-muted small">{{ _("Rate:") }}&nbsp;{{ d.get_formatted("rate") }}</p>
+			</div>
+		</div>
+		{% endfor %}
+	</div>
+	<!-- taxes -->
 	<div class="order-taxes d-flex justify-content-end">
 		<table>
 			{% include "erpnext/templates/includes/order/order_taxes.html" %}
 		</table>
 	</div>
-	{% endif %}	
 </div>
 
 {% if enabled_checkout and ((doc.doctype=="Sales Order" and doc.per_billed <= 0)
