bench get-app https://github.com/aerele/bank_api_integration.git
Getting bank_api_integration
$ git clone https://github.com/aerele/bank_api_integration.git --depth 1 --origin upstream
Cloning into 'bank_api_integration'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 59 (delta 14), reused 29 (delta 2), pack-reused 0
Receiving objects: 100% (59/59), 38.76 KiB | 1.61 MiB/s, done.
Resolving deltas: 100% (14/14), done.
Ignoring dependencies of https://github.com/aerele/bank_api_integration.git. To install dependencies use --resolve-deps
Installing bank_api_integration
$ /home/kiranmai/Documents/Hilltop/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/kiranmai/Documents/Hilltop/frappe-bench/apps/bank_api_integration
$ bench build --app bank_api_integration
✔ Application Assets Linked
yarn run v1.22.21
$ node esbuild --production --apps bank_api_integration --run-build-command
File Size
DONE Total Build Time: 121.098ms
Done in 0.68s.
WARN: restart failed: Couldn't find supervisorctl in PATH
INFO: A newer version of bench is available: 5.21.4 → 5.22.6
kiranmai@kiranmai-Lenovo-V15-G3-IAP:~/Documents/Hilltop/frappe-bench$ bench --site hilltop install-app bank_api_integration
Installing bank_api_integration...
An error occurred while installing bank_api_integration: Could not find Document Type: Outward Bank Payment
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 446, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['hilltop'], 'force': False, 'verbose': False, 'profile': False}
apps = ('bank_api_integration',)
force = False
_install_app = <function install_app at 0x7b831d7a42c0>
filelock = <function filelock at 0x7b831d79a200>
exit_code = 0
site = 'hilltop'
app = 'bank_api_integration'
err = LinkValidationError('Could not find Document Type: Outward Bank Payment')
File "apps/frappe/frappe/installer.py", line 309, in install_app
frappe.get_attr(after_install)()
name = 'bank_api_integration'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x7b831bd46660>
sync_for = <function sync_for at 0x7b831bd47600>
sync_customizations = <function sync_customizations at 0x7b831d876480>
sync_fixtures = <function sync_fixtures at 0x7b831bd479c0>
app_hooks = {'after_install': ['bank_api_integration.bank_api_integration.doctype.bank_api_integration.bank_api_integration.create_defaults'], 'app_color': ['grey'], 'app_description': ['Implementation of bank api integration'], 'app_email': ['admin@aerele.in'], 'app_icon': ['octicon octicon-file-directory'], 'app_license': ['MIT'], 'app_name': ['bank_api_integration'], 'app_publisher': ['Aerele'], 'app_title': ['Bank Api Integration'], 'app_version': ['0.0.1'], 'doctype_js': {'Bank Account': ['bank_api_integration/utils/js/bank_account.js'], 'Purchase Invoice': ['bank_api_integration/custom/js/purchase_invoice.js'], 'Purchase Order': ['bank_api_integration/custom/js/purchase_order.js']}, 'scheduler_events': {'cron': {'0/30 * * * *': ['bank_api_integration.bank_api_integration.doctype.bank_api_integration.bank_api_integration.update_transaction_status', 'bank_api_integration.bank_api_integration.doctype.bank_api_integration.bank_api_integration.fetch_balance', 'bank_api_integration.bank_api_integr...
installed_apps = ['frappe', 'erpnext', 'payments', 'pdf_on_submit', 'hrms', 'india_compliance', 'frappe_whatsapp', 'lenovo', 'easygateentry', 'erpnext_gate_pass', 'm11', 'rilerpnext', 'mdvl', 'insights', 'builder', 'bpplerpnext', 'hilltop', 'bank_connector_erpnext']
after_install = 'bank_api_integration.bank_api_integration.doctype.bank_api_integration.bank_api_integration.create_defaults'
File "apps/bank_api_integration/bank_api_integration/bank_api_integration/doctype/bank_api_integration/bank_api_integration.py", line 456, in create_defaults
create_workflow('Outward Bank Payment')
roles = ['Bank Maker', 'Bank Checker']
role = 'Bank Checker'
custom_fields = {'Bank Account': [{'fieldname': 'ifsc_code', 'fieldtype': 'Data', 'label': 'IFSC Code', 'insert_after': 'iban'}, {'fieldname': 'account_statemnt_and_balance_details', 'fieldtype': 'Section Break', 'label': 'Account Statement and Balance Details', 'insert_after': 'mask', 'depends_on': 'eval: doc.is_company_account == 1 && !doc.__islocal'}, {'fieldname': 'fetch_balance', 'fieldtype': 'Button', 'label': 'Fetch Balance', 'insert_after': 'account_statemnt_and_balance_details'}, {'fieldname': 'balance_amount', 'fieldtype': 'Float', 'label': 'Balance Amount', 'insert_after': 'fetch_balance', 'read_only': 1}, {'fieldname': 'balance_last_synced_on', 'fieldtype': 'Datetime', 'label': 'Balance Last Synced On', 'insert_after': 'balance_amount', 'read_only': 1}, {'fieldname': 'column_break_30', 'fieldtype': 'Column Break', 'insert_after': 'balance_last_synced_on'}, {'fieldname': 'fetch_account_statement', 'fieldtype': 'Button', 'label': 'Fetch Account Statement', 'insert_after': 'column_break_30'},...
states_with_style = {'Success': ['Verified', 'Initiated', 'Transaction Completed', 'Completed'], 'Danger': ['Verification Failed', 'Initiation Error', 'Initiation Failed', 'Transaction Failed', 'Transaction Error', 'Failed'], 'Primary': ['Transaction Pending', 'Initiation Pending', 'Processing', 'Partially Completed']}
style = 'Primary'
state = 'Partially Completed'
File "apps/bank_api_integration/bank_api_integration/bank_api_integration/doctype/bank_api_integration/bank_api_integration.py", line 504, in create_workflow
workflow_doc.save()
document_name = 'Outward Bank Payment'
workflow_doc = <Workflow: unsaved>
pending_next_states = [['Approve', 'Approved'], ['Reject', 'Rejected']]
state = 'Transaction Completed'
transitions = {'state': 'Pending', 'action': 'Reject', 'allow_self_approval': 0, 'next_state': 'Rejected', 'allowed': 'Bank Checker', 'doctype': 'Workflow Transition'}
optional_states = ['Verified', 'Verification Failed', 'Initiated', 'Initiation Error', 'Initiation Failed', 'Transaction Failed', 'Initiation Pending', 'Transaction Error', 'Transaction Pending', 'Transaction Completed']
File "apps/frappe/frappe/model/document.py", line 335, in save
return self._save(*args, **kwargs)
self = <Workflow: unsaved>
args = ()
kwargs = {}
File "apps/frappe/frappe/model/document.py", line 357, in _save
return self.insert()
self = <Workflow: unsaved>
ignore_permissions = None
ignore_version = None
File "apps/frappe/frappe/model/document.py", line 281, in insert
self._validate_links()
self = <Workflow: unsaved>
ignore_permissions = None
ignore_links = None
ignore_if_duplicate = False
ignore_mandatory = None
set_name = None
set_child_names = True
File "apps/frappe/frappe/model/document.py", line 927, in _validate_links
frappe.throw(_("Could not find {0}").format(msg), frappe.LinkValidationError)
self = <Workflow: unsaved>
invalid_links = [('document_type', 'Outward Bank Payment', 'Document Type: Outward Bank Payment')]
cancelled_links = []
d = <WorkflowTransition: unsaved>
result = ([], [])
msg = 'Document Type: Outward Bank Payment'
File "apps/frappe/frappe/__init__.py", line 600, in throw
msgprint(
msg = 'Could not find Document Type: Outward Bank Payment'
exc = <class 'frappe.exceptions.LinkValidationError'>
title = None
is_minimizable = False
wide = False
as_list = False
primary_action = None
File "apps/frappe/frappe/__init__.py", line 565, in msgprint
_raise_exception()
msg = 'Could not find Document Type: Outward Bank Payment'
title = None
raise_exception = <class 'frappe.exceptions.LinkValidationError'>
as_table = False
as_list = False
indicator = 'red'
alert = False
primary_action = None
is_minimizable = False
wide = False
realtime = False
sys = <module 'sys' (built-in)>
_raise_exception = <function msgprint.<locals>._raise_exception at 0x7b830510bce0>
inspect = <module 'inspect' from '/usr/lib/python3.11/inspect.py'>
out = {'message': 'Could not find Document Type: Outward Bank Payment', 'title': 'Message', 'indicator': 'red', 'raise_exception': 1, '__frappe_exc_id': 'a3d66cc5ea2357b5f7e0c49cb43c3ed6b4ebfcee2e4d2cfd3223e9b4'}
File "apps/frappe/frappe/__init__.py", line 516, in _raise_exception
raise exc
exc = LinkValidationError('Could not find Document Type: Outward Bank Payment')
inspect = <module 'inspect' from '/usr/lib/python3.11/inspect.py'>
msg = 'Could not find Document Type: Outward Bank Payment'
out = {'message': 'Could not find Document Type: Outward Bank Payment', 'title': 'Message', 'indicator': 'red', 'raise_exception': 1, '__frappe_exc_id': 'a3d66cc5ea2357b5f7e0c49cb43c3ed6b4ebfcee2e4d2cfd3223e9b4'}
raise_exception = <class 'frappe.exceptions.LinkValidationError'>
frappe.exceptions.LinkValidationError: Could not find Document Type: Outward Bank Payment
kiranmai@kiranmai-Lenovo-V15-G3-IAP:~/Documents/Hilltop/frappe-bench$
help me to resolve this issue??
@vigneshsekar , @snv , @NCP