diff --git a/css/all-app.css b/css/all-app.css index 21cf8fb041..66229fd393 100644 --- a/css/all-app.css +++ b/css/all-app.css @@ -1728,7 +1728,6 @@ body { padding: 0px; font-size: 14px; color: #000; - background-color: #e2e2e2; } /* font settings */ @@ -1848,12 +1847,12 @@ div.comment { color: #444; } div#body_div { display: none; padding-right: 7px; - width: 900px; - margin: auto; - margin-top: 56px; + padding-top: 70px; + padding-bottom: 50px; } .content { + margin: auto; width: 900px; } @@ -1864,23 +1863,19 @@ div#body_div { transition: background 1s ease-in; } -footer { - width: 900px; - margin: auto; -} header .container { width: 900px; margin: auto; } @media (max-width: 1200px) { - div#body_div, header .container, .content, #opened-page-selector, footer { + header .container, .content { width: 900px; } } @media (min-width: 1200px) { - div#body_div, header .container, .content, #opened-page-selector, footer { + header .container, .content { width: 1100px; } } @@ -1931,7 +1926,6 @@ div.std-footer-item { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; - margin-bottom: 30px; overflow: hidden; } @@ -3581,7 +3575,6 @@ span, div, td, input, textarea, button, select { } body { - background: url(../images/redbeech.jpg) repeat; color: #616161; } diff --git a/css/all-web.css b/css/all-web.css index 8ac14cb716..c7ab6f89e8 100644 --- a/css/all-web.css +++ b/css/all-web.css @@ -1195,6 +1195,387 @@ button.btn.small, input[type="submit"].btn.small { margin-bottom: 0; } +/* + * lib/css/bootstrap/icons.css + */ +[class^="icon-"], [class*=" icon-"] { + display: inline-block; + width: 14px; + height: 14px; + line-height: 14px; + vertical-align: text-top; + background-image: url("../lib/images/icons/glyphicons-halflings.png"); + background-position: 14px 14px; + background-repeat: no-repeat; + *margin-right: .3em; +} +[class^="icon-"]:last-child, [class*=" icon-"]:last-child { + *margin-left: 0; +} +.icon-white { + background-image: url("../lib/images/icons/glyphicons-halflings-white.png"); +} +.icon-glass { + background-position: 0 0; +} +.icon-music { + background-position: -24px 0; +} +.icon-search { + background-position: -48px 0; +} +.icon-envelope { + background-position: -72px 0; +} +.icon-heart { + background-position: -96px 0; +} +.icon-star { + background-position: -120px 0; +} +.icon-star-empty { + background-position: -144px 0; +} +.icon-user { + background-position: -168px 0; +} +.icon-film { + background-position: -192px 0; +} +.icon-th-large { + background-position: -216px 0; +} +.icon-th { + background-position: -240px 0; +} +.icon-th-list { + background-position: -264px 0; +} +.icon-ok { + background-position: -288px 0; +} +.icon-remove { + background-position: -312px 0; +} +.icon-zoom-in { + background-position: -336px 0; +} +.icon-zoom-out { + background-position: -360px 0; +} +.icon-off { + background-position: -384px 0; +} +.icon-signal { + background-position: -408px 0; +} +.icon-cog { + background-position: -432px 0; +} +.icon-trash { + background-position: -456px 0; +} +.icon-home { + background-position: 0 -24px; +} +.icon-file { + background-position: -24px -24px; +} +.icon-time { + background-position: -48px -24px; +} +.icon-road { + background-position: -72px -24px; +} +.icon-download-alt { + background-position: -96px -24px; +} +.icon-download { + background-position: -120px -24px; +} +.icon-upload { + background-position: -144px -24px; +} +.icon-inbox { + background-position: -168px -24px; +} +.icon-play-circle { + background-position: -192px -24px; +} +.icon-repeat { + background-position: -216px -24px; +} +.icon-refresh { + background-position: -240px -24px; +} +.icon-list-alt { + background-position: -264px -24px; +} +.icon-lock { + background-position: -287px -24px; +} +.icon-flag { + background-position: -312px -24px; +} +.icon-headphones { + background-position: -336px -24px; +} +.icon-volume-off { + background-position: -360px -24px; +} +.icon-volume-down { + background-position: -384px -24px; +} +.icon-volume-up { + background-position: -408px -24px; +} +.icon-qrcode { + background-position: -432px -24px; +} +.icon-barcode { + background-position: -456px -24px; +} +.icon-tag { + background-position: 0 -48px; +} +.icon-tags { + background-position: -25px -48px; +} +.icon-book { + background-position: -48px -48px; +} +.icon-bookmark { + background-position: -72px -48px; +} +.icon-print { + background-position: -96px -48px; +} +.icon-camera { + background-position: -120px -48px; +} +.icon-font { + background-position: -144px -48px; +} +.icon-bold { + background-position: -167px -48px; +} +.icon-italic { + background-position: -192px -48px; +} +.icon-text-height { + background-position: -216px -48px; +} +.icon-text-width { + background-position: -240px -48px; +} +.icon-align-left { + background-position: -264px -48px; +} +.icon-align-center { + background-position: -288px -48px; +} +.icon-align-right { + background-position: -312px -48px; +} +.icon-align-justify { + background-position: -336px -48px; +} +.icon-list { + background-position: -360px -48px; +} +.icon-indent-left { + background-position: -384px -48px; +} +.icon-indent-right { + background-position: -408px -48px; +} +.icon-facetime-video { + background-position: -432px -48px; +} +.icon-picture { + background-position: -456px -48px; +} +.icon-pencil { + background-position: 0 -72px; +} +.icon-map-marker { + background-position: -24px -72px; +} +.icon-adjust { + background-position: -48px -72px; +} +.icon-tint { + background-position: -72px -72px; +} +.icon-edit { + background-position: -96px -72px; +} +.icon-share { + background-position: -120px -72px; +} +.icon-check { + background-position: -144px -72px; +} +.icon-move { + background-position: -168px -72px; +} +.icon-step-backward { + background-position: -192px -72px; +} +.icon-fast-backward { + background-position: -216px -72px; +} +.icon-backward { + background-position: -240px -72px; +} +.icon-play { + background-position: -264px -72px; +} +.icon-pause { + background-position: -288px -72px; +} +.icon-stop { + background-position: -312px -72px; +} +.icon-forward { + background-position: -336px -72px; +} +.icon-fast-forward { + background-position: -360px -72px; +} +.icon-step-forward { + background-position: -384px -72px; +} +.icon-eject { + background-position: -408px -72px; +} +.icon-chevron-left { + background-position: -432px -72px; +} +.icon-chevron-right { + background-position: -456px -72px; +} +.icon-plus-sign { + background-position: 0 -96px; +} +.icon-minus-sign { + background-position: -24px -96px; +} +.icon-remove-sign { + background-position: -48px -96px; +} +.icon-ok-sign { + background-position: -72px -96px; +} +.icon-question-sign { + background-position: -96px -96px; +} +.icon-info-sign { + background-position: -120px -96px; +} +.icon-screenshot { + background-position: -144px -96px; +} +.icon-remove-circle { + background-position: -168px -96px; +} +.icon-ok-circle { + background-position: -192px -96px; +} +.icon-ban-circle { + background-position: -216px -96px; +} +.icon-arrow-left { + background-position: -240px -96px; +} +.icon-arrow-right { + background-position: -264px -96px; +} +.icon-arrow-up { + background-position: -289px -96px; +} +.icon-arrow-down { + background-position: -312px -96px; +} +.icon-share-alt { + background-position: -336px -96px; +} +.icon-resize-full { + background-position: -360px -96px; +} +.icon-resize-small { + background-position: -384px -96px; +} +.icon-plus { + background-position: -408px -96px; +} +.icon-minus { + background-position: -433px -96px; +} +.icon-asterisk { + background-position: -456px -96px; +} +.icon-exclamation-sign { + background-position: 0 -120px; +} +.icon-gift { + background-position: -24px -120px; +} +.icon-leaf { + background-position: -48px -120px; +} +.icon-fire { + background-position: -72px -120px; +} +.icon-eye-open { + background-position: -96px -120px; +} +.icon-eye-close { + background-position: -120px -120px; +} +.icon-warning-sign { + background-position: -144px -120px; +} +.icon-plane { + background-position: -168px -120px; +} +.icon-calendar { + background-position: -192px -120px; +} +.icon-random { + background-position: -216px -120px; +} +.icon-comment { + background-position: -240px -120px; +} +.icon-magnet { + background-position: -264px -120px; +} +.icon-chevron-up { + background-position: -288px -120px; +} +.icon-chevron-down { + background-position: -313px -119px; +} +.icon-retweet { + background-position: -336px -120px; +} +.icon-shopping-cart { + background-position: -360px -120px; +} +.icon-folder-close { + background-position: -384px -120px; +} +.icon-folder-open { + background-position: -408px -120px; +} +.icon-resize-vertical { + background-position: -432px -119px; +} +.icon-resize-horizontal { + background-position: -456px -118px; +} + /* * lib/css/legacy/body.css */ @@ -1208,7 +1589,6 @@ body { padding: 0px; font-size: 14px; color: #000; - background-color: #e2e2e2; } /* font settings */ @@ -1328,12 +1708,12 @@ div.comment { color: #444; } div#body_div { display: none; padding-right: 7px; - width: 900px; - margin: auto; - margin-top: 56px; + padding-top: 70px; + padding-bottom: 50px; } .content { + margin: auto; width: 900px; } @@ -1344,23 +1724,19 @@ div#body_div { transition: background 1s ease-in; } -footer { - width: 900px; - margin: auto; -} header .container { width: 900px; margin: auto; } @media (max-width: 1200px) { - div#body_div, header .container, .content, #opened-page-selector, footer { + header .container, .content { width: 900px; } } @media (min-width: 1200px) { - div#body_div, header .container, .content, #opened-page-selector, footer { + header .container, .content { width: 1100px; } } @@ -1411,7 +1787,6 @@ div.std-footer-item { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; - margin-bottom: 30px; overflow: hidden; } @@ -1898,7 +2273,6 @@ span, div, td, input, textarea, button, select { } body { - background: url(../images/redbeech.jpg) repeat; color: #616161; } @@ -1943,12 +2317,13 @@ body { /* * erpnext/website/css/website.css */ -div#body_div, header .container, .content, #opened-page-selector, footer { +header .container, .content { width: 900px; } div#body_div { - margin-top: 90px; + padding-top: 90px; + min-height: 400px; } p, li { @@ -2007,19 +2382,23 @@ pre { background-color: #444; } + footer { - color: #777; + background-color: #eee; + box-shadow: inset 0 10px 10px rgba(0,0,0,0.3), inset 0 3px 3px rgba(0,0,0,0.3); + border-top: 1px solid #555; + padding-top: 10px; + text-align: center; } .web-footer { color: inherit; - text-align: center; - margin: 10px; + padding: 10px; line-height: 1.7; } .web-footer div, .web-footer a { - font-size: 14px; + font-size: 12px; } .web-footer-menu { @@ -2038,10 +2417,20 @@ footer { border-right: 1px solid #999; } +.web-footer-menu ul li:first-child { + padding-left: 0px; +} + .web-footer-menu ul li:last-child { border-right: 0px solid #777 !important; } +.web-footer-powered { + color: #888; + float: right; + margin-top: -12px; +} + /* slide view */ .next-slide { diff --git a/erpnext/startup/startup.css b/erpnext/startup/startup.css index bd21144ec6..5ba72f30f8 100644 --- a/erpnext/startup/startup.css +++ b/erpnext/startup/startup.css @@ -13,7 +13,6 @@ span, div, td, input, textarea, button, select { } body { - background: url(../images/redbeech.jpg) repeat; color: #616161; } diff --git a/erpnext/startup/startup.js b/erpnext/startup/startup.js index 442e7be090..9c14d2efb8 100644 --- a/erpnext/startup/startup.js +++ b/erpnext/startup/startup.js @@ -170,7 +170,7 @@ erpnext.startup.set_periodic_updates = function() { } erpnext.set_user_background = function(src) { - set_style(repl('body { background: url("files/%(src)s") repeat;}', {src:src})) + set_style(repl('#body_div { background: url("files/%(src)s") repeat;}', {src:src})) } // start diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css index ad8702ab47..fa27d4a9f8 100644 --- a/erpnext/website/css/website.css +++ b/erpnext/website/css/website.css @@ -1,9 +1,10 @@ -div#body_div, header .container, .content, #opened-page-selector, footer { +header .container, .content { width: 900px; } div#body_div { - margin-top: 90px; + padding-top: 90px; + min-height: 400px; } p, li { @@ -62,19 +63,23 @@ pre { background-color: #444; } + footer { - color: #777; + background-color: #eee; + box-shadow: inset 0 10px 10px rgba(0,0,0,0.3), inset 0 3px 3px rgba(0,0,0,0.3); + border-top: 1px solid #555; + padding-top: 10px; + text-align: center; } .web-footer { color: inherit; - text-align: center; - margin: 10px; + padding: 10px; line-height: 1.7; } .web-footer div, .web-footer a { - font-size: 14px; + font-size: 12px; } .web-footer-menu { @@ -93,10 +98,20 @@ footer { border-right: 1px solid #999; } +.web-footer-menu ul li:first-child { + padding-left: 0px; +} + .web-footer-menu ul li:last-child { border-right: 0px solid #777 !important; } +.web-footer-powered { + color: #888; + float: right; + margin-top: -12px; +} + /* slide view */ .next-slide { diff --git a/erpnext/website/doctype/blog/blog.py b/erpnext/website/doctype/blog/blog.py index 1f1b98b410..c78a9cc3b9 100644 --- a/erpnext/website/doctype/blog/blog.py +++ b/erpnext/website/doctype/blog/blog.py @@ -32,9 +32,11 @@ class DocType(): self.doc.name = website.utils.page_name(self.doc.title) def validate(self): - """write/update 'Page' with the blog""" + """write/update 'Page' with the blog""" + if self.doc.page_name: + webnotes.conn.sql("""delete from tabPage where name=%s""", self.doc.page_name) + p = website.utils.add_page(self.doc.title) - self.doc.name = p.name from jinja2 import Template import markdown2 @@ -54,11 +56,11 @@ class DocType(): p.save() website.utils.add_guest_access_to_page(p.name) + self.doc.page_name = p.name # cleanup for f in ['content_html', 'full_name', 'updated']: if f in self.doc.fields: - del self.doc.fields[f] - + del self.doc.fields[f] \ No newline at end of file diff --git a/erpnext/website/doctype/blog/blog.txt b/erpnext/website/doctype/blog/blog.txt index f9ff6fd47f..ad44d13d96 100644 --- a/erpnext/website/doctype/blog/blog.txt +++ b/erpnext/website/doctype/blog/blog.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2012-03-27 14:36:47', + 'creation': '2012-04-02 16:02:43', 'docstatus': 0, - 'modified': '2012-03-27 14:36:47', + 'modified': '2012-04-26 16:58:27', 'modified_by': u'Administrator', 'owner': u'Administrator' }, @@ -21,7 +21,7 @@ 'name': '__common__', 'section_style': u'Simple', 'show_in_menu': 0, - 'version': 3 + 'version': 5 }, # These values are common for all DocField @@ -35,15 +35,12 @@ # These values are common for all DocPerm { - 'create': 1, 'doctype': u'DocPerm', 'name': '__common__', 'parent': u'Blog', 'parentfield': u'permissions', 'parenttype': u'DocType', - 'permlevel': 0, - 'read': 1, - 'write': 1 + 'read': 1 }, # DocType, Blog @@ -54,14 +51,27 @@ # DocPerm { + 'create': 1, 'doctype': u'DocPerm', - 'role': u'Website Manager' + 'permlevel': 0, + 'role': u'Website Manager', + 'write': 1 + }, + + # DocPerm + { + 'create': 1, + 'doctype': u'DocPerm', + 'permlevel': 0, + 'role': u'Blogger', + 'write': 1 }, # DocPerm { 'doctype': u'DocPerm', - 'role': u'Blogger' + 'permlevel': 1, + 'role': u'All' }, # DocField @@ -70,7 +80,8 @@ 'fieldname': u'title', 'fieldtype': u'Data', 'label': u'Title', - 'permlevel': 0 + 'permlevel': 0, + 'reqd': 1 }, # DocField @@ -88,7 +99,8 @@ 'fieldname': u'content', 'fieldtype': u'Code', 'label': u'Content', - 'permlevel': 0 + 'permlevel': 0, + 'reqd': 0 }, # DocField @@ -96,10 +108,19 @@ 'doctype': u'DocField', 'fieldname': u'content_html', 'fieldtype': u'Text', - 'label': u'Preview', + 'label': u'Content HTML', 'permlevel': 1 }, + # DocField + { + 'doctype': u'DocField', + 'fieldname': u'page_name', + 'fieldtype': u'Data', + 'label': u'Page Name', + 'permlevel': 0 + }, + # DocField { 'doctype': u'DocField', diff --git a/erpnext/website/doctype/blog/blog_page.js b/erpnext/website/doctype/blog/blog_page.js index aa3f4c57b1..dddc6e04f8 100644 --- a/erpnext/website/doctype/blog/blog_page.js +++ b/erpnext/website/doctype/blog/blog_page.js @@ -18,32 +18,28 @@ pscript['onload_{{ doc.name }}'] = function(wrapper) { // sidebar - var side = $(wrapper).find('.web-side-section') - .append('

Recent Posts

').get(0); - wrapper.recent_list = new wn.ui.Listing({ - parent: side, + parent: $(wrapper).find('.recent-posts'), + no_toolbar: true, query: 'select name, title, left(content, 100) as content from tabBlog\ - where ifnull(published,1)=1', + where ifnull(published,0)=1 and name!="{{ doc.name }}" order by modified desc', hide_refresh: true, render_row: function(parent, data) { - if(data.content.length==100) data.content += '...'; + console.log(data); + if(data.content && data.content.length==100) data.content += '...'; parent.innerHTML = repl('%(title)s\
%(content)s

', data); }, - page_length: 5 + page_length: 5, }); wrapper.recent_list.run(); - - - // comments - $(wrapper).find('.web-main-section').append('

Comments

'); - + wrapper.comment_list = new wn.ui.Listing({ - parent: $(wrapper).find('.web-main-section').get(0), + parent: $(wrapper).find('.blog-comments').get(0), + no_toolbar: true, query: 'select comment, comment_by_fullname, modified\ from `tabComment` where comment_doctype="Page"\ - and comment_docname="{{ doc.name }}"', + and comment_docname="{{ doc.name }}" order by modified desc', no_result_message: 'Be the first one to comment', render_row: function(parent, data) { data.comment_date = prettyDate(data.modified); @@ -57,7 +53,7 @@ pscript['onload_{{ doc.name }}'] = function(wrapper) { wrapper.comment_list.run(); // add comment - $(wrapper).find('.web-main-section').append('
'); $(wrapper).find('button.add-comment').click(function(){ d = new wn.widgets.Dialog({ diff --git a/erpnext/website/doctype/blog/template.html b/erpnext/website/doctype/blog/template.html index 467f30169f..688ffac310 100644 --- a/erpnext/website/doctype/blog/template.html +++ b/erpnext/website/doctype/blog/template.html @@ -1,14 +1,18 @@
-

Blog

-

{{ doc.title }}

+

{{ doc.title }}

By {{ doc.full_name }} on {{ doc.updated }}

{{ doc.content_html }} +

Comments

+
+

All Blogs

+

Recent Posts

+

Subscribe

diff --git a/erpnext/website/doctype/style_settings/custom_template.css b/erpnext/website/doctype/style_settings/custom_template.css index 8c987f87a5..4866ac7be5 100644 --- a/erpnext/website/doctype/style_settings/custom_template.css +++ b/erpnext/website/doctype/style_settings/custom_template.css @@ -1,4 +1,4 @@ -body { +#body_div { {% if doc.background_image %} background: url("files/{{ doc.background_image }}") repeat; {% elif doc.background_color %} diff --git a/erpnext/website/doctype/web_page/template.html b/erpnext/website/doctype/web_page/template.html index 471c95c94a..b66aded5f3 100644 --- a/erpnext/website/doctype/web_page/template.html +++ b/erpnext/website/doctype/web_page/template.html @@ -28,6 +28,3 @@

-
- Last Modified: {{ doc.updated }} Feedback -
diff --git a/erpnext/website/doctype/web_page/web_page.js b/erpnext/website/doctype/web_page/web_page.js index 0b7b78da59..17e7f15a48 100644 --- a/erpnext/website/doctype/web_page/web_page.js +++ b/erpnext/website/doctype/web_page/web_page.js @@ -24,10 +24,10 @@ $.extend(cur_frm.cscript, { refresh: function(doc) { cur_frm.cscript.layout(doc); }, - insert_style: function() { + insert_style: function(doc) { cur_frm.cscript.layout(doc); }, - insert_code: function() { + insert_code: function(doc) { cur_frm.cscript.layout(doc); } }) \ No newline at end of file diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js index aec0f02aa8..8caf8dcf1c 100644 --- a/erpnext/website/js/topbar.js +++ b/erpnext/website/js/topbar.js @@ -91,8 +91,7 @@ erpnext.Footer = Class.extend({ init: function() { $('footer').html(repl('', wn.boot.website_settings)); diff --git a/erpnext/website/page/blog/blog.html b/erpnext/website/page/blog/blog.html index ffb81280a4..8d7cd00345 100644 --- a/erpnext/website/page/blog/blog.html +++ b/erpnext/website/page/blog/blog.html @@ -3,6 +3,7 @@

Blog


+