website css cleanups + dropdown in top toolbar
diff --git a/css/all-app.css b/css/all-app.css
index 80f023c..b681fa3 100644
--- a/css/all-app.css
+++ b/css/all-app.css
@@ -119,6 +119,13 @@
line-height: 1.5em;
}
+hr {
+ margin: 18px 0;
+ border: 0;
+ border-top: 1px solid #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+
a:active { outline:none; }
:focus { -moz-outline-style:none; }
diff --git a/css/all-web.css b/css/all-web.css
index ece9bf1..f576a1a 100644
--- a/css/all-web.css
+++ b/css/all-web.css
@@ -119,6 +119,13 @@
line-height: 1.5em;
}
+hr {
+ margin: 18px 0;
+ border: 0;
+ border-top: 1px solid #e5e5e5;
+ border-bottom: 1px solid #ffffff;
+}
+
a:active { outline:none; }
:focus { -moz-outline-style:none; }
@@ -1044,6 +1051,14 @@
margin-bottom: 15px;
}
+h2 {
+ margin-bottom: 11px;
+}
+
+h3 {
+ margin-bottom: 7px;
+}
+
pre {
background-color: #F8F8F8;
border: 1px solid #CCCCCC;
@@ -1078,13 +1093,6 @@
margin-bottom: 20px;
}
-.web-main-section p,
-.web-main-section h4,
-.web-main-section h5,
-.web-main-section pre {
- margin-left: 9px;
-}
-
.web-side-section {
width: 30%;
float: right;
diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
index 28303db..6c89130 100644
--- a/erpnext/website/css/website.css
+++ b/erpnext/website/css/website.css
@@ -11,6 +11,14 @@
margin-bottom: 15px;
}
+h2 {
+ margin-bottom: 11px;
+}
+
+h3 {
+ margin-bottom: 7px;
+}
+
pre {
background-color: #F8F8F8;
border: 1px solid #CCCCCC;
@@ -45,13 +53,6 @@
margin-bottom: 20px;
}
-.web-main-section p,
-.web-main-section h4,
-.web-main-section h5,
-.web-main-section pre {
- margin-left: 9px;
-}
-
.web-side-section {
width: 30%;
float: right;
diff --git a/erpnext/website/doctype/blog/blog_page.js b/erpnext/website/doctype/blog/blog_page.js
index 3ad2535..d8c4076 100644
--- a/erpnext/website/doctype/blog/blog_page.js
+++ b/erpnext/website/doctype/blog/blog_page.js
@@ -21,7 +21,7 @@
// comments
- $(wrapper).find('.web-main-section').append('<h3>Comments</h3>');
+ $(wrapper).find('.web-main-section').append('<hr><h3>Comments</h3>');
wrapper.comment_list = new wn.widgets.Listing({
parent: $(wrapper).find('.web-main-section').get(0),
diff --git a/erpnext/website/doctype/web_page/web_page.py b/erpnext/website/doctype/web_page/web_page.py
index 0a1a60e..6d64c7d 100644
--- a/erpnext/website/doctype/web_page/web_page.py
+++ b/erpnext/website/doctype/web_page/web_page.py
@@ -32,6 +32,7 @@
website.utils.add_guest_access_to_page(p.name)
self.cleanup_temp()
+ self.if_home_clear_cache()
def add_page_links(self):
"""add links for next_page and see_also"""
@@ -54,4 +55,10 @@
for f in fl:
if f in self.doc.fields:
del self.doc.fields[f]
+
+ def if_home_clear_cache(self):
+ """if home page, clear cache"""
+ if webnotes.conn.get_value("Website Settings", None, "home_page")==self.doc.name:
+ from webnotes.session_cache import clear_cache
+ clear_cache('Guest')
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index a101221..8b70d1e 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -13,6 +13,7 @@
this.make();
$('.brand').html(wn.boot.website_settings.brand_html);
this.make_items();
+ $('.topbar').dropdown();
},
make: function() {
$('header').append('<div class="topbar">\
@@ -31,13 +32,32 @@
$('.brand').attr('href', '#!' + (wn.boot.website_settings.home_page || 'Login Page'))
},
make_items: function() {
- var items = wn.boot.website_menus
+ var items = wn.boot.website_menus;
+
+ // parent labels
for(var i=0;i<items.length;i++) {
var item = items[i];
if(!item.parent_label && item.parentfield=='top_bar_items') {
item.route = item.url || item.custom_page;
- $('header .nav:first').append(repl('<li><a href="#!%(route)s" \
- data-label="%(label)s">%(label)s</a></li>', item))
+ $('header .nav:first').append(repl('<li data-label="%(label)s">\
+ <a href="#!%(route)s">%(label)s</a></li>', item))
+ }
+ }
+
+ // child labels
+ for(var i=0;i<items.length;i++) {
+ var item = items[i];
+ if(item.parent_label && item.parentfield=='top_bar_items') {
+ // check if parent label has class "dropdown"
+ $parent_li = $(repl('header li[data-label="%(parent_label)s"]', item));
+ if(!$parent_li.hasClass('dropdown')) {
+ $parent_li.addClass('dropdown');
+ $parent_li.find('a:first').addClass('dropdown-toggle');
+ $parent_li.append('<ul class="dropdown-menu"></ul>');
+ }
+ item.route = item.url || item.custom_page;
+ $parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\
+ <a href="#!%(route)s">%(label)s</a></li>', item))
}
}
}
diff --git a/erpnext/website/page/contact/contact.py b/erpnext/website/page/contact/contact.py
index 2fd00f7..a8a9133 100644
--- a/erpnext/website/page/contact/contact.py
+++ b/erpnext/website/page/contact/contact.py
@@ -1,6 +1,6 @@
import json, webnotes
-@webnotes.whitelist()
+@webnotes.whitelist(allow_guest=True)
def send(args):
"""create support ticket"""
args = json.loads(args)
diff --git a/erpnext/website/page/products/products.js b/erpnext/website/page/products/products.js
index 28baaec..4877eee 100644
--- a/erpnext/website/page/products/products.js
+++ b/erpnext/website/page/products/products.js
@@ -67,7 +67,7 @@
<div style="float:left; width: 400px">\
<p><b><a href="#!%(page_name)s">%(title)s</a></b></p>\
<p>%(short_description)s</p></div>\
- <div style="clear: both; margin-bottom: 15px; border-bottom: 1px solid #AAA"></div>', data);
+ <div style="clear: both;"></div><hr />', data);
}
});
}
diff --git a/js/all-app.js b/js/all-app.js
index 44f9a83..7b76caf 100644
--- a/js/all-app.js
+++ b/js/all-app.js
Binary files differ
diff --git a/js/all-web.js b/js/all-web.js
index 43b9df4..15a2c6c 100644
--- a/js/all-web.js
+++ b/js/all-web.js
@@ -463,7 +463,10 @@
this.set_status=this.disp_status;}}
Field.prototype.refresh=function(){this.disp_status=this.get_status();if(this.in_grid&&this.table_refresh&&this.disp_status=='Write')
{this.table_refresh();return;}
-this.set_label();this.refresh_display();if(this.onrefresh)this.onrefresh();if(this.input&&this.input.refresh)this.input.refresh(this.df);if(!this.not_in_form)
+this.set_label();this.refresh_display();if(this.onrefresh)
+this.onrefresh();if(this.input){if(this.input.refresh)this.input.refresh(this.df);}
+if(this.wrapper){this.wrapper.fieldobj=this;$(this.wrapper).trigger('refresh');}
+if(!this.not_in_form)
this.set_input(_f.get_value(this.doctype,this.docname,this.df.fieldname));this.refresh_mandatory();this.set_max_width();}
Field.prototype.refresh_label_icon=function(){if(this.df.reqd){if(this.get_value&&is_null(this.get_value())){if(this.label_icon)$ds(this.label_icon);$(this.txt?this.txt:this.input).addClass('field-to-update')}else{if(this.label_icon)$dh(this.label_icon);$(this.txt?this.txt:this.input).removeClass('field-to-update')}}}
Field.prototype.set=function(val){if(this.not_in_form)
@@ -1134,7 +1137,7 @@
/*
* erpnext/website/js/topbar.js
*/
-wn.provide('erpnext.topbar');erpnext.topbar.TopBar=Class.extend({init:function(){this.make();$('.brand').html(wn.boot.website_settings.brand_html);this.make_items();},make:function(){$('header').append('<div class="topbar">\
+wn.provide('erpnext.topbar');erpnext.topbar.TopBar=Class.extend({init:function(){this.make();$('.brand').html(wn.boot.website_settings.brand_html);this.make_items();$('.topbar').dropdown();},make:function(){$('header').append('<div class="topbar">\
<div class="topbar-inner">\
<div class="container">\
<a class="brand">[brand]</a>\
@@ -1146,9 +1149,11 @@
</ul>\
</div>\
</div>\
- </div>');$('.brand').attr('href','#!'+(wn.boot.website_settings.home_page||'Login Page'))},make_items:function(){var items=wn.boot.website_menus
-for(var i=0;i<items.length;i++){var item=items[i];if(!item.parent_label&&item.parentfield=='top_bar_items'){item.route=item.url||item.custom_page;$('header .nav:first').append(repl('<li><a href="#!%(route)s" \
- data-label="%(label)s">%(label)s</a></li>',item))}}}});erpnext.Footer=Class.extend({init:function(){$('footer').html(repl('<div class="web-footer">\
+ </div>');$('.brand').attr('href','#!'+(wn.boot.website_settings.home_page||'Login Page'))},make_items:function(){var items=wn.boot.website_menus;for(var i=0;i<items.length;i++){var item=items[i];if(!item.parent_label&&item.parentfield=='top_bar_items'){item.route=item.url||item.custom_page;$('header .nav:first').append(repl('<li data-label="%(label)s">\
+ <a href="#!%(route)s">%(label)s</a></li>',item))}}
+for(var i=0;i<items.length;i++){var item=items[i];if(item.parent_label&&item.parentfield=='top_bar_items'){$parent_li=$(repl('header li[data-label="%(parent_label)s"]',item));if(!$parent_li.hasClass('dropdown')){$parent_li.addClass('dropdown');$parent_li.find('a:first').addClass('dropdown-toggle');$parent_li.append('<ul class="dropdown-menu"></ul>');}
+item.route=item.url||item.custom_page;$parent_li.find('.dropdown-menu').append(repl('<li data-label="%(label)s">\
+ <a href="#!%(route)s">%(label)s</a></li>',item))}}}});erpnext.Footer=Class.extend({init:function(){$('footer').html(repl('<div class="web-footer">\
<div class="web-footer-menu"><ul></ul></div>\
<div class="web-footer-address">%(address)s</div>\
<div class="web-footer-copyright">© %(copyright)s</div>\
diff --git a/version.num b/version.num
index b872400..9ec873d 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-427
\ No newline at end of file
+438
\ No newline at end of file