From b33693db359c4d4fba2c8c0fde4121ffd3831c28 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 11 Mar 2013 17:57:57 +0530 Subject: [PATCH] added blog settings and metadata --- website/doctype/blog_post/blog_post.py | 4 ++- .../doctype/style_settings/style_settings.py | 3 ++ website/doctype/web_page/web_page.txt | 30 ++++++++++++++----- website/helpers/blog.py | 11 +++++-- website/page/website_home/website_home.js | 6 ++++ website/templates/html/base.html | 3 ++ website/templates/html/blog_page.html | 9 ++++-- website/templates/html/blogger.html | 2 +- website/templates/html/comment.html | 19 +++++++----- website/templates/js/blog.js | 4 +-- website/templates/pages/blog.html | 6 +++- website/templates/pages/writers.html | 3 ++ 12 files changed, 74 insertions(+), 26 deletions(-) diff --git a/website/doctype/blog_post/blog_post.py b/website/doctype/blog_post/blog_post.py index 1664b4fca5..ff6cc9931e 100644 --- a/website/doctype/blog_post/blog_post.py +++ b/website/doctype/blog_post/blog_post.py @@ -74,13 +74,15 @@ class DocType: # temp fields from webnotes.utils import global_date_format, get_fullname self.doc.full_name = get_fullname(self.doc.owner) - self.doc.updated = global_date_format(self.doc.creation) + self.doc.updated = global_date_format(self.doc.published_on) self.doc.content_html = self.doc.content if self.doc.blogger: self.doc.blogger_info = webnotes.doc("Blogger", self.doc.blogger).fields if self.doc.blogger_info.avatar and not "/" in self.doc.blogger_info.avatar: self.doc.blogger_info.avatar = "files/" + self.doc.blogger_info.avatar + self.doc.description = self.doc.blog_intro or self.doc.content[:140] + self.doc.categories = webnotes.conn.sql_list("select name from `tabBlog Category` order by name") self.doc.texts = { diff --git a/website/doctype/style_settings/style_settings.py b/website/doctype/style_settings/style_settings.py index 434f4b546d..ba003ae594 100644 --- a/website/doctype/style_settings/style_settings.py +++ b/website/doctype/style_settings/style_settings.py @@ -39,6 +39,9 @@ class DocType: from webnotes.sessions import clear_cache clear_cache('Guest') + + from website.utils import clear_cache + clear_cache() for f in ["small_font_size", "at_import", "heading_text_style"]: if f in self.doc.fields: diff --git a/website/doctype/web_page/web_page.txt b/website/doctype/web_page/web_page.txt index 861ac86e39..eed7d2b63b 100644 --- a/website/doctype/web_page/web_page.txt +++ b/website/doctype/web_page/web_page.txt @@ -1,8 +1,8 @@ [ { - "creation": "2013-01-27 16:31:21", + "creation": "2013-02-12 13:19:11", "docstatus": 0, - "modified": "2013-02-12 09:33:47", + "modified": "2013-03-11 17:41:11", "modified_by": "Administrator", "owner": "Administrator" }, @@ -24,18 +24,16 @@ "permlevel": 0 }, { - "create": 1, + "amend": 0, "doctype": "DocPerm", "name": "__common__", "parent": "Web Page", "parentfield": "permissions", "parenttype": "DocType", - "permlevel": 0, "read": 1, "report": 1, "role": "Website Manager", - "submit": 0, - "write": 1 + "submit": 0 }, { "doctype": "DocType", @@ -85,6 +83,13 @@ "label": "Slideshow", "options": "Website Slideshow" }, + { + "description": "Description for page header.", + "doctype": "DocField", + "fieldname": "description", + "fieldtype": "Small Text", + "label": "Description" + }, { "description": "Content in markdown format that appears on the main side of your page", "doctype": "DocField", @@ -143,6 +148,17 @@ "print_hide": 1 }, { - "doctype": "DocPerm" + "cancel": 1, + "create": 1, + "doctype": "DocPerm", + "permlevel": 0, + "write": 1 + }, + { + "cancel": 0, + "create": 0, + "doctype": "DocPerm", + "permlevel": 1, + "write": 0 } ] \ No newline at end of file diff --git a/website/helpers/blog.py b/website/helpers/blog.py index ec57105e35..de2a3373ae 100644 --- a/website/helpers/blog.py +++ b/website/helpers/blog.py @@ -127,9 +127,11 @@ def get_blog_content(blog_page_name): return content def get_blog_template_args(): - return { + args = { "categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name") } + args.update(webnotes.doc("Blog Settings", "Blog Settings").fields) + return args def get_writers_args(): bloggers = webnotes.conn.sql("""select * from `tabBlogger` @@ -138,10 +140,13 @@ def get_writers_args(): if blogger.avatar and not "/" in blogger.avatar: blogger.avatar = "files/" + blogger.avatar - return { + args = { "bloggers": bloggers, "texts": { "all_posts_by": _("All posts by") }, "categories": webnotes.conn.sql_list("select name from `tabBlog Category` order by name") - } \ No newline at end of file + } + + args.update(webnotes.doc("Blog Settings", "Blog Settings").fields) + return args \ No newline at end of file diff --git a/website/page/website_home/website_home.js b/website/page/website_home/website_home.js index bb3d14f04a..e1122071dd 100644 --- a/website/page/website_home/website_home.js +++ b/website/page/website_home/website_home.js @@ -37,6 +37,12 @@ wn.module_page["Website"] = [ description: wn._("Categorize blog posts."), doctype:"Blog Category" }, + { + label: wn._("Blog Settings"), + description: wn._("Write titles and introductions to your blog."), + doctype:"Blog Settings", + route: "Form/Blog Settings" + }, ] }, diff --git a/website/templates/html/base.html b/website/templates/html/base.html index fa01f8aad7..2719f8db36 100644 --- a/website/templates/html/base.html +++ b/website/templates/html/base.html @@ -19,6 +19,9 @@ {% endif %} + {% if description %} + + {% endif %} {% block header %} {% endblock %} diff --git a/website/templates/html/blog_page.html b/website/templates/html/blog_page.html index e605a12248..270d427f7f 100644 --- a/website/templates/html/blog_page.html +++ b/website/templates/html/blog_page.html @@ -9,14 +9,17 @@ {% endblock %} {% block content %} -
-

