added server side print format
diff --git a/website/helpers/print.py b/website/helpers/print.py
new file mode 100644
index 0000000..41eb82c
--- /dev/null
+++ b/website/helpers/print.py
@@ -0,0 +1,35 @@
+# Copyright (c) 2012 Web Notes Technologies Pvt Ltd.
+# License: GNU General Public License (v3). For more information see license.txt
+
+from __future__ import unicode_literals
+import webnotes
+from webnotes import _
+
+def get_args():
+ if not webnotes.form_dict.doctype or not webnotes.form_dict.name \
+ or not webnotes.form_dict.format:
+ return {
+ "body": """<h1>Error</h1>
+ <p>Parameters doctype, name and format required</p>
+ <pre>%s</pre>""" % repr(webnotes.form_dict)
+ }
+
+ obj = webnotes.get_obj(webnotes.form_dict.doctype, webnotes.form_dict.name)
+ return {
+ "body": get_html(obj.doc, obj.doclist)
+ }
+
+def get_html(doc, doclist):
+ from jinja2 import Environment
+ from core.doctype.print_style.print_style import get_print_style
+ from core.doctype.print_format.print_format import get_print_format
+
+ template = Environment().from_string(get_print_format(webnotes.form_dict.format))
+
+ args = {
+ "doc": doc,
+ "doclist": doclist,
+ "print_style": get_print_style()
+ }
+ html = template.render(args)
+ return html
diff --git a/website/templates/html/outer.html b/website/templates/html/outer.html
index 207c124..c46aaa7 100644
--- a/website/templates/html/outer.html
+++ b/website/templates/html/outer.html
@@ -1,8 +1,6 @@
{% extends "html/base.html" %}
{% block body %}
- <header>
- </header>
<div class="container">
<div class="pull-right" style="margin:4px;" id="user-tools">
<a id="login-link" href="login">Login</a>
diff --git a/website/templates/pages/print.html b/website/templates/pages/print.html
new file mode 100644
index 0000000..21fb9a2
--- /dev/null
+++ b/website/templates/pages/print.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>{{ doc and (doc.name + " - " + doc.doctype) or "Error" }}</title>
+ <meta name="generator" content="wnframework">
+</head>
+<body>
+ {{ body }}
+</body>
+</html>
\ No newline at end of file
diff --git a/website/utils.py b/website/utils.py
index 443bde0..4d9cee9 100644
--- a/website/utils.py
+++ b/website/utils.py
@@ -43,10 +43,11 @@
"about": "website.doctype.about_us_settings.about_us_settings.get_args",
"contact": "Contact Us Settings",
"blog": "website.helpers.blog.get_blog_template_args",
- "writers": "website.helpers.blog.get_writers_args"
+ "writers": "website.helpers.blog.get_writers_args",
+ "print": "website.helpers.print.get_args"
}
-no_cache = "message"
+no_cache = ["message", "print"]
def render(page_name):
"""render html page"""