diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py
index ed84cdf8c6..351b420be3 100644
--- a/frappe/core/doctype/user/user.py
+++ b/frappe/core/doctype/user/user.py
@@ -868,5 +868,5 @@ def extract_mentions(txt):
def handle_password_test_fail(result):
suggestions = result['feedback']['suggestions'][0] if result['feedback']['suggestions'] else ''
warning = result['feedback']['warning'] if 'warning' in result['feedback'] else ''
- suggestions += _("{0} Hint : Include Underscores, Numbers and Capital Letters in the password {0} Example : Eastern_43A1W").format("
")
+ suggestions += "
" + _("Hint: Include symbols, numbers and capital letters in the password") + '
'
frappe.throw(_('Invalid Password: ' + ' '.join([warning, suggestions])))
\ No newline at end of file
diff --git a/frappe/public/js/frappe/socketio_client.js b/frappe/public/js/frappe/socketio_client.js
index b045a71e84..68253d520c 100644
--- a/frappe/public/js/frappe/socketio_client.js
+++ b/frappe/public/js/frappe/socketio_client.js
@@ -196,16 +196,18 @@ frappe.socket = {
},
setup_file_watchers: function() {
var host = window.location.origin;
- if(window.dev_server) {
- var port = '6787';
- var parts = host.split(":");
- // remove the port number from string if exists
- if (parts.length > 2) {
- host = host.split(':').slice(0, -1).join(":");
- }
- host = host + ':' + port;
+ if(!window.dev_server) {
+ return;
}
+ var port = '6787';
+ var parts = host.split(":");
+ // remove the port number from string if exists
+ if (parts.length > 2) {
+ host = host.split(':').slice(0, -1).join(":");
+ }
+ host = host + ':' + port;
+
frappe.socket.file_watcher = io.connect(host);
// css files auto reload
frappe.socket.file_watcher.on('reload_css', function(filename) {
diff --git a/frappe/website/website_generator.py b/frappe/website/website_generator.py
index 8887316732..9b97510a35 100644
--- a/frappe/website/website_generator.py
+++ b/frappe/website/website_generator.py
@@ -40,7 +40,13 @@ class WebsiteGenerator(Document):
self.route = self.route.strip('/.')[:139]
def make_route(self):
- return self.scrubbed_title()
+ '''Returns the default route. If `route` is specified in DocType it will be
+ route/title'''
+ from_title = self.scrubbed_title()
+ if self.meta.route:
+ return self.meta.route + '/' + from_title
+ else:
+ return from_title
def scrubbed_title(self):
return self.scrub(self.get(self.get_title_field()))