def remove_from_installed_apps(context, app): "Remove app from site's installed-apps list" from dataent.installer import remove_from_installed_apps for site in context.sites: try: dataent.init(site=site) dataent.connect() remove_from_installed_apps(app) finally: dataent.destroy()
def execute(): reload_doctypes_for_schools_icons() dataent.reload_doc('website', 'doctype', 'portal_settings') dataent.reload_doc('website', 'doctype', 'portal_menu_item') dataent.reload_doc('buying', 'doctype', 'request_for_quotation') if 'schools' in dataent.get_installed_apps(): dataent.db.sql("""delete from `tabDesktop Icon`""") if not dataent.db.exists('Module Def', 'Schools') and dataent.db.exists( 'Module Def', 'Academics'): # 'Schools' module changed to the 'Education' # dataent.rename_doc("Module Def", "Academics", "Schools") dataent.rename_doc("Module Def", "Academics", "Education") remove_from_installed_apps("schools")
def execute(): dataent.reload_doc('epaas_integrations', 'doctype', 'shopify_settings') dataent.reload_doc('epaas_integrations', 'doctype', 'shopify_tax_account') dataent.reload_doc('epaas_integrations', 'doctype', 'shopify_log') dataent.reload_doc('epaas_integrations', 'doctype', 'shopify_webhook_detail') if 'epaas_shopify' in dataent.get_installed_apps(): remove_from_installed_apps('epaas_shopify') dataent.db.sql( 'delete from `tabDesktop Icon` where app="epaas_shopify" ') dataent.delete_doc("Module Def", 'epaas_shopify') dataent.db.commit() dataent.db.sql("truncate `tabShopify Log`") setup_app_type() else: disable_shopify()
def execute(): if 'knowledge_base' in dataent.get_installed_apps(): dataent.reload_doc('website', 'doctype', 'help_category') dataent.reload_doc('website', 'doctype', 'help_article') update_routes(['Help Category', 'Help Article']) remove_from_installed_apps('knowledge_base') # remove desktop icon desktop_icon_name = dataent.db.get_value( 'Desktop Icon', dict(module_name='Knowledge Base', type='module')) if desktop_icon_name: dataent.delete_doc('Desktop Icon', desktop_icon_name) # remove module def if dataent.db.exists('Module Def', 'Knowledge Base'): dataent.delete_doc('Module Def', 'Knowledge Base') # set missing routes for doctype in ('Help Category', 'Help Article'): for d in dataent.get_all(doctype, fields=['name', 'route']): if not d.route: doc = dataent.get_doc(doctype, d.name) doc.set_route() doc.db_update()
def execute(): from dataent.installer import remove_from_installed_apps remove_from_installed_apps("shopping_cart")
def uninstall_app(app_name): from dataent.installer import remove_from_installed_apps remove_from_installed_apps(app_name)