updates in web.py and template - page.html
diff --git a/erpnext/website/templates/page.html b/erpnext/website/templates/page.html
index c34dead..97a309a 100644
--- a/erpnext/website/templates/page.html
+++ b/erpnext/website/templates/page.html
@@ -12,7 +12,7 @@
var _page = new wn.views.Page(window.page_name);
// page script
- {{ insert_code }}
+ {{ javascript }}
// trigger onload
_page.trigger('onload');
@@ -23,7 +23,7 @@
</script>
{% endif %}
{% if insert_style %}
- <style>{{ insert_style }}</style>
+ <style>{{ css }}</style>
{% endif %}
{% endblock %}
diff --git a/public/web.py b/public/web.py
index c7c1df2..751d762 100755
--- a/public/web.py
+++ b/public/web.py
@@ -15,11 +15,49 @@
sys.path.append('../lib/py')
sys.path.append(conf.modules_path)
+def init():
+ import webnotes
+ webnotes.form = cgi.FieldStorage(keep_blank_values=True)
+ for key in webnotes.form.keys():
+ webnotes.form_dict[key] = webnotes.form.getvalue(key)
+ webnotes.connect()
+
+def respond():
+ html = get_html()
+ print "Content-Type: text/html"
+ print
+ print html.encode('utf-8')
+
+def get_html():
+ import webnotes
+ from webnotes.model.doc import Document
+ # Get web page
+ outer_env_dict = get_outer_env()
+ try:
+ if 'page' in webnotes.form_dict:
+ page_name = webnotes.form_dict['page']
+ if page_name.endswith('.html'):
+ page_name = page_name[:-5]
+
+ if page_name.startswith('blog'):
+ raise Exception
+ #page_name =
+ else:
+ page_name = get_web_page_name(page_name)
+ else:
+ from webnotes.cms import get_home_page
+ page_name = get_home_page('Guest')
+
+ page = Document('Web Page', page_name)
+ page.fields.update(outer_env_dict)
+
+ return build_html(page.fields, "page: %s" % page_name)
+
+ except Exception, e:
+ return build_html(outer_env_dict, "error: %s" % webnotes.getTraceback(), '404.html')
+
def get_outer_env():
- """env for outer (cache this)"""
-
- # TODO: Cache this in cache item
-
+ """env dict for outer template"""
import webnotes
return {
'top_bar_items': webnotes.conn.sql("""select * from `tabTop Bar Item`
@@ -33,50 +71,23 @@
'brand': webnotes.conn.get_value('Website Settings', None, 'brand_html'),
'copyright': webnotes.conn.get_value('Website Settings', None, 'copyright'),
}
+
+def build_html(args, comments, template='page.html'):
+ """build html using jinja2 templates"""
+ from webnotes.utils import cstr
+ from jinja2 import Environment, FileSystemLoader
+ jenv = Environment(loader = FileSystemLoader('../erpnext/website/templates'))
+ html = jenv.get_template(template).render(args)
+ html += "\n<!-- %s -->" % cstr(comments)
+ return html
+
def get_web_page_name(page_name):
"""get page by shortname"""
import webnotes
return webnotes.conn.sql("""select name from `tabWeb Page` where page_name=%s""", page_name)[0][0]
-
-def get_html():
- import webnotes
- from jinja2 import Environment, FileSystemLoader
- from webnotes.model.doc import Document
-
- jenv = Environment(loader = FileSystemLoader('../erpnext/website/templates'))
-
- webnotes.form = cgi.FieldStorage(keep_blank_values=True)
- for key in webnotes.form.keys():
- webnotes.form_dict[key] = webnotes.form.getvalue(key)
- webnotes.connect()
-
- # Get web page
- try:
- if 'page' in webnotes.form_dict:
- page_name = webnotes.form_dict['page']
- if page_name.endswith('.html'):
- page_name = page_name[:-5]
-
- if page_name.startswith('blog'):
- pass
- # page_name =
- else:
- page_name = get_web_page_name(page_name)
- else:
- from webnotes.cms import get_home_page
- page_name = get_home_page('Guest')
-
- page = Document('Web Page', page_name)
- page.fields.update(get_outer_env())
- return jenv.get_template('page.html').render(page.fields) + \
- ('\n<!-- page: %s -->' % page_name)
-
- except Exception, e:
- return jenv.get_template('404.html').render(get_outer_env()) + \
- ('\n<!-- error: %s -->' % webnotes.getTraceback())
+
if __name__=="__main__":
- print "Content-Type: text/html"
- print
- print get_html().encode('utf-8')
+ init()
+ respond()