diff --git a/erpnext/patches/june_2012/cms2.py b/erpnext/patches/june_2012/cms2.py index 08174cbb8b..fe4774e870 100644 --- a/erpnext/patches/june_2012/cms2.py +++ b/erpnext/patches/june_2012/cms2.py @@ -23,6 +23,13 @@ def cleanup(): update `tabItem` set show_in_website = if(show_in_website = 'Yes', 1, 0) where show_in_website is not null""") + + # move comments from comment_doctype Page to Blog + webnotes.conn.sql("""\ + update `tabComment` comm, `tabBlog` blog + set comm.comment_doctype = 'Blog', comm.comment_docname = blog.name + where comm.comment_docname = blog.page_name""") + def save_pages(): """save all web pages, blogs to create content""" diff --git a/erpnext/website/doctype/blog/blog.py b/erpnext/website/doctype/blog/blog.py index 0e8acac196..89a06d4b0b 100644 --- a/erpnext/website/doctype/blog/blog.py +++ b/erpnext/website/doctype/blog/blog.py @@ -35,6 +35,8 @@ class DocType(website.web_page.Page): self.delete_web_cache(self.doc.page_name) def get_html(self): + import webnotes.utils + # this is for double precaution. usually it wont reach this code if not published if not webnotes.utils.cint(self.doc.published): raise Exception, "This blog has not been published yet!" @@ -44,4 +46,13 @@ class DocType(website.web_page.Page): self.doc.full_name = get_fullname(self.doc.owner) self.doc.updated = global_date_format(self.doc.modified) - self.markdown_to_html(['content']) \ No newline at end of file + self.markdown_to_html(['content']) + + comment_list = webnotes.conn.sql("""\ + select comment, comment_by_fullname, creation + from `tabComment` where comment_doctype="Blog" + and comment_docname=%s order by creation""", self.doc.name, as_dict=1) + + self.doc.comment_list = comment_list or [] + for comment in self.doc.comment_list: + comment['comment_date'] = webnotes.utils.pretty_date(comment['creation']) \ No newline at end of file diff --git a/erpnext/website/doctype/website_settings/website_settings.txt b/erpnext/website/doctype/website_settings/website_settings.txt index 368f963c24..3ae0fbe244 100644 --- a/erpnext/website/doctype/website_settings/website_settings.txt +++ b/erpnext/website/doctype/website_settings/website_settings.txt @@ -3,9 +3,9 @@ # These values are common in all dictionaries { - 'creation': '2012-05-03 18:43:46', + 'creation': '2012-05-21 15:54:09', 'docstatus': 0, - 'modified': '2012-05-21 14:59:25', + 'modified': '2012-07-09 16:20:58', 'modified_by': u'Administrator', 'owner': u'Administrator' }, @@ -18,7 +18,7 @@ 'doctype': 'DocType', 'document_type': u'Other', 'issingle': 1, - 'max_attachments': 1, + 'max_attachments': 10, 'module': u'Website', 'name': '__common__', 'section_style': u'Simple', @@ -180,21 +180,21 @@ # DocField { 'doctype': u'DocField', - 'fieldname': u'file_list', - 'fieldtype': u'Text', - 'hidden': 1, - 'label': u'File List', - 'no_copy': 1, - 'permlevel': 0, - 'print_hide': 1 + 'fieldname': u'misc_section', + 'fieldtype': u'Section Break', + 'label': u'Misc', + 'permlevel': 0 }, # DocField { + 'colour': u'White:FFF', + 'description': u'An icon file with .ico extension. Should be 16 x 16 px. Generated using a favicon generator. [favicon-generator.org]', 'doctype': u'DocField', - 'fieldname': u'domains', - 'fieldtype': u'Section Break', - 'label': u'Domains', + 'fieldname': u'favicon', + 'fieldtype': u'Select', + 'label': u'FavIcon', + 'options': u'attach_files:', 'permlevel': 0 }, @@ -221,6 +221,18 @@ 'reqd': 0 }, + # DocField + { + 'doctype': u'DocField', + 'fieldname': u'file_list', + 'fieldtype': u'Text', + 'hidden': 1, + 'label': u'File List', + 'no_copy': 1, + 'permlevel': 0, + 'print_hide': 1 + }, + # DocField { 'doctype': u'DocField', diff --git a/erpnext/website/templates/base.html b/erpnext/website/templates/base.html index cd64139b82..8639a8f546 100644 --- a/erpnext/website/templates/base.html +++ b/erpnext/website/templates/base.html @@ -3,14 +3,21 @@ {% block title %}{% endblock %} - - + {% if favicon %} + + + {% else %} + + + {% endif %} + + {% block header %} {% endblock %} diff --git a/erpnext/website/templates/blog/blog.html b/erpnext/website/templates/blog/blog.html index 03a2ed7065..9132e52be7 100644 --- a/erpnext/website/templates/blog/blog.html +++ b/erpnext/website/templates/blog/blog.html @@ -11,21 +11,51 @@ {{ content_html }}

Comments


-
+
+ {% for comment in comment_list %} +
+
+ {{ comment.comment_by_fullname }} - {{ comment.comment_date }}: + {{ comment.comment_date_type }} +
+

{{ comment.comment }}

+
+
+ {% endfor %} +

All Blogs

-

Recent Posts

-
+

Subscribe

RSS Feed

+
+

Recent Posts

+
+{% endblock %} + +{% block css %} + + {% endblock %} \ No newline at end of file diff --git a/erpnext/website/templates/blog/blog.js b/erpnext/website/templates/blog/blog.js index 80cb813f95..3ad1575331 100644 --- a/erpnext/website/templates/blog/blog.js +++ b/erpnext/website/templates/blog/blog.js @@ -18,7 +18,10 @@ // along with this program. If not, see . // js inside blog page +wn.provide('erpnext.blog'); wn.pages['{{ name }}'].onload = function(wrapper) { + erpnext.blog.wrapper = wrapper; + // sidebar wrapper.recent_list = new wn.ui.Listing({ parent: $(wrapper).find('.recent-posts'), @@ -31,57 +34,72 @@ wn.pages['{{ name }}'].onload = function(wrapper) { if(data.content && data.content.length==100) data.content += '...'; parent.innerHTML = repl('%(title)s\
%(content)s

', data); + + // adjust page height depending on sidebar height + erpnext.blog.adjust_page_height(wrapper); }, page_length: 5, }); wrapper.recent_list.run(); - - wrapper.comment_list = new wn.ui.Listing({ - parent: $(wrapper).find('.blog-comments').get(0), - no_toolbar: true, - query: 'select comment, comment_by_fullname, creation\ - from `tabComment` where comment_doctype="Page"\ - and comment_docname="{{ name }}" order by creation desc', - no_result_message: 'Be the first one to comment', - render_row: function(parent, data) { - data.comment_date = prettyDate(data.creation); - $(parent).html(repl("
\ - %(comment_by_fullname)s | %(comment_date)s:\ -
\ -

%(comment)s


", data)) - }, - hide_refresh: true, - }); - wrapper.comment_list.run(); - - // add comment - $(wrapper).find('.layout-main-section').append('
'); - $(wrapper).find('button.add-comment').click(function(){ - d = new wn.widgets.Dialog({ - title: 'Add Comment', - fields: [ - {fieldname:'comment_by_fullname', label:'Your Name', reqd:1, fieldtype:'Data'}, - {fieldname:'comment_by', label:'Email Id', reqd:1, fieldtype:'Data'}, - {fieldname:'comment', label:'Comment', reqd:1, fieldtype:'Text'}, - {fieldname:'post', label:'Post', fieldtype:'Button'} - ] - }); - d.fields_dict.post.input.onclick = function() { - var btn = this; - var args = d.get_values(); - if(!args) return; - args.comment_doctype = 'Page'; - args.comment_docname = '{{ name }}'; - $(btn).set_working(); - $c('webnotes.widgets.form.comments.add_comment', args, function(r) { - $(btn).done_working(); - d.hide(); - wrapper.comment_list.refresh(); - }) - } - d.show(); - }) } +erpnext.blog.adjust_page_height = function(wrapper) { + if (!wrapper) { wrapper = erpnext.blog.wrapper; } + if (!wrapper) { return; } + + // adjust page height based on sidebar height + var $main_page = $(wrapper).find('.layout-main-section'); + var $sidebar = $(wrapper).find('.layout-side-section'); + if ($sidebar.height() > $main_page.height()) { + $main_page.height($sidebar.height()); + } +} + // wrapper.comment_list = new wn.ui.Listing({ + // parent: $(wrapper).find('.blog-comments').get(0), + // no_toolbar: true, + // query: 'select comment, comment_by_fullname, creation\ + // from `tabComment` where comment_doctype="Page"\ + // and comment_docname="{{ name }}" order by creation desc', + // no_result_message: 'Be the first one to comment', + // render_row: function(parent, data) { + // data.comment_date = prettyDate(data.creation); + // $(parent).html(repl("
\ + // %(comment_by_fullname)s | %(comment_date)s:\ + //
\ + //

%(comment)s


", data)) + // }, + // hide_refresh: true, + // }); + // wrapper.comment_list.run(); + // + // // add comment + // $(wrapper).find('.layout-main-section').append('
'); + // $(wrapper).find('button.add-comment').click(function(){ + // d = new wn.widgets.Dialog({ + // title: 'Add Comment', + // fields: [ + // {fieldname:'comment_by_fullname', label:'Your Name', reqd:1, fieldtype:'Data'}, + // {fieldname:'comment_by', label:'Email Id', reqd:1, fieldtype:'Data'}, + // {fieldname:'comment', label:'Comment', reqd:1, fieldtype:'Text'}, + // {fieldname:'post', label:'Post', fieldtype:'Button'} + // ] + // }); + // d.fields_dict.post.input.onclick = function() { + // var btn = this; + // var args = d.get_values(); + // if(!args) return; + // args.comment_doctype = 'Page'; + // args.comment_docname = '{{ name }}'; + // $(btn).set_working(); + // $c('webnotes.widgets.form.comments.add_comment', args, function(r) { + // $(btn).done_working(); + // d.hide(); + // wrapper.comment_list.refresh(); + // }) + // } + // d.show(); + // }) + + {% endblock %} diff --git a/erpnext/website/templates/login/login.html b/erpnext/website/templates/login/login.html index 834fc27067..62d252f5d2 100644 --- a/erpnext/website/templates/login/login.html +++ b/erpnext/website/templates/login/login.html @@ -1,16 +1,7 @@ {% extends "login/login.js" %} -{% block css %} - +{% block title %} + Login Page {% endblock %} {% block content %} @@ -50,4 +41,17 @@ +{% endblock %} + +{% block css %} + {% endblock %} \ No newline at end of file diff --git a/erpnext/website/templates/product/product.js b/erpnext/website/templates/product/product.js index 9e51334b8e..f7745d7b1f 100644 --- a/erpnext/website/templates/product/product.js +++ b/erpnext/website/templates/product/product.js @@ -25,18 +25,25 @@ wn.pages['{{ name }}'].onload = function(wrapper) { erpnext.products.make_similar_products(wrapper); // if website image missing, autogenerate one - var $img = $('.product-page-content').find('.img-area'); + var $img = $(wrapper).find('.product-page-content .img-area'); if ($img && $img.length > 0) { $img.append(wn.dom.placeholder(160, "{{ item_name }}")); } + erpnext.products.adjust_page_height(wrapper); + +} + +erpnext.products.adjust_page_height = function(wrapper) { + if (!wrapper) { wrapper = erpnext.products.wrapper; } + if (!wrapper) { return; } + // adjust page height based on sidebar height - var $main_page = $('.layout-main-section'); - var $sidebar = $('.layout-side-section'); + var $main_page = $(wrapper).find('.layout-main-section'); + var $sidebar = $(wrapper).find('.layout-side-section'); if ($sidebar.height() > $main_page.height()) { $main_page.height($sidebar.height()); } - } erpnext.products.make_similar_products = function(wrapper) { @@ -78,6 +85,9 @@ erpnext.products.make_similar_products = function(wrapper) { $(parent).find('.img-area').append(wn.dom.placeholder(55, data.item_name)); } + + // adjust page height, if sidebar height keeps increasing + erpnext.products.adjust_page_height(wrapper); } }); wrapper.similar.run(); diff --git a/erpnext/website/templates/product/product_list.html b/erpnext/website/templates/product/product_list.html index 24d559075c..c8dfd24ed0 100644 --- a/erpnext/website/templates/product/product_list.html +++ b/erpnext/website/templates/product/product_list.html @@ -1,6 +1,8 @@ {% extends "product/product_list.js" %} -{% block title %}Products{% endblock %} +{% block title %} + Products +{% endblock %} {% block content %}
diff --git a/erpnext/website/web_cache.py b/erpnext/website/web_cache.py index dbed844aa7..5fcae82bc3 100644 --- a/erpnext/website/web_cache.py +++ b/erpnext/website/web_cache.py @@ -73,17 +73,15 @@ def load_into_web_cache(page_name, template, doc_type, doc_name): args.update(outer_env_dict) # decide template and update args - if doc_type == 'Blog': - template = 'blog/blog.html' - args.update({ 'insert_code': 1 }) - elif doc_type == 'Item': - template = 'product/product.html' - args.update({ 'insert_code': 1 }) - elif doc_type == 'Web Page': + if doc_type == 'Web Page': template = 'web_page.html' else: args.update({ 'insert_code': 1 }) - if page_name == 'blog': + if doc_type == 'Blog': + template = 'blog/blog.html' + elif doc_type == 'Item': + template = 'product/product.html' + elif page_name == 'blog': template = 'blog/blog_list.html' elif page_name == 'products': template = 'product/product_list.html' @@ -120,6 +118,7 @@ def get_outer_env(): 'brand': webnotes.conn.get_value('Website Settings', None, 'brand_html'), 'copyright': webnotes.conn.get_value('Website Settings', None, 'copyright'), + 'favicon': webnotes.conn.get_value('Website Settings', None, 'favicon') } def get_index_page():