{{ title }}

+
+

{{ title }}

- {{ blogger_info and blogger_info.full_name or full_name }} / {{ updated }}
+ / + {{ updated }}

+
{{ content_html }} +
{% if blogger_info %}
diff --git a/website/templates/html/blogger.html b/website/templates/html/blogger.html index eab371e45b..e18f86a4dd 100644 --- a/website/templates/html/blogger.html +++ b/website/templates/html/blogger.html @@ -1,7 +1,7 @@
- +
diff --git a/website/templates/html/comment.html b/website/templates/html/comment.html index 1323e094d2..27baaad54d 100644 --- a/website/templates/html/comment.html +++ b/website/templates/html/comment.html @@ -3,12 +3,15 @@ it is to be included in the blog/blog.html template #} -{% for comment in comment_list %} -
-
- {{ comment.comment_by_fullname }} - {{ comment.comment_date }}: +
+ {% for comment in comment_list %} +
+
+ {{ comment.comment_by_fullname }} / + {{ comment.comment_date }}: +
+

{{ comment.comment }}

+
-

{{ comment.comment }}

-
-
-{% endfor %} \ No newline at end of file + {% endfor %} +
\ No newline at end of file diff --git a/website/templates/js/blog.js b/website/templates/js/blog.js index 91d3ead65a..61e1b657f2 100644 --- a/website/templates/js/blog.js +++ b/website/templates/js/blog.js @@ -25,11 +25,11 @@ $(document).ready(function() { }) if(get_url_arg("by_name")) { - $("#blog-title").html("Posts by " + get_url_arg("by_name")); + $("#blot-subtitle").html("Posts by " + get_url_arg("by_name")).toggle(true); } if(get_url_arg("category")) { - $("#blog-title").html("Posts filed under " + get_url_arg("category")); + $("#blot-subtitle").html("Posts filed under " + get_url_arg("category")).toggle(true); } }); diff --git a/website/templates/pages/blog.html b/website/templates/pages/blog.html index cfdd536696..df258e138f 100644 --- a/website/templates/pages/blog.html +++ b/website/templates/pages/blog.html @@ -12,7 +12,11 @@ {% block content %}
-

Blog

+

{{ blog_title }}

+ {% if blog_introduction %} +

{{ blog_introduction }}

+ {% endif %} +
diff --git a/website/templates/pages/writers.html b/website/templates/pages/writers.html index 0ae8549f97..bba374946c 100644 --- a/website/templates/pages/writers.html +++ b/website/templates/pages/writers.html @@ -5,6 +5,9 @@ {% block content %}

Blog Writers

+ {% if writers_introduction %} +

{{ writers_introduction }}

+ {% endif %}
{% for blogger_info in bloggers %} {% include "html/blogger.html" %}