fix: misc fixes in demo data

- Generate demo data field copy
- absolute imports
- remove whitelisting where it's not required
- telemetry
- banner copy
- move to background
- clear bootinfo after setup
This commit is contained in:
Ankush Menat
2023-08-10 15:48:57 +05:30
parent f2eb3d0f94
commit 3a21c90d10
5 changed files with 38 additions and 14 deletions

View File

@@ -13,15 +13,26 @@ from erpnext.accounts.utils import get_fiscal_year
from erpnext.setup.setup_wizard.operations.install_fixtures import create_bank_account
@frappe.whitelist()
def setup_demo_data():
company = create_demo_company()
process_masters()
make_transactions(company)
from frappe.utils.telemetry import capture
capture("demo_data_creation_started", "erpnext")
try:
company = create_demo_company()
process_masters()
make_transactions(company)
frappe.cache.delete_keys("bootinfo")
frappe.publish_realtime("demo_data_complete")
except Exception:
frappe.log_error("Failed to create demo data")
capture("demo_data_creation_failed", "erpnext", properties={"exception": frappe.get_traceback()})
raise
capture("demo_data_creation_completed", "erpnext")
@frappe.whitelist()
def clear_demo_data():
frappe.only_for("System Manager")
company = frappe.db.get_single_value("Global Defaults", "demo_company")
create_transaction_deletion_record(company)
clear_masters()

View File

@@ -5,8 +5,8 @@
import frappe
from frappe import _
from ..demo import setup_demo_data
from .operations import install_fixtures as fixtures
from erpnext.setup.demo import setup_demo_data
from erpnext.setup.setup_wizard.operations import install_fixtures as fixtures
def get_setup_stages(args=None):
@@ -40,7 +40,7 @@ def get_setup_stages(args=None):
{
"status": _("Setting up demo data"),
"fail_msg": _("Failed to setup demo data"),
"tasks": [{"fn": setup_demo, "args": args, "fail_msg": _("Failed to login")}],
"tasks": [{"fn": setup_demo, "args": args, "fail_msg": _("Failed to setup demo data")}],
},
{
"status": _("Wrapping up"),
@@ -71,7 +71,7 @@ def fin(args):
def setup_demo(args):
if args.get("setup_demo"):
setup_demo_data()
frappe.enqueue(setup_demo_data, enqueue_after_commit=True)
def login_as_first_user(args):