blob: 66be4d2bb5f9305e77d11c8d1f0fe067c1da883c [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
Rushabh Mehtaaf1cb632012-02-06 07:29:52 +010028 name = title.lower()
29 name = re.sub('[~!@#$%^&*()<>,."\']', '', name)
Rushabh Mehtaab1148c2012-01-31 18:01:16 +053030 return '-'.join(name.split()[:4])
31
32def add_page(title):
33 """add a custom page with title"""
34 name = page_name(title)
35 if webnotes.conn.sql("""select name from tabPage where name=%s""", name):
36 p = Document('Page', name)
37 else:
38 p = Document('Page')
39
40 p.title = title
41 p.name = p.page_name = name
42 p.module = 'Website'
43 p.standard = 'No'
44
45 return p
46
47def add_guest_access_to_page(page):
48 """add Guest in Page Role"""
49 if not webnotes.conn.sql("""select parent from `tabPage Role`
50 where role='Guest' and parent=%s""", page):
51 d = Document('Page Role')
52 d.parent = page
53 d.role = 'Guest'
Rushabh Mehtaaf1cb632012-02-06 07:29:52 +010054 d.save()