blob: 330f7a39a47f486e0b75e5298d5bb842e39caf8c [file] [log] [blame]
Rushabh Mehtaab1148c2012-01-31 18:01:16 +05301import webnotes
2from webnotes.model.doc import Document
3
Rushabh Mehta949496c2012-01-25 18:48:46 +05304def make_template(doc, path, convert_fields = ['main_section', 'side_section']):
5 """make template"""
Rushabh Mehtaab1148c2012-01-31 18:01:16 +05306 import os, jinja2
Rushabh Mehta949496c2012-01-25 18:48:46 +05307
Rushabh Mehtaab1148c2012-01-31 18:01:16 +05308 markdown(doc, convert_fields)
Rushabh Mehta949496c2012-01-25 18:48:46 +05309
10 # write template
11 with open(path, 'r') as f:
12 temp = jinja2.Template(f.read())
13
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053014 return temp.render(doc = doc.fields)
15
16def markdown(doc, fields):
17 """convert fields to markdown"""
18 import markdown2
19 # markdown
20 for f in fields:
21 doc.fields[f + '_html'] = markdown2.markdown(doc.fields[f] or '', \
22 extras=["wiki-tables"])
23
24
25def page_name(title):
26 """make page name from title, and check that there is no duplicate"""
27 import re
28 name = re.sub('[~!@#$%^&*()<>,."\']', '', title.lower())
29 return '-'.join(name.split()[:4])
30
31def add_page(title):
32 """add a custom page with title"""
33 name = page_name(title)
34 if webnotes.conn.sql("""select name from tabPage where name=%s""", name):
35 p = Document('Page', name)
36 else:
37 p = Document('Page')
38
39 p.title = title
40 p.name = p.page_name = name
41 p.module = 'Website'
42 p.standard = 'No'
43
44 return p
45
46def add_guest_access_to_page(page):
47 """add Guest in Page Role"""
48 if not webnotes.conn.sql("""select parent from `tabPage Role`
49 where role='Guest' and parent=%s""", page):
50 d = Document('Page Role')
51 d.parent = page
52 d.role = 'Guest'
53 d.save()