From 386cd883b3421ffec1bcdab817a60a79215b2b63 Mon Sep 17 00:00:00 2001
From: Rushabh Mehta
Date: Tue, 10 Sep 2013 12:18:57 +0530
Subject: [PATCH] [website] [minor] moving to framework
---
config.json | 1 +
webnotes/__init__.py | 4 +-
webnotes/webutils.py | 10 ++--
.../about_us_settings/templates/__init__.py | 0
.../templates/pages/__init__.py | 0
.../templates/{ => pages}/about.html | 2 +-
.../templates/pages/about.py | 6 +++
.../templates/generators/blog_post.html | 20 ++++----
.../blog_post/templates/pages/blog.html | 12 +++--
.../templates/{ => pages}/writers.html | 6 +--
.../contact_us_settings/templates/__init__.py | 0
.../templates/pages/__init__.py | 0
.../templates/{ => pages}/contact.html | 14 ++++--
.../templates/pages/contact.py | 6 +++
.../templates/generators/web_page.html | 2 +-
website/templates/base.html | 6 +--
website/templates/includes/footer.html | 49 +++----------------
website/templates/pages/login.html | 20 +-------
18 files changed, 67 insertions(+), 91 deletions(-)
create mode 100644 website/doctype/about_us_settings/templates/__init__.py
create mode 100644 website/doctype/about_us_settings/templates/pages/__init__.py
rename website/doctype/about_us_settings/templates/{ => pages}/about.html (95%)
create mode 100644 website/doctype/about_us_settings/templates/pages/about.py
rename website/doctype/blogger/templates/{ => pages}/writers.html (55%)
create mode 100644 website/doctype/contact_us_settings/templates/__init__.py
create mode 100644 website/doctype/contact_us_settings/templates/pages/__init__.py
rename website/doctype/contact_us_settings/templates/{ => pages}/contact.html (84%)
create mode 100644 website/doctype/contact_us_settings/templates/pages/contact.py
diff --git a/config.json b/config.json
index 8c817808be..d528542ba7 100644
--- a/config.json
+++ b/config.json
@@ -1,4 +1,5 @@
{
+ "base_template": "lib/website/templates/base.html",
"modules": {
"Finder": {
"type": "page",
diff --git a/webnotes/__init__.py b/webnotes/__init__.py
index a3865b8090..95675b5e52 100644
--- a/webnotes/__init__.py
+++ b/webnotes/__init__.py
@@ -487,7 +487,9 @@ def get_config():
try:
with open(path, "r") as configfile:
this_config = json.loads(configfile.read())
- _config.app_name = this_config.get("app_name")
+ for k in ("app_name", "base_template"):
+ _config[k] = this_config.get(k)
+
_config.modules.update(this_config["modules"])
_config.web.pages.update(this_config["web"]["pages"])
_config.web.generators.update(this_config["web"]["generators"])
diff --git a/webnotes/webutils.py b/webnotes/webutils.py
index 763816f53f..d27334ce43 100644
--- a/webnotes/webutils.py
+++ b/webnotes/webutils.py
@@ -56,15 +56,17 @@ def render_page(page_name):
def build_page(page_name):
from jinja2 import Environment, FileSystemLoader
+ import os
if not webnotes.conn:
webnotes.connect()
sitemap = webnotes.cache().get_value("website_sitemap", build_sitemap)
page_options = sitemap.get(page_name)
+ basepath = webnotes.utils.get_base_path()
module = None
no_cache = False
-
+
if page_options.get("controller"):
module = webnotes.get_module(page_options["controller"])
no_cache = getattr(module, "no_cache", False)
@@ -89,10 +91,12 @@ def build_page(page_name):
context.update(module.get_context())
context = update_context(context)
+
+ jenv = Environment(loader = FileSystemLoader(basepath))
- jenv = Environment(loader = FileSystemLoader(webnotes.utils.get_base_path()))
- template_name = page_options['template']
+ context["base_template"] = jenv.get_template(webnotes.get_config().get("base_template"))
+ template_name = page_options['template']
html = jenv.get_template(template_name).render(context)
if not no_cache:
diff --git a/website/doctype/about_us_settings/templates/__init__.py b/website/doctype/about_us_settings/templates/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/website/doctype/about_us_settings/templates/pages/__init__.py b/website/doctype/about_us_settings/templates/pages/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/website/doctype/about_us_settings/templates/about.html b/website/doctype/about_us_settings/templates/pages/about.html
similarity index 95%
rename from website/doctype/about_us_settings/templates/about.html
rename to website/doctype/about_us_settings/templates/pages/about.html
index 277f790cf7..39dd63c9a9 100644
--- a/website/doctype/about_us_settings/templates/about.html
+++ b/website/doctype/about_us_settings/templates/pages/about.html
@@ -1,4 +1,4 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% set title="About Us" %}
diff --git a/website/doctype/about_us_settings/templates/pages/about.py b/website/doctype/about_us_settings/templates/pages/about.py
new file mode 100644
index 0000000000..495f05222a
--- /dev/null
+++ b/website/doctype/about_us_settings/templates/pages/about.py
@@ -0,0 +1,6 @@
+import webnotes
+
+def get_context():
+ return {
+ "obj": webnotes.bean("About Us Settings", "About Us Settings").get_controller()
+ }
\ No newline at end of file
diff --git a/website/doctype/blog_post/templates/generators/blog_post.html b/website/doctype/blog_post/templates/generators/blog_post.html
index 6396b188d9..248fcdd0b6 100644
--- a/website/doctype/blog_post/templates/generators/blog_post.html
+++ b/website/doctype/blog_post/templates/generators/blog_post.html
@@ -1,15 +1,15 @@
-{# Options: {
- "doctype": "Web Page"
-} #}
-
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% block javascript %}
- {% include "app/website/templates/js/blog_page.js" %}
+
{% endblock %}
{% block css %}
- {% include "app/website/templates/css/blog_page.css" %}
+
{% endblock %}
{% block content %}
@@ -27,7 +27,7 @@
{% if blogger_info %}
- {% include "app/website/templates/html/blogger.html" %}
+ {% include "lib/website/doctype/blog_post/templates/includes/blogger.html" %}
{% endif %}
{{ texts.comments }}
@@ -39,7 +39,7 @@
{% endif %}
- {% include 'app/website/templates/html/comment.html' %}
+ {% include 'lib/website/doctype/blog_post/templates/includes/comment.html' %}
-{% include 'app/website/templates/html/blog_footer.html' %}
+{% include 'lib/website/doctype/blog_post/templates/includes/blog_footer.html' %}
{% endblock %}
\ No newline at end of file
diff --git a/website/doctype/blog_post/templates/pages/blog.html b/website/doctype/blog_post/templates/pages/blog.html
index 9bd1abf178..d9275e2bfd 100644
--- a/website/doctype/blog_post/templates/pages/blog.html
+++ b/website/doctype/blog_post/templates/pages/blog.html
@@ -1,11 +1,15 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% block javascript %}
- {% include "app/website/templates/js/blog.js" %}
+
{% endblock %}
{% block css %}
- {% include "app/website/templates/css/blog.css" %}
+
{% endblock %}
{% set title="Blog" %}
@@ -29,5 +33,5 @@
style="display:none;">More...
-{% include 'app/website/templates/html/blog_footer.html' %}
+{% include 'lib/website/doctype/blog_post/templates/includes/blog_footer.html' %}
{% endblock %}
\ No newline at end of file
diff --git a/website/doctype/blogger/templates/writers.html b/website/doctype/blogger/templates/pages/writers.html
similarity index 55%
rename from website/doctype/blogger/templates/writers.html
rename to website/doctype/blogger/templates/pages/writers.html
index 5b254b0407..299b65e33e 100644
--- a/website/doctype/blogger/templates/writers.html
+++ b/website/doctype/blogger/templates/pages/writers.html
@@ -1,4 +1,4 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% set title="Blog Writers" %}
@@ -10,8 +10,8 @@
{% endif %}
{% for blogger_info in bloggers %}
- {% include "app/website/templates/html/blogger.html" %}
+ {% include "lib/website/doctype/blog_post/templates/includes/blogger.html" %}
{% endfor %}
-{% include 'app/website/templates/html/blog_footer.html' %}
+{% include 'lib/website/doctype/blog_post/templates/includes/blog_footer.html' %}
{% endblock %}
\ No newline at end of file
diff --git a/website/doctype/contact_us_settings/templates/__init__.py b/website/doctype/contact_us_settings/templates/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/website/doctype/contact_us_settings/templates/pages/__init__.py b/website/doctype/contact_us_settings/templates/pages/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/website/doctype/contact_us_settings/templates/contact.html b/website/doctype/contact_us_settings/templates/pages/contact.html
similarity index 84%
rename from website/doctype/contact_us_settings/templates/contact.html
rename to website/doctype/contact_us_settings/templates/pages/contact.html
index 86be163f8e..d2b566d51a 100644
--- a/website/doctype/contact_us_settings/templates/contact.html
+++ b/website/doctype/contact_us_settings/templates/pages/contact.html
@@ -1,7 +1,9 @@
-{% extends "app/website/templates/html/page.html" %}
+{% extends base_template %}
{% block javascript %}
- {% include "app/website/templates/js/contact.js" %}
+
{% endblock %}
{% set title="Contact Us" %}
@@ -15,9 +17,13 @@
style="display: none;">
diff --git a/website/doctype/contact_us_settings/templates/pages/contact.py b/website/doctype/contact_us_settings/templates/pages/contact.py
new file mode 100644
index 0000000000..9206372d76
--- /dev/null
+++ b/website/doctype/contact_us_settings/templates/pages/contact.py
@@ -0,0 +1,6 @@
+import webnotes
+
+def get_context():
+ return {
+ "obj": webnotes.bean("Contact Us Settings", "Contact Us Settings").get_controller()
+ }
\ No newline at end of file
diff --git a/website/doctype/web_page/templates/generators/web_page.html b/website/doctype/web_page/templates/generators/web_page.html
index 5b402bd58c..316cc7ca96 100644
--- a/website/doctype/web_page/templates/generators/web_page.html
+++ b/website/doctype/web_page/templates/generators/web_page.html
@@ -1,4 +1,4 @@
-{% extends "lib/website/templates/base.html" %}
+{% extends base_template %}
{% block content %}
diff --git a/website/templates/base.html b/website/templates/base.html
index 4501a40f51..aa45dfcfdf 100644
--- a/website/templates/base.html
+++ b/website/templates/base.html
@@ -22,14 +22,14 @@
{%- endblock %}
- {% block navbar %}{% endblock %}
-
+ {% block navbar %}{% include "lib/website/templates/includes/navbar.html" %}{% endblock %}
+
{% block toolbar %}{% endblock %}
{% block banner %}{% endblock %}
{% block content %}{% endblock %}
- {% block footer %}{% endblock %}
+ {% block footer %}{% include "lib/website/templates/includes/footer.html" %}{% endblock %}