mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-16 03:29:16 +00:00
moved directory structure
This commit is contained in:
89
patches/june_2012/cms2.py
Normal file
89
patches/june_2012/cms2.py
Normal file
@@ -0,0 +1,89 @@
|
||||
from __future__ import unicode_literals
|
||||
def execute():
|
||||
import webnotes
|
||||
import webnotes.model.sync
|
||||
|
||||
# sync doctypes required for the patch
|
||||
webnotes.model.sync.sync('website', 'web_cache')
|
||||
webnotes.model.sync.sync('website', 'web_page')
|
||||
webnotes.model.sync.sync('website', 'blog')
|
||||
webnotes.model.sync.sync('website', 'website_settings')
|
||||
webnotes.model.sync.sync('stock', 'item')
|
||||
|
||||
cleanup()
|
||||
|
||||
save_pages()
|
||||
|
||||
save_website_settings()
|
||||
|
||||
def cleanup():
|
||||
import webnotes
|
||||
|
||||
# delete pages from `tabPage` of module Website or of type Webpage
|
||||
webnotes.conn.sql("""\
|
||||
delete from `tabPage`
|
||||
where module='Website' and ifnull(web_page, 'No') = 'Yes'""")
|
||||
|
||||
# change show_in_website value in item table to 0 or 1
|
||||
webnotes.conn.sql("""\
|
||||
update `tabItem`
|
||||
set show_in_website = if(show_in_website = 'Yes', 1, 0)
|
||||
where show_in_website is not null""")
|
||||
|
||||
# move comments from comment_doctype Page to Blog
|
||||
webnotes.conn.sql("""\
|
||||
update `tabComment` comm, `tabBlog` blog
|
||||
set comm.comment_doctype = 'Blog', comm.comment_docname = blog.name
|
||||
where comm.comment_docname = blog.page_name""")
|
||||
|
||||
# delete deprecated pages
|
||||
import webnotes.model
|
||||
for page in ['products', 'contact', 'blog', 'about']:
|
||||
try:
|
||||
webnotes.model.delete_doc('Page', page)
|
||||
except Exception, e:
|
||||
webnotes.modules.patch_handler.log(unicode(e))
|
||||
|
||||
import os
|
||||
import conf
|
||||
# delete other html files
|
||||
exception_list = ['app.html', 'unsupported.html', 'blank.html']
|
||||
conf_dir = os.path.dirname(os.path.abspath(conf.__file__))
|
||||
public_path = os.path.join(conf_dir, 'public')
|
||||
for f in os.listdir(public_path):
|
||||
if f.endswith('.html') and f not in exception_list:
|
||||
os.remove(os.path.join(public_path, f))
|
||||
|
||||
def save_pages():
|
||||
"""save all web pages, blogs to create content"""
|
||||
query_map = {
|
||||
'Web Page': """select name from `tabWeb Page` where docstatus=0""",
|
||||
'Blog': """\
|
||||
select name from `tabBlog`
|
||||
where docstatus = 0 and ifnull(published, 0) = 1""",
|
||||
'Item': """\
|
||||
select name from `tabItem`
|
||||
where docstatus = 0 and ifnull(show_in_website, 0) = 1""",
|
||||
}
|
||||
|
||||
import webnotes
|
||||
from webnotes.model.doclist import DocList
|
||||
import webnotes.modules.patch_handler
|
||||
|
||||
for dt in query_map:
|
||||
for result in webnotes.conn.sql(query_map[dt], as_dict=1):
|
||||
try:
|
||||
DocList(dt, result['name'].encode('utf-8')).save()
|
||||
except Exception, e:
|
||||
webnotes.modules.patch_handler.log(unicode(e))
|
||||
|
||||
def save_website_settings():
|
||||
from webnotes.model.code import get_obj
|
||||
|
||||
# rewrite pages
|
||||
get_obj('Website Settings').on_update()
|
||||
|
||||
ss = get_obj('Style Settings')
|
||||
ss.validate()
|
||||
ss.doc.save()
|
||||
ss.on_update()
|
||||
Reference in New Issue
Block a user