Skip to content

Commit 37e19cc

Browse files
authored
Merge pull request #132 from aerele/connection-button-validation
Connection button validation
2 parents 8f8e2d1 + 0c40742 commit 37e19cc

File tree

4 files changed

+57
-12
lines changed

4 files changed

+57
-12
lines changed

india_banking/hooks.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
"Payment Order": "india_banking.overrides.payment_order.CustomPaymentOrder",
3434
}
3535

36+
override_doctype_dashboards = {
37+
"Bank Account": "india_banking.india_banking.doc_events.bank_account.bank_account.get_data"
38+
}
3639

3740
doc_events = {
3841
"Bank": {

india_banking/india_banking/doc_events/bank_account/bank_account.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,20 @@
99
NAME_PATTERN = re.compile(r"^[A-Za-z0-9]+(?: [A-Za-z0-9]+)*$")
1010

1111

12+
def get_data(data=None):
13+
if data is None:
14+
data = {}
15+
16+
data.setdefault("transactions", []).append(
17+
{"label": _("Connector"), "items": ["India Banking Connector"]}
18+
)
19+
data.setdefault("non_standard_fieldnames", {})[
20+
"India Banking Connector"
21+
] = "bank_account"
22+
23+
return data
24+
25+
1226
def validate(doc, method=None):
1327
"""Validate Bank Account document before saving"""
1428
strip_whitespace(doc)

india_banking/india_banking/doctype/india_banking_connector/india_banking_connector.json

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
"api_key",
1717
"api_secret",
1818
"bulk_transaction",
19+
"service_subscriptions_section",
20+
"fetch_bank_balance",
21+
"fetch_bank_statement",
1922
"payment_configuration_tab",
2023
"enqueue_large_payments_in_the_background",
2124
"enqueue_payments_threshold",
@@ -71,31 +74,25 @@
7174
"reqd": 1
7275
},
7376
{
74-
"depends_on": "eval: !doc.__onload.connector_installed",
7577
"fieldname": "url",
7678
"fieldtype": "Data",
7779
"in_list_view": 1,
78-
"label": "URL",
79-
"read_only_depends_on": "!doc.__onload.connector_installed\n"
80+
"label": "URL"
8081
},
8182
{
8283
"fieldname": "column_break_mdgf",
8384
"fieldtype": "Column Break"
8485
},
8586
{
86-
"depends_on": "eval: !doc.__onload.connector_installed",
8787
"fieldname": "api_key",
8888
"fieldtype": "Data",
8989
"in_list_view": 1,
90-
"label": "API Key",
91-
"mandatory_depends_on": "!doc.__onload.connector_installed\n"
90+
"label": "API Key"
9291
},
9392
{
94-
"depends_on": "eval: !doc.__onload.connector_installed",
9593
"fieldname": "api_secret",
9694
"fieldtype": "Password",
97-
"label": "API Secret",
98-
"mandatory_depends_on": "!doc.__onload.connector_installed\n"
95+
"label": "API Secret"
9996
},
10097
{
10198
"default": "0",
@@ -252,11 +249,28 @@
252249
"fieldtype": "Datetime",
253250
"label": "Last Execution",
254251
"read_only": 1
252+
},
253+
{
254+
"fieldname": "service_subscriptions_section",
255+
"fieldtype": "Section Break",
256+
"label": "Service Subscriptions"
257+
},
258+
{
259+
"default": "0",
260+
"fieldname": "fetch_bank_balance",
261+
"fieldtype": "Check",
262+
"label": "Fetch Bank Balance"
263+
},
264+
{
265+
"default": "0",
266+
"fieldname": "fetch_bank_statement",
267+
"fieldtype": "Check",
268+
"label": "Fetch Bank Statement"
255269
}
256270
],
257271
"index_web_pages_for_search": 1,
258272
"links": [],
259-
"modified": "2026-03-10 09:12:36.432674",
273+
"modified": "2026-03-11 12:33:36.394960",
260274
"modified_by": "Administrator",
261275
"module": "India Banking",
262276
"name": "India Banking Connector",

india_banking/public/js/bank_account.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,22 @@ frappe.ui.form.on("Bank Account", {
8888
},
8989
add_bank_custom_buttons(frm) {
9090
if (!frm.doc.__islocal) {
91-
frm.events.add_balance_fetch_button(frm);
92-
frm.events.add_statements_fetch_button(frm);
91+
let balance_service_subscribed = false;
92+
frappe.db
93+
.get_value("India Banking Connector", frm.doc.name, [
94+
"fetch_bank_balance",
95+
"fetch_bank_statement",
96+
])
97+
.then((r) => {
98+
if (r.message) {
99+
if (r.message.fetch_bank_balance) {
100+
frm.events.add_balance_fetch_button(frm);
101+
balance_service_subscribed = true;
102+
}
103+
if (r.message.fetch_bank_statement) frm.events.add_statements_fetch_button(frm);
104+
}
105+
if (!balance_service_subscribed) frm.set_df_property("bank_balance", "hidden", 1);
106+
});
93107
}
94108
},
95109
add_balance_fetch_button(frm) {

0 commit comments

Comments
 (0)