# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals import frappe from frappe import _ from frappe.utils import nowdate class website_maker(object): def __init__(self, company, tagline, user): self.company = company self.tagline = tagline self.user = user self.make_web_page() self.make_website_settings() self.make_blog() def make_web_page(self): # home page self.webpage = frappe.get_doc({ "doctype": "Web Page", "title": self.company, "published": 1, "header": "

{0}

".format(self.tagline or "Headline")+\ '

'+_("This is an example website auto-generated from ERPNext")+"

"+\ '

Login

', "description": self.company + ":" + (self.tagline or ""), "css": frappe.get_template("setup/setup_wizard/data/sample_home_page.css").render(), "main_section": frappe.get_template("setup/setup_wizard/data/sample_home_page.html").render({ "company": self.company, "tagline": (self.tagline or "") }) }).insert() def make_website_settings(self): # update in home page in settings website_settings = frappe.get_doc("Website Settings", "Website Settings") website_settings.home_page = self.webpage.name website_settings.brand_html = self.company website_settings.copyright = self.company website_settings.top_bar_items = [] website_settings.append("top_bar_items", { "doctype": "Top Bar Item", "label":"Contact", "url": "/contact" }) website_settings.append("top_bar_items", { "doctype": "Top Bar Item", "label":"Blog", "url": "/blog" }) website_settings.append("top_bar_items", { "doctype": "Top Bar Item", "label": _("Products"), "url": "/products" }) website_settings.save() def make_blog(self): blogger = frappe.new_doc("Blogger") user = frappe.get_doc("User", self.user) blogger.user = self.user blogger.full_name = user.first_name + (" " + user.last_name if user.last_name else "") blogger.short_name = user.first_name.lower() blogger.avatar = user.user_image blogger.insert() blog_category = frappe.get_doc({ "doctype": "Blog Category", "category_name": "general", "published": 1, "title": _("General") }).insert() frappe.get_doc({ "doctype": "Blog Post", "title": "Welcome", "published": 1, "published_on": nowdate(), "blogger": blogger.name, "blog_category": blog_category.name, "blog_intro": "My First Blog", "content": frappe.get_template("setup/setup_wizard/data/sample_blog_post.html").render(), }).insert() def test(): frappe.delete_doc("Web Page", "test-company") frappe.delete_doc("Blog Post", "welcome") frappe.delete_doc("Blogger", "administrator") frappe.delete_doc("Blog Category", "general") website_maker("Test Company", "Better Tools for Everyone", "Administrator") frappe.db.commit()