Installation for Frappe HR app failed due to an error
Information about bug
bench --site site1.local install-app hrms App erpnext already installed
Installing hrms...
Setting up Frappe HR...
Installation for Frappe HR app failed due to an error. Please try re-installing the app or report the issue on https://github.com/frappe/hrms/issues/new if not resolved.
An error occurred while installing hrms: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.
Error: No module named 'frappe.core.doctype.expense_claim_type'
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 445, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['site1.local'], 'force': False, 'verbose': False, 'profile': False}
apps = ('hrms',)
force = False
_install_app = <function install_app at 0x7648c584a0c0>
filelock = <function filelock at 0x7648c583fa60>
exit_code = 0
site = 'site1.local'
app = 'hrms'
err = ImportError("Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.
Error: No module named 'frappe.core.doctype.expense_claim_type'")
File "apps/frappe/frappe/installer.py", line 311, in install_app
frappe.get_attr(after_install)()
name = 'hrms'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7648c42adb20>
sync_for = <function sync_for at 0x7648c42ae980>
sync_customizations = <function sync_customizations at 0x7648c57dbe20>
sync_fixtures = <function sync_fixtures at 0x7648c42aeca0>
app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_payable_doctypes': ['Gratuity', 'Employee Advance'], 'after_app_install': ['hrms.setup.after_app_install'], 'after_install': ['hrms.install.after_install'], 'after_migrate': ['hrms.setup.update_select_perm_after_install'], 'app_description': ['Modern HR and Payroll Software'], 'app_email': ['[email protected]'], 'app_include_css': ['hrms.bundle.css'], 'app_include_js': ['hrms.bundle.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['hrms'], 'app_publisher': ['Frappe Technologies Pvt. Ltd.'], 'app_title': ['Frappe HR'], 'bank_reconciliation_doctypes': ['Expense Claim'], 'before_app_uninstall': ['hrms.setup.before_app_uninstall'], 'before_tests': ['hrms.tests.test_utils.before_tests'], 'before_uninstall': ['hrms.uninstall.before_uninstall'], 'calendars': ['Leave Application'], 'doc_events': {'User': {'validate': ['erpnext.setup.d...
installed_apps = ['frappe', 'erpnext']
app = 'frappe/erpnext'
required_app = 'erpnext'
after_install = 'hrms.install.after_install'
File "apps/hrms/hrms/install.py", line 21, in after_install
raise e
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/install.py", line 9, in after_install
setup()
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/setup.py", line 18, in after_install
make_fixtures()
File "apps/hrms/hrms/setup.py", line 414, in make_fixtures
make_records(records)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
File "apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py", line 412, in make_records
doc = frappe.new_doc(doctype)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
debug = False
_dict = <class 'frappe._dict'>
scrub = <function scrub at 0x7648c5eaf7e0>
record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
doctype = 'Expense Claim Type'
condition = None
File "apps/frappe/frappe/init.py", line 1190, in new_doc
new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
kwargs = {}
get_new_doc = <function get_new_doc at 0x7648c2692ac0>
File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
doc = frappe.get_doc({"doctype": doctype, "__islocal": 1, "owner": frappe.session.user, "docstatus": 0})
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/init.py", line 1333, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {}
frappe = <module 'frappe' from 'apps/frappe/frappe/init.py'>
File "apps/frappe/frappe/model/document.py", line 83, in get_doc
controller = get_controller(doctype)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0}
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/model/base_document.py", line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
doctype = 'Expense Claim Type'
site_controllers = {'Module Def': <class 'frappe.core.doctype.module_def.module_def.ModuleDef'>, 'DocField': <class 'frappe.core.doctype.docfield.docfield.DocField'>, 'DocPerm': <class 'frappe.core.doctype.docperm.docperm.DocPerm'>, 'DocType Link': <class 'frappe.core.doctype.doctype_link.doctype_link.DocTypeLink'>, 'System Settings': <class 'frappe.core.doctype.system_settings.system_settings.SystemSettings'>, 'Notification Settings': <class 'frappe.desk.doctype.notification_settings.notification_settings.NotificationSettings'>, 'DefaultValue': <class 'frappe.core.doctype.defaultvalue.defaultvalue.DefaultValue'>, 'Payment Reconciliation': <class 'erpnext.accounts.doctype.payment_reconciliation.payment_reconciliation.PaymentReconciliation'>, 'Customize Form': <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>, 'DocType Action': <class 'frappe.core.doctype.doctype_action.doctype_action.DocTypeAction'>, 'DocType State': <class 'frappe.core.doctype.doctype_state.doctype_state.DocTyp...
File "apps/frappe/frappe/model/base_document.py", line 95, in import_controller
module = load_doctype_module(doctype, module_name)
doctype = 'Expense Claim Type'
Document = <class 'frappe.model.document.Document'>
NestedSet = <class 'frappe.utils.nestedset.NestedSet'>
module_name = 'Core'
doctype_info = None
module_path = None
class_overrides = {'Address': ['erpnext.accounts.custom.address.ERPNextAddress'], 'Employee': ['hrms.overrides.employee_master.EmployeeMaster'], 'Timesheet': ['hrms.overrides.employee_timesheet.EmployeeTimesheet'], 'Payment Entry': ['hrms.overrides.employee_payment_entry.EmployeePaymentEntry'], 'Project': ['hrms.overrides.employee_project.EmployeeProject']}
File "apps/frappe/frappe/modules/utils.py", line 254, in load_doctype_module
raise ImportError(msg) from e
doctype = 'Expense Claim Type'
module = 'Core'
prefix = ''
suffix = ''
app = 'frappe'
key = ********
module_name = 'frappe.core.doctype.expense_claim_type.expense_claim_type'
msg = "Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.
Error: No module named 'frappe.core.doctype.expense_claim_type'"
builtins.ImportError: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.
Error: No module named 'frappe.core.doctype.expense_claim_type'
Module
HR
Version
erpnext 15.26.1 frappe 15.29.0 hrms 16.0.0-dev
Installation method
docker
Relevant log output / Stack trace / Full Error Message.
bench --site site1.local install-app hrms
App erpnext already installed
Installing hrms...
Setting up Frappe HR...
Installation for Frappe HR app failed due to an error. Please try re-installing the app or report the issue on https://github.com/frappe/hrms/issues/new if not resolved.
An error occurred while installing hrms: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 445, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['site1.local'], 'force': False, 'verbose': False, 'profile': False}
apps = ('hrms',)
force = False
_install_app = <function install_app at 0x7648c584a0c0>
filelock = <function filelock at 0x7648c583fa60>
exit_code = 0
site = 'site1.local'
app = 'hrms'
err = ImportError("Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'")
File "apps/frappe/frappe/installer.py", line 311, in install_app
frappe.get_attr(after_install)()
name = 'hrms'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7648c42adb20>
sync_for = <function sync_for at 0x7648c42ae980>
sync_customizations = <function sync_customizations at 0x7648c57dbe20>
sync_fixtures = <function sync_fixtures at 0x7648c42aeca0>
app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_payable_doctypes': ['Gratuity', 'Employee Advance'], 'after_app_install': ['hrms.setup.after_app_install'], 'after_install': ['hrms.install.after_install'], 'after_migrate': ['hrms.setup.update_select_perm_after_install'], 'app_description': ['Modern HR and Payroll Software'], 'app_email': ['[email protected]'], 'app_include_css': ['hrms.bundle.css'], 'app_include_js': ['hrms.bundle.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['hrms'], 'app_publisher': ['Frappe Technologies Pvt. Ltd.'], 'app_title': ['Frappe HR'], 'bank_reconciliation_doctypes': ['Expense Claim'], 'before_app_uninstall': ['hrms.setup.before_app_uninstall'], 'before_tests': ['hrms.tests.test_utils.before_tests'], 'before_uninstall': ['hrms.uninstall.before_uninstall'], 'calendars': ['Leave Application'], 'doc_events': {'User': {'validate': ['erpnext.setup.d...
installed_apps = ['frappe', 'erpnext']
app = 'frappe/erpnext'
required_app = 'erpnext'
after_install = 'hrms.install.after_install'
File "apps/hrms/hrms/install.py", line 21, in after_install
raise e
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/install.py", line 9, in after_install
setup()
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/setup.py", line 18, in after_install
make_fixtures()
File "apps/hrms/hrms/setup.py", line 414, in make_fixtures
make_records(records)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
File "apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py", line 412, in make_records
doc = frappe.new_doc(doctype)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
debug = False
_dict = <class 'frappe._dict'>
scrub = <function scrub at 0x7648c5eaf7e0>
record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
doctype = 'Expense Claim Type'
condition = None
File "apps/frappe/frappe/__init__.py", line 1190, in new_doc
new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
kwargs = {}
get_new_doc = <function get_new_doc at 0x7648c2692ac0>
File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
doc = frappe.get_doc({"doctype": doctype, "__islocal": 1, "owner": frappe.session.user, "docstatus": 0})
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/__init__.py", line 1333, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {}
frappe = <module 'frappe' from 'apps/frappe/frappe/__init__.py'>
File "apps/frappe/frappe/model/document.py", line 83, in get_doc
controller = get_controller(doctype)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0}
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/model/base_document.py", line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
doctype = 'Expense Claim Type'
site_controllers = {'Module Def': <class 'frappe.core.doctype.module_def.module_def.ModuleDef'>, 'DocField': <class 'frappe.core.doctype.docfield.docfield.DocField'>, 'DocPerm': <class 'frappe.core.doctype.docperm.docperm.DocPerm'>, 'DocType Link': <class 'frappe.core.doctype.doctype_link.doctype_link.DocTypeLink'>, 'System Settings': <class 'frappe.core.doctype.system_settings.system_settings.SystemSettings'>, 'Notification Settings': <class 'frappe.desk.doctype.notification_settings.notification_settings.NotificationSettings'>, 'DefaultValue': <class 'frappe.core.doctype.defaultvalue.defaultvalue.DefaultValue'>, 'Payment Reconciliation': <class 'erpnext.accounts.doctype.payment_reconciliation.payment_reconciliation.PaymentReconciliation'>, 'Customize Form': <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>, 'DocType Action': <class 'frappe.core.doctype.doctype_action.doctype_action.DocTypeAction'>, 'DocType State': <class 'frappe.core.doctype.doctype_state.doctype_state.DocTyp...
File "apps/frappe/frappe/model/base_document.py", line 95, in import_controller
module = load_doctype_module(doctype, module_name)
doctype = 'Expense Claim Type'
Document = <class 'frappe.model.document.Document'>
NestedSet = <class 'frappe.utils.nestedset.NestedSet'>
module_name = 'Core'
doctype_info = None
module_path = None
class_overrides = {'Address': ['erpnext.accounts.custom.address.ERPNextAddress'], 'Employee': ['hrms.overrides.employee_master.EmployeeMaster'], 'Timesheet': ['hrms.overrides.employee_timesheet.EmployeeTimesheet'], 'Payment Entry': ['hrms.overrides.employee_payment_entry.EmployeePaymentEntry'], 'Project': ['hrms.overrides.employee_project.EmployeeProject']}
File "apps/frappe/frappe/modules/utils.py", line 254, in load_doctype_module
raise ImportError(msg) from e
doctype = 'Expense Claim Type'
module = 'Core'
prefix = ''
suffix = ''
app = 'frappe'
key = ********
module_name = 'frappe.core.doctype.expense_claim_type.expense_claim_type'
msg = "Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'"
builtins.ImportError: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Code of Conduct
- [X] I agree to follow this project's Code of Conduct
App erpnext already installed
Installing hrms...
Setting up Frappe HR...
Installation for Frappe HR app failed due to an error. Please try re-installing the app or report the issue on https://github.com/frappe/hrms/issues/new if not resolved.
An error occurred while installing hrms: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 445, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['erpnext'], 'force': False, 'verbose': False, 'profile': False}
apps = ('hrms',)
force = False
_install_app = <function install_app at 0x7f974fd728c0>
filelock = <function filelock at 0x7f974fd72560>
exit_code = 0
site = 'erpnext'
app = 'hrms'
err = ImportError("Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'")
File "apps/frappe/frappe/installer.py", line 311, in install_app
frappe.get_attr(after_install)()
name = 'hrms'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7f974ecd4e50>
sync_for = <function sync_for at 0x7f974ecd5870>
sync_customizations = <function sync_customizations at 0x7f974fd20e50>
sync_fixtures = <function sync_fixtures at 0x7f974ecd5ab0>
app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_payable_doctypes': ['Gratuity', 'Employee Advance'], 'after_app_install': ['hrms.setup.after_app_install'], 'after_install': ['hrms.install.after_install'], 'after_migrate': ['hrms.setup.update_select_perm_after_install'], 'app_description': ['Modern HR and Payroll Software'], 'app_email': ['[email protected]'], 'app_include_css': ['hrms.bundle.css'], 'app_include_js': ['hrms.bundle.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['hrms'], 'app_publisher': ['Frappe Technologies Pvt. Ltd.'], 'app_title': ['Frappe HR'], 'bank_reconciliation_doctypes': ['Expense Claim'], 'before_app_uninstall': ['hrms.setup.before_app_uninstall'], 'before_tests': ['hrms.tests.test_utils.before_tests'], 'before_uninstall': ['hrms.uninstall.before_uninstall'], 'calendars': ['Leave Application'], 'doc_events': {'User': {'validate': ['erpnext.setup.d...
installed_apps = ['frappe', 'erpnext']
app = 'frappe/erpnext'
required_app = 'erpnext'
after_install = 'hrms.install.after_install'
File "apps/hrms/hrms/install.py", line 21, in after_install
raise e
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/install.py", line 9, in after_install
setup()
BUG_REPORT_URL = 'https://github.com/frappe/hrms/issues/new'
File "apps/hrms/hrms/setup.py", line 18, in after_install
make_fixtures()
File "apps/hrms/hrms/setup.py", line 414, in make_fixtures
make_records(records)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
File "apps/frappe/frappe/desk/page/setup_wizard/setup_wizard.py", line 412, in make_records
doc = frappe.new_doc(doctype)
records = [{'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}, {'doctype': 'Expense Claim Type', 'name': 'Food', 'expense_type': 'Food'}, {'doctype': 'Expense Claim Type', 'name': 'Medical', 'expense_type': 'Medical'}, {'doctype': 'Expense Claim Type', 'name': 'Others', 'expense_type': 'Others'}, {'doctype': 'Expense Claim Type', 'name': 'Travel', 'expense_type': 'Travel'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Brake Pad'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Clutch Plate'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Engine Oil'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Oil Change'}, {'doctype': 'Vehicle Service Item', 'service_item': 'Wheels'}, {'doctype': 'Leave Type', 'leave_type_name': 'Casual Leave', 'name': 'Casual Leave', 'allow_encashment': 1, 'is_carry_forward': 1, 'max_continuous_days_allowed': '3', 'include_holiday': 1}, {'doctype': 'Leave T...
debug = False
_dict = <class 'frappe._dict'>
scrub = <function scrub at 0x7f974ff06dd0>
record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
doctype = 'Expense Claim Type'
condition = None
File "apps/frappe/frappe/__init__.py", line 1190, in new_doc
new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
kwargs = {}
get_new_doc = <function get_new_doc at 0x7f974cc77a30>
File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
doctype = 'Expense Claim Type'
parent_doc = None
parentfield = None
as_dict = False
File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
doc = frappe.get_doc({"doctype": doctype, "__islocal": 1, "owner": frappe.session.user, "docstatus": 0})
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/__init__.py", line 1333, in get_doc
doc = frappe.model.document.get_doc(*args, **kwargs)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {}
frappe = <module 'frappe' from 'apps/frappe/frappe/__init__.py'>
File "apps/frappe/frappe/model/document.py", line 83, in get_doc
controller = get_controller(doctype)
args = ({'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0},)
kwargs = {'doctype': 'Expense Claim Type', '__islocal': 1, 'owner': 'Administrator', 'docstatus': 0}
doctype = 'Expense Claim Type'
File "apps/frappe/frappe/model/base_document.py", line 70, in get_controller
site_controllers[doctype] = import_controller(doctype)
doctype = 'Expense Claim Type'
site_controllers = {'Module Def': <class 'frappe.core.doctype.module_def.module_def.ModuleDef'>, 'DocField': <class 'frappe.core.doctype.docfield.docfield.DocField'>, 'DocPerm': <class 'frappe.core.doctype.docperm.docperm.DocPerm'>, 'DocType Link': <class 'frappe.core.doctype.doctype_link.doctype_link.DocTypeLink'>, 'System Settings': <class 'frappe.core.doctype.system_settings.system_settings.SystemSettings'>, 'Notification Settings': <class 'frappe.desk.doctype.notification_settings.notification_settings.NotificationSettings'>, 'DefaultValue': <class 'frappe.core.doctype.defaultvalue.defaultvalue.DefaultValue'>, 'Payment Reconciliation': <class 'erpnext.accounts.doctype.payment_reconciliation.payment_reconciliation.PaymentReconciliation'>, 'Customize Form': <class 'frappe.custom.doctype.customize_form.customize_form.CustomizeForm'>, 'DocType Action': <class 'frappe.core.doctype.doctype_action.doctype_action.DocTypeAction'>, 'DocType State': <class 'frappe.core.doctype.doctype_state.doctype_state.DocTyp...
File "apps/frappe/frappe/model/base_document.py", line 95, in import_controller
module = load_doctype_module(doctype, module_name)
doctype = 'Expense Claim Type'
Document = <class 'frappe.model.document.Document'>
NestedSet = <class 'frappe.utils.nestedset.NestedSet'>
module_name = 'Core'
doctype_info = None
module_path = None
class_overrides = {'Address': ['erpnext.accounts.custom.address.ERPNextAddress'], 'Employee': ['hrms.overrides.employee_master.EmployeeMaster'], 'Timesheet': ['hrms.overrides.employee_timesheet.EmployeeTimesheet'], 'Payment Entry': ['hrms.overrides.employee_payment_entry.EmployeePaymentEntry'], 'Project': ['hrms.overrides.employee_project.EmployeeProject']}
File "apps/frappe/frappe/modules/utils.py", line 254, in load_doctype_module
raise ImportError(msg) from e
doctype = 'Expense Claim Type'
module = 'Core'
prefix = ''
suffix = ''
app = 'frappe'
key = ********
module_name = 'frappe.core.doctype.expense_claim_type.expense_claim_type'
msg = "Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'"
builtins.ImportError: Module import failed for Expense Claim Type, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.expense_claim_type'
bitnami@debian:/opt/bitnami/erpnext/frappe-bench$ ```
bench --site erpnext install-app hrms --force
After do above step I get "ModuleNotFoundError: No module named 'hrms'"
Run this commands:
1-bench remove-app hrms
2-bench get-app hrms --branch v15.22.1 https://github.com/frappe/hrms.git
3-bench version
4-bench --site site1.local install-app hrms --force
5-sudo service supervisor restart
6-bench restart
try running
bench --site sitename migrate
Sometimes this does the job.
try running
bench --site sitename migrateSometimes this does the job.
This helped. was doing this inside backend docker dev conatiner