frappe / hrms

Open Source HR and Payroll Software
https://frappe.io/hr
GNU General Public License v3.0
1.36k stars 699 forks source link

Installation for Frappe HR app failed due to an error. #1630

Open MaynorVasquez opened 6 months ago

MaynorVasquez commented 6 months ago

Information about bug

Error installing HRMS application in docker on windows. HRMS V15.16.0 removes site styles when restarting containers. Uninstalling the hrms app does not solve the error. Everything has to be installed from scratch.

error install-app hrms

Module

HR, Payroll

Version

Frappe Framework: v15.20.0 ERPNext: v15.19.1 HRMS: v15.16.0

Installation method

docker

Relevant log output / Stack trace / Full Error Message.

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 444, in install_app
    _install_app(app, verbose=context.verbose, force=force)
      context = {'sites': ['frontend'], 'force': False, 'verbose': False, 'profile': False}
      apps = ('hrms',)
      force = False
      _install_app = <function install_app at 0x7f7c3cbd9bc0>
      filelock = <function filelock at 0x7f7c3cbcade0>
      exit_code = 0
      site = 'frontend'
      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 0x7f7c3b685760>
      sync_for = <function sync_for at 0x7f7c3b6867a0>
      sync_customizations = <function sync_customizations at 0x7f7c3cb6f740>
      sync_fixtures = <function sync_fixtures at 0x7f7c3b686980>
      app_hooks = {'accounting_dimension_doctypes': ['Expense Claim', 'Expense Claim Detail', 'Expense Taxes and Charges', 'Payroll Entry'], 'advance_payment_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': ['contact@frappe.io'], '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.doctype.e...
      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 17, in after_install
    make_fixtures()
  File "apps/hrms/hrms/setup.py", line 416, 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 409, 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 0x7f7c3cdee160>
      record = {'doctype': 'Expense Claim Type', 'name': 'Calls', 'expense_type': 'Calls'}
      doctype = 'Expense Claim Type'
      condition = None
  File "apps/frappe/frappe/__init__.py", line 1143, 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 0x7f7c3994efc0>
  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 1286, 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 241, 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

MaynorVasquez commented 6 months ago

I have managed to install the HRMS module, but at the end of the installation all software has problems, as you can see in the image; The logo, menu, and modules no longer work correctly.

error de estilos y funcionamiento ERPNext
BullsDev commented 6 months ago

Hi MaynorVasquez. I am having the same issue as yours. Using Docker as well. How did you manage to install

MaynorVasquez commented 6 months ago

Hi BullsDev. To install HRMS, follow the following steps.

  1. Install ERPNEXT V15 again....
  2. Configure ERPNEXT
  3. Delete two containers that are created from docker, these are not used by ERPNEXT. Configurator-1 and create-site-1
  4. Enter the frontend container and download HRMS V15
  5. Instala HRMS en el sitio frontend
  6. migrate the site with bench migrate
  7. Exit the frontend container and enter the backend container-1. Follow the same steps, download HRMS, install HRMS and bench migrate

You already have HRMS installed in its stable version V15, but with the problem that the ERPNEXT modules stop working, for example, the projects and the buttons do not work correctly.

BullsDev commented 6 months ago

Thanks so much for sharing. Let me give it a shot right now.

Regards

Philip

On Mon, Apr 8, 2024 at 4:33 PM MaynorVasquez @.***> wrote:

Hi BullsDev. To install HRMS, follow the following steps.

  1. Install ERPNEXT V15 again....
  2. Configure ERPNEXT
  3. Delete two containers that are created from docker, these are not used by ERPNEXT. Configurator-1 and create-site-1
  4. Enter the frontend container and download HRMS V15
  5. Instala HRMS en el sitio frontend
  6. migrate the site with bench migrate
  7. Exit the frontend container and enter the backend container-1. Follow the same steps, download HRMS, install HRMS and bench migrate

You already have HRMS installed in its stable version V15, but with the problem that the ERPNEXT modules stop working, for example, the projects and the buttons do not work correctly.

— Reply to this email directly, view it on GitHub https://github.com/frappe/hrms/issues/1630#issuecomment-2043192154, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABGVBN4U4LPE453YZGJS7WTY4LBFBAVCNFSM6AAAAABFXQSXEGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBTGE4TEMJVGQ . You are receiving this because you commented.Message ID: @.***>

NisargTailor commented 1 month ago

@BullsDev @MaynorVasquez any update on this. i am facing same issue.

MatthK commented 1 month ago

I have the same issue, however, not in a docker configuration. It is a normal installation.