blob: 24bfdc63af634b97ce85b82029f16291fd00bbd6 [file] [log] [blame]
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +05301## temp utility
Chillar Anand915b3432021-09-02 16:44:59 +05302
Ankush Menat0b86b1b2022-12-08 16:40:13 +05303from contextlib import contextmanager
4
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +05305import frappe
Ankush Menat0b86b1b2022-12-08 16:40:13 +05306from frappe import _
Saurabhf4ee6822017-05-16 08:30:27 +05307from frappe.utils import cstr
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +05308
Chillar Anand915b3432021-09-02 16:44:59 +05309from erpnext.utilities.activation import get_level
10
11
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +053012def update_doctypes():
Ankush Menat494bd9e2022-03-28 18:52:46 +053013 for d in frappe.db.sql(
14 """select df.parent, df.fieldname
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +053015 from tabDocField df, tabDocType dt where df.fieldname
Ankush Menat494bd9e2022-03-28 18:52:46 +053016 like "%description%" and df.parent = dt.name and dt.istable = 1""",
17 as_dict=1,
18 ):
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +053019 dt = frappe.get_doc("DocType", d.parent)
20
21 for f in dt.fields:
22 if f.fieldname == d.fieldname and f.fieldtype in ("Text", "Small Text"):
Rushabh Mehta81e9d4e2015-08-19 13:00:03 +053023 f.fieldtype = "Text Editor"
24 dt.save()
25 break
Anand Doshif576f3b2016-06-25 19:51:48 +053026
Ankush Menat494bd9e2022-03-28 18:52:46 +053027
Anand Doshif576f3b2016-06-25 19:51:48 +053028def get_site_info(site_info):
29 # called via hook
Ankush Menat494bd9e2022-03-28 18:52:46 +053030 company = frappe.db.get_single_value("Global Defaults", "default_company")
Anand Doshif576f3b2016-06-25 19:51:48 +053031 domain = None
32
33 if not company:
Ankush Menat494bd9e2022-03-28 18:52:46 +053034 company = frappe.db.sql("select name from `tabCompany` order by creation asc")
Anand Doshif576f3b2016-06-25 19:51:48 +053035 company = company[0][0] if company else None
36
37 if company:
Ankush Menat494bd9e2022-03-28 18:52:46 +053038 domain = frappe.get_cached_value("Company", cstr(company), "domain")
Anand Doshif576f3b2016-06-25 19:51:48 +053039
Ankush Menat494bd9e2022-03-28 18:52:46 +053040 return {"company": company, "domain": domain, "activation": get_level()}
Ankush Menat0b86b1b2022-12-08 16:40:13 +053041
42
43@contextmanager
44def payment_app_import_guard():
45 marketplace_link = '<a href="https://frappecloud.com/marketplace/apps/payments">Marketplace</a>'
46 github_link = '<a href="https://github.com/frappe/payments/">GitHub</a>'
47 msg = _("payments app is not installed. Please install it from {} or {}").format(
48 marketplace_link, github_link
49 )
50 try:
51 yield
52 except ImportError:
53 frappe.throw(msg, title=_("Missing Payments App"))