[website] [minor] moving to framework
diff --git a/portal/templates/base.html b/portal/templates/base.html
index cdbc045..bc6fb97 100644
--- a/portal/templates/base.html
+++ b/portal/templates/base.html
@@ -1,23 +1,3 @@
{% extends "lib/website/templates/base.html" %}
-{% block toolbar %}
-<div class="row">
- <div class="pull-right" style="margin:4px;" id="user-tools">
- {% if shopping_cart_enabled -%}
- <a href="cart" title="Shopping Cart"><i class="icon-shopping-cart"></i>
- <span class="cart-count"></span></a> |
- {%- endif %}
- <a id="login-link" href="login">Login</a>
- </div>
- <div class="pull-right hide" style="margin:4px;" id="user-tools-post-login">
- <a href="account" title="My Account" id="user-full-name"></a> |
- {% if shopping_cart_enabled -%}
- <a href="cart" title="Shopping Cart"><i class="icon-shopping-cart"></i>
- <span class="cart-count"></span></a> |
- {%- endif %}
- <a href="server.py?cmd=web_logout" title="Sign Out"><i class="icon-signout"></i></a>
- </div>
-</div>
-{% endblock %}
-
{% block footer %}{% include "app/portal/templates/includes/footer.html" %}{% endblock %}
\ No newline at end of file
diff --git a/portal/templates/includes/cart.js b/portal/templates/includes/cart.js
index 84d49f3..5ff6e3f 100644
--- a/portal/templates/includes/cart.js
+++ b/portal/templates/includes/cart.js
@@ -4,7 +4,7 @@
// js inside blog page
$(document).ready(function() {
- wn.cart.bind_events();
+ erpnext.cart.bind_events();
return wn.call({
type: "POST",
method: "selling.utils.cart.get_cart_quotation",
@@ -14,23 +14,23 @@
$(".progress").remove();
if(r.exc) {
if(r.exc.indexOf("WebsitePriceListMissingError")!==-1) {
- wn.cart.show_error("Oops!", "Price List not configured.");
+ erpnext.cart.show_error("Oops!", "Price List not configured.");
} else if(r["403"]) {
- wn.cart.show_error("Hey!", "You need to be logged in to view your cart.");
+ erpnext.cart.show_error("Hey!", "You need to be logged in to view your cart.");
} else {
- wn.cart.show_error("Oops!", "Something went wrong.");
+ erpnext.cart.show_error("Oops!", "Something went wrong.");
}
} else {
- wn.cart.set_cart_count();
- wn.cart.render(r.message);
+ erpnext.cart.set_cart_count();
+ erpnext.cart.render(r.message);
}
}
});
});
// shopping cart
-if(!wn.cart) wn.cart = {};
-$.extend(wn.cart, {
+if(!erpnext.cart) erpnext.cart = {};
+$.extend(erpnext.cart, {
show_error: function(title, text) {
$("#cart-container").html('<div class="well"><h4>' + title + '</h4> ' + text + '</div>');
},
@@ -39,14 +39,14 @@
// bind update button
$(document).on("click", ".item-update-cart button", function() {
var item_code = $(this).attr("data-item-code");
- wn.cart.update_cart({
+ erpnext.cart.update_cart({
item_code: item_code,
qty: $('input[data-item-code="'+item_code+'"]').val(),
with_doclist: 1,
btn: this,
callback: function(r) {
if(!r.exc) {
- wn.cart.render(r.message);
+ erpnext.cart.render(r.message);
var $button = $('button[data-item-code="'+item_code+'"]').addClass("btn-success");
setTimeout(function() { $button.removeClass("btn-success"); }, 1000);
}
@@ -63,7 +63,7 @@
});
$(".btn-place-order").on("click", function() {
- wn.cart.place_order();
+ erpnext.cart.place_order(this);
});
},
@@ -79,7 +79,7 @@
var no_items = $.map(doclist, function(d) { return d.item_code || null;}).length===0;
if(no_items) {
- wn.cart.show_error("Empty :-(", "Go ahead and add something to your cart.");
+ erpnext.cart.show_error("Empty :-(", "Go ahead and add something to your cart.");
$("#cart-addresses").toggle(false);
return;
}
@@ -89,14 +89,14 @@
var shipping_rule_labels = $.map(out.shipping_rules || [], function(rule) { return rule[1]; });
$.each(doclist, function(i, doc) {
if(doc.doctype === "Quotation Item") {
- wn.cart.render_item_row($cart_items, doc);
+ erpnext.cart.render_item_row($cart_items, doc);
} else if (doc.doctype === "Sales Taxes and Charges") {
if(out.shipping_rules && out.shipping_rules.length &&
shipping_rule_labels.indexOf(doc.description)!==-1) {
shipping_rule_added = true;
- wn.cart.render_tax_row($cart_taxes, doc, out.shipping_rules);
+ erpnext.cart.render_tax_row($cart_taxes, doc, out.shipping_rules);
} else {
- wn.cart.render_tax_row($cart_taxes, doc);
+ erpnext.cart.render_tax_row($cart_taxes, doc);
}
taxes_exist = true;
@@ -104,7 +104,7 @@
});
if(out.shipping_rules && out.shipping_rules.length && !shipping_rule_added) {
- wn.cart.render_tax_row($cart_taxes, {description: "", formatted_tax_amount: ""},
+ erpnext.cart.render_tax_row($cart_taxes, {description: "", formatted_tax_amount: ""},
out.shipping_rules);
taxes_exist = true;
}
@@ -112,7 +112,7 @@
if(taxes_exist)
$('<hr>').appendTo($cart_taxes);
- wn.cart.render_tax_row($cart_totals, {
+ erpnext.cart.render_tax_row($cart_totals, {
description: "<strong>Total</strong>",
formatted_tax_amount: "<strong>" + doclist[0].formatted_grand_total_export + "</strong>"
});
@@ -120,8 +120,8 @@
if(!(addresses && addresses.length)) {
$cart_shipping_address.html('<div class="well">Hey! Go ahead and add an address</div>');
} else {
- wn.cart.render_address($cart_shipping_address, addresses, doclist[0].shipping_address_name);
- wn.cart.render_address($cart_billing_address, addresses, doclist[0].customer_address);
+ erpnext.cart.render_address($cart_shipping_address, addresses, doclist[0].shipping_address_name);
+ erpnext.cart.render_address($cart_billing_address, addresses, doclist[0].customer_address);
}
},
@@ -185,7 +185,7 @@
}
});
$tax_row.find('select').on("change", function() {
- wn.cart.apply_shipping_rule($(this).val(), this);
+ erpnext.cart.apply_shipping_rule($(this).val(), this);
});
}
},
@@ -198,7 +198,7 @@
args: { shipping_rule: rule },
callback: function(r) {
if(!r.exc) {
- wn.cart.render(r.message);
+ erpnext.cart.render(r.message);
}
}
});
@@ -249,7 +249,7 @@
},
callback: function(r) {
if(!r.exc) {
- wn.cart.render(r.message);
+ erpnext.cart.render(r.message);
}
}
});
@@ -270,10 +270,11 @@
.collapse("show");
},
- place_order: function() {
+ place_order: function(btn) {
return wn.call({
type: "POST",
method: "selling.utils.cart.place_order",
+ btn: btn,
callback: function(r) {
if(r.exc) {
var msg = "";
diff --git a/portal/templates/includes/footer.html b/portal/templates/includes/footer.html
index 1e8dd76..6963175 100644
--- a/portal/templates/includes/footer.html
+++ b/portal/templates/includes/footer.html
@@ -1,10 +1,6 @@
{% extends "lib/website/templates/includes/footer.html" %}
-{% block powered %}
-<p style="float: right; clear: right;">
- <a style="font-size: 90%; color: #888;" href="http://erpnext.org">ERPNext Powered</a>
-</p>
-{% endblock %}
+{% block powered %}<a style="font-size: 90%; color: #aaa;" href="http://erpnext.org">ERPNext Powered</a>{% endblock %}
{% block extension %}
<br>
diff --git a/portal/templates/includes/transactions.html b/portal/templates/includes/transactions.html
index 23d5f81..65651ca 100644
--- a/portal/templates/includes/transactions.html
+++ b/portal/templates/includes/transactions.html
@@ -4,7 +4,6 @@
<div class="col-md-12">
<ul class="breadcrumb">
<li><a href="index">Home</a></li>
- <li><a href="account">My Account</a></li>
<li class="active"><i class="{{ icon }} icon-fixed-width"></i> {{ title }}</li>
</ul>
<div class="list-group transaction-list">
diff --git a/portal/templates/pages/account.html b/portal/templates/pages/account.html
deleted file mode 100644
index da43dd2..0000000
--- a/portal/templates/pages/account.html
+++ /dev/null
@@ -1,27 +0,0 @@
-{% extends base_template %}
-
-{% set title="My Account" %}
-
-{% block content %}
-<div class="col-md-12">
- <ul class="breadcrumb">
- <li><a href="index">Home</a></li>
- <li class="active">My Account</li>
- </ul>
- <!-- <h3>My Account</h3> -->
- <ul class="nav nav-stacked pull-left">
- <li><a href="profile"><i class="icon-user icon-fixed-width"></i>
- Change my name, password</a></li>
- <li><a href="addresses"><i class="icon-map-marker icon-fixed-width"></i>
- My Addresses</a></li>
- <li><a href="orders"><i class="icon-list icon-fixed-width"></i> My Orders</a></li>
- <li><a href="tickets"><i class="icon-tags icon-fixed-width"></i> My Tickets</a></li>
- <li style="border-top: 1px solid #ddd"></li>
- <li><a href="invoices"><i class="icon-file-text icon-fixed-width"></i> Invoices</a></li>
- <li><a href="shipments"><i class="icon-truck icon-fixed-width"></i> Shipments</a></li>
- <li style="border-top: 1px solid #ddd"></li>
- <li><a href="server.py?cmd=web_logout"><i class="icon-signout icon-fixed-width"></i>
- Logout</a></li>
- </ul>
-</div>
-{% endblock %}
\ No newline at end of file
diff --git a/portal/templates/pages/account.py b/portal/templates/pages/account.py
deleted file mode 100644
index 24b474a..0000000
--- a/portal/templates/pages/account.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-
-no_cache = True
\ No newline at end of file
diff --git a/portal/templates/pages/cart.html b/portal/templates/pages/cart.html
index f210772..8b648e5 100644
--- a/portal/templates/pages/cart.html
+++ b/portal/templates/pages/cart.html
@@ -13,7 +13,7 @@
<div class="progress-bar progress-bar-info" style="width: 100%;"></div>
</div>
<div id="cart-container" class="hide">
- <button class="btn btn-success pull-right btn-place-order" type="button">Place Order</button>
+ <p class="pull-right"><button class="btn btn-success btn-place-order" type="button">Place Order</button></p>
<div class="clearfix"></div>
<div id="cart-error" class="alert alert-danger" style="display: none;"></div>
<hr>
@@ -51,7 +51,7 @@
</div>
<hr>
</div>
- <button class="btn btn-success pull-right btn-place-order" type="button">Place Order</button>
+ <p class="pull-right"><button class="btn btn-success btn-place-order" type="button">Place Order</button></p>
</div>
</div>
{% endblock %}
\ No newline at end of file
diff --git a/portal/templates/pages/profile.html b/portal/templates/pages/profile.html
index 65f3e37..6971909 100644
--- a/portal/templates/pages/profile.html
+++ b/portal/templates/pages/profile.html
@@ -6,7 +6,6 @@
<div class="col-md-12">
<ul class="breadcrumb">
<li><a href="index">Home</a></li>
- <li><a href="account">My Account</a></li>
<li class="active"><i class="icon-user icon-fixed-width"></i> My Profile</li>
</ul>
<div class="alert alert-warning" id="message" style="display: none;"></div>
diff --git a/portal/templates/sale.html b/portal/templates/sale.html
index 3a49684..41ba297 100644
--- a/portal/templates/sale.html
+++ b/portal/templates/sale.html
@@ -6,7 +6,6 @@
<div class="col-md-12">
<ul class="breadcrumb">
<li><a href="index">Home</a></li>
- <li><a href="account">My Account</a></li>
<li><a href="{{ parent_link }}">{{ parent_title }}</a></li>
<li class="active"><i class="icon-file icon-fixed-width"></i> {{ doc.name }}</li>
</ul>
diff --git a/public/js/website_utils.js b/public/js/website_utils.js
index b5fea13..b42a986 100644
--- a/public/js/website_utils.js
+++ b/public/js/website_utils.js
@@ -2,7 +2,6 @@
// License: GNU General Public License v3. See license.txt
if(!window.erpnext) erpnext = {};
-if(!window.wn) wn = {};
// Add / update a new Lead / Communication
// subject, sender, description
@@ -15,187 +14,20 @@
});
}
-wn.call = function(opts) {
- if(opts.btn) {
- $(opts.btn).prop("disabled", true);
- }
-
- if(opts.msg) {
- $(opts.msg).toggle(false);
- }
-
- if(!opts.args) opts.args = {};
-
- // get or post?
- if(!opts.args._type) {
- opts.args._type = opts.type || "GET";
- }
-
- // method
- if(opts.method) {
- opts.args.cmd = opts.method;
- }
-
- // stringify
- $.each(opts.args, function(key, val) {
- if(typeof val != "string") {
- opts.args[key] = JSON.stringify(val);
- }
- });
-
- $.ajax({
- type: "POST",
- url: "server.py",
- data: opts.args,
- dataType: "json",
- success: function(data) {
- if(opts.btn) {
- $(opts.btn).prop("disabled", false);
- }
- if(data.exc) {
- if(opts.btn) {
- $(opts.btn).addClass("btn-danger");
- setTimeout(function() { $(opts.btn).removeClass("btn-danger"); }, 1000);
- }
- try {
- var err = JSON.parse(data.exc);
- if($.isArray(err)) {
- err = err.join("\n");
- }
- console.error ? console.error(err) : console.log(err);
- } catch(e) {
- console.log(data.exc);
- }
- } else{
- if(opts.btn) {
- $(opts.btn).addClass("btn-success");
- setTimeout(function() { $(opts.btn).removeClass("btn-success"); }, 1000);
- }
- }
- if(opts.msg && data.message) {
- $(opts.msg).html(data.message).toggle(true);
- }
- if(opts.callback)
- opts.callback(data);
- },
- error: function(response) {
- console.error ? console.error(response) : console.log(response);
- }
- });
-
- return false;
-}
-
// Setup the user tools
//
$(document).ready(function() {
// update login
- var full_name = getCookie("full_name");
- if(full_name) {
- $("#user-tools").addClass("hide");
- $("#user-tools-post-login").removeClass("hide");
- $("#user-full-name").text(full_name);
- }
-
- wn.cart.set_cart_count();
+ erpnext.cart.set_cart_count();
$("#user-tools a").tooltip({"placement":"bottom"});
$("#user-tools-post-login a").tooltip({"placement":"bottom"});
});
-// Utility functions
-
-function valid_email(id) {
- if(id.toLowerCase().search("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?")==-1)
- return 0; else return 1; }
-
-var validate_email = valid_email;
-
-function get_url_arg(name) {
- name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
- var regexS = "[\\?&]"+name+"=([^&#]*)";
- var regex = new RegExp( regexS );
- var results = regex.exec( window.location.href );
- if(results == null)
- return "";
- else
- return decodeURIComponent(results[1]);
-}
-
-function make_query_string(obj) {
- var query_params = [];
- $.each(obj, function(k, v) { query_params.push(encodeURIComponent(k) + "=" + encodeURIComponent(v)); });
- return "?" + query_params.join("&");
-}
-
-function repl(s, dict) {
- if(s==null)return '';
- for(key in dict) {
- s = s.split("%("+key+")s").join(dict[key]);
- }
- return s;
-}
-
-function replace_all(s, t1, t2) {
- return s.split(t1).join(t2);
-}
-
-function getCookie(name) {
- return getCookies()[name];
-}
-
-function getCookies() {
- var c = document.cookie, v = 0, cookies = {};
- if (document.cookie.match(/^\s*\$Version=(?:"1"|1);\s*(.*)/)) {
- c = RegExp.$1;
- v = 1;
- }
- if (v === 0) {
- c.split(/[,;]/).map(function(cookie) {
- var parts = cookie.split(/=/, 2),
- name = decodeURIComponent(parts[0].trimLeft()),
- value = parts.length > 1 ? decodeURIComponent(parts[1].trimRight()) : null;
- if(value && value.charAt(0)==='"') {
- value = value.substr(1, value.length-2);
- }
- cookies[name] = value;
- });
- } else {
- c.match(/(?:^|\s+)([!#$%&'*+\-.0-9A-Z^`a-z|~]+)=([!#$%&'*+\-.0-9A-Z^`a-z|~]*|"(?:[\x20-\x7E\x80\xFF]|\\[\x00-\x7F])*")(?=\s*[,;]|$)/g).map(function($0, $1) {
- var name = $0,
- value = $1.charAt(0) === '"'
- ? $1.substr(1, -1).replace(/\\(.)/g, "$1")
- : $1;
- cookies[name] = value;
- });
- }
- return cookies;
-}
-
-if (typeof String.prototype.trimLeft !== "function") {
- String.prototype.trimLeft = function() {
- return this.replace(/^\s+/, "");
- };
-}
-if (typeof String.prototype.trimRight !== "function") {
- String.prototype.trimRight = function() {
- return this.replace(/\s+$/, "");
- };
-}
-if (typeof Array.prototype.map !== "function") {
- Array.prototype.map = function(callback, thisArg) {
- for (var i=0, n=this.length, a=[]; i<n; i++) {
- if (i in this) a[i] = callback.call(thisArg, this[i]);
- }
- return a;
- };
-}
-
// shopping cart
-if(!wn.cart) wn.cart = {};
-var full_name = getCookie("full_name");
+if(!erpnext.cart) erpnext.cart = {};
-$.extend(wn.cart, {
+$.extend(erpnext.cart, {
update_cart: function(opts) {
if(!full_name) {
if(localStorage) {
@@ -217,7 +49,7 @@
if(opts.callback)
opts.callback(r);
- wn.cart.set_cart_count();
+ erpnext.cart.set_cart_count();
}
});
}
@@ -225,29 +57,22 @@
set_cart_count: function() {
var cart_count = getCookie("cart_count");
- if(cart_count)
- $(".cart-count").html("( "+ cart_count +" )")
- }
-});
-
-function remove_script_and_style(txt) {
- return (!txt || (txt.indexOf("<script>")===-1 && txt.indexOf("<style>")===-1)) ? txt :
- $("<div></div>").html(txt).find("script,noscript,style,title,meta").remove().end().html();
-}
-
-function is_html(txt) {
- if(txt.indexOf("<br>")==-1 && txt.indexOf("<p")==-1
- && txt.indexOf("<img")==-1 && txt.indexOf("<div")==-1) {
- return false;
- }
- return true;
-}
-
-function ask_to_login() {
- if(!full_name) {
- if(localStorage) {
- localStorage.setItem("last_visited", window.location.href.split("/").slice(-1)[0]);
+ var $cart = $("#website-post-login").find('[data-label="Cart"]');
+ var $badge = $cart.find(".badge");
+ var $cog = $("#website-post-login").find(".dropdown-toggle");
+ var $cog_count = $cog.find(".cart-count");
+ if(cart_count) {
+ if($badge.length === 0) {
+ var $badge = $('<span class="badge pull-right"></span>').appendTo($cart.find("a"));
+ }
+ $badge.html(cart_count);
+ if($cog_count.length === 0) {
+ var $cog_count = $('<sup class="cart-count"></span>').insertAfter($cog.find(".icon-cog"));
+ }
+ $cog_count.html(cart_count);
+ } else {
+ $badge.remove();
+ $cog_count.remove();
}
- window.location.href = "login";
}
-}
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/startup/webutils.py b/startup/webutils.py
index 9f1d12c..218741b 100644
--- a/startup/webutils.py
+++ b/startup/webutils.py
@@ -4,7 +4,23 @@
import webnotes
from webnotes.utils import cint
-def get_website_settings():
- return {
- "shopping_cart_enabled": cint(webnotes.conn.get_default("shopping_cart_enabled"))
- }
\ No newline at end of file
+def get_website_settings(context):
+ post_login = []
+ cart_enabled = cint(webnotes.conn.get_default("shopping_cart_enabled"))
+ if cart_enabled:
+ post_login += [{"label": "Cart", "url": "cart", "icon": "icon-shopping-cart", "class": "cart-count"},
+ {"class": "divider"}]
+
+ post_login += [
+ {"label": "Profile", "url": "profile", "icon": "icon-user"},
+ {"label": "Addresses", "url": "addresses", "icon": "icon-map-marker"},
+ {"label": "My Orders", "url": "orders", "icon": "icon-list"},
+ {"label": "My Tickets", "url": "tickets", "icon": "icon-tags"},
+ {"label": "Invoices", "url": "invoices", "icon": "icon-file-text"},
+ {"label": "Shipments", "url": "shipments", "icon": "icon-truck"},
+ {"class": "divider"}
+ ]
+ context.update({
+ "shopping_cart_enabled": cart_enabled,
+ "post_login": post_login + context.get("post_login", [])
+ })
\ No newline at end of file
diff --git a/stock/doctype/item/templates/includes/product_page.js b/stock/doctype/item/templates/includes/product_page.js
index b2a122e..44b7379 100644
--- a/stock/doctype/item/templates/includes/product_page.js
+++ b/stock/doctype/item/templates/includes/product_page.js
@@ -36,7 +36,7 @@
})
$("#item-add-to-cart button").on("click", function() {
- wn.cart.update_cart({
+ erpnext.cart.update_cart({
item_code: item_code,
qty: 1,
callback: function(r) {
@@ -50,7 +50,7 @@
});
$("#item-update-cart button").on("click", function() {
- wn.cart.update_cart({
+ erpnext.cart.update_cart({
item_code: item_code,
qty: $("#item-update-cart input").val(),
btn: this,
diff --git a/support/doctype/support_ticket/templates/ticket.html b/support/doctype/support_ticket/templates/ticket.html
new file mode 100644
index 0000000..b7d2f2b
--- /dev/null
+++ b/support/doctype/support_ticket/templates/ticket.html
@@ -0,0 +1,66 @@
+{% extends base_template %}
+
+{% set title=doc.name %}
+
+{% set status_label = {
+ "Open": "label-success",
+ "To Reply": "label-danger",
+ "Closed": "label-default"
+} %}
+
+{% block content %}
+<div class="col-md-12">
+ <ul class="breadcrumb">
+ <li><a href="index">Home</a></li>
+ <li><a href="tickets">My Tickets</a></li>
+ <li class="active"><i class="icon-ticket icon-fixed-width"></i> {{ doc.name }}</li>
+ </ul>
+ <h3><i class="icon-ticket icon-fixed-width"></i> {{ doc.name }}</h3>
+ {% if doc.name == "Not Allowed" -%}
+ <script>ask_to_login();</script>
+ {% else %}
+ <hr>
+ {%- if doc.status -%}
+ {% if doc.status == "Waiting for Customer" -%}
+ {% set status = "To Reply" %}
+ {% else %}
+ {% set status = doc.status %}
+ {%- endif -%}
+ <div class="row">
+ <div class="col-md-2" style="margin-bottom: 7px;">
+ <span class="label {{ status_label.get(status) or 'label-default' }}">{{ status }}</span>
+ </div>
+ <div class="col-md-8">
+ <div class="row col-md-12">{{ doc.subject }}</div>
+ </div>
+ <div class="col-md-2 pull-right">
+ <span class="text-muted">{{ utils.formatdate(doc.creation) }}</span>
+ </div>
+ </div>
+ <br>
+ <h4>Messages</h4>
+ {%- if doclist.get({"doctype":"Communication"}) -%}
+ <div>
+ <table class="table table-bordered table-striped">
+ <tbody>
+ {%- for comm in doclist.get({"doctype":"Communication"}) %}
+ <tr>
+ <td>
+ <h5 style="text-transform: none">
+ {{ comm.sender }} on {{ utils.formatdate(doc.modified) }}</h5>
+ <hr>
+ <p>{{ webnotes.utils.is_html(comm.content) and comm.content or
+ comm.content.replace("\n", "<br>")}}</p>
+ </td>
+ </tr>
+ {% endfor -%}
+ </tbody>
+ </table>
+ </div>
+ {%- else -%}
+ <div class="alert">No messages</div>
+ {%- endif -%}
+ {%- endif -%}
+ {% endif -%}
+</div>
+{% endblock %}
\ No newline at end of file
diff --git a/utilities/doctype/address/templates/pages/address.html b/utilities/doctype/address/templates/pages/address.html
index 63c3748..f02d687 100644
--- a/utilities/doctype/address/templates/pages/address.html
+++ b/utilities/doctype/address/templates/pages/address.html
@@ -40,7 +40,6 @@
<div class="col-md-12">
<ul class="breadcrumb">
<li><a href="index">Home</a></li>
- <li><a href="account">My Account</a></li>
<li><a href="addresses">My Addresses</a></li>
<li class="active"><i class="icon-map-marker icon-fixed-width"></i> {{ title }}</li>
</ul>
diff --git a/utilities/doctype/address/templates/pages/addresses.html b/utilities/doctype/address/templates/pages/addresses.html
index e3a5b68..d56c734 100644
--- a/utilities/doctype/address/templates/pages/addresses.html
+++ b/utilities/doctype/address/templates/pages/addresses.html
@@ -6,7 +6,6 @@
<div class="col-md-12">
<ul class="breadcrumb">
<li><a href="index">Home</a></li>
- <li><a href="account">My Account</a></li>
<li class="active"><i class="icon-map-marker icon-fixed-width"></i> My Addresses</li>
</ul>
<p><a class="btn btn-default" href="address"><i class="icon-plus"> New Address</i></a></p>