Skip to content

chore: release v15 - #55

Merged
vorasmit merged 10 commits into
version-15from
version-15-hotfix
Jul 5, 2026
Merged

chore: release v15#55
vorasmit merged 10 commits into
version-15from
version-15-hotfix

Conversation

@resilient-tech-bot

Copy link
Copy Markdown
Collaborator

Automated Release.

mergify Bot added 2 commits May 22, 2026 10:52
…ix/pr-48

ci(mergify): upgrade configuration to current format (backport #48)
@mergify

mergify Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@greptile-apps

greptile-apps Bot commented Jul 5, 2026

Copy link
Copy Markdown

Confidence Score: 5/5

Safe to merge — the new hook resolver and client-side narrowing work correctly in the primary flow; the only gap is a pre-existing event handler that can overwrite the restricted value.

The core addition (hook resolution on the server, dropdown narrowing on the client) is correct and well-guarded. The one gap — the party_bank_account handler writing a hard-coded transfer method after options have been restricted — is a pre-existing handler interacting with the new feature in an inconsistent way. It does not break any existing functionality and server-side validation still catches invalid states, so it does not block this release.

The party_bank_account event handler in payment_entry.js warrants a follow-up to make it aware of integration-restricted options.

Important Files Changed

Filename Overview
.mergify.yml Adds merge_protections_settings.reporting_method: check-runs — a straightforward Mergify config update with no logic concerns.
payment_integration_utils/payment_integration_utils/server_overrides/doctype/payment_entry.py Adds _transfer_method_options hook resolver and wires it into onload. Exception handling gracefully falls through and logs errors; hook iteration pattern is consistent with existing Frappe patterns.
payment_integration_utils/payment_integration_utils/client_overrides/form/payment_entry.js Adds apply_transfer_method_options called on refresh to narrow the transfer method dropdown. The pre-existing party_bank_account event handler hard-codes NEFT/LINK after this narrowing, which can leave the field set to a value outside the integration's allowed options.

Reviews (2): Last reviewed commit: "Merge pull request #57 from resilient-te..." | Re-trigger Greptile

vorasmit and others added 8 commits July 5, 2026 09:38
Add a `payment_transfer_method_options` hook: onload resolves the first
registered resolver's non-empty list of allowed methods for the PE, and the PE
client JS narrows the Select to it (resetting a now-invalid draft value to the
first). No resolver / none installed -> the full default set, so razorpayx is
unaffected; a resolver error degrades to the full set rather than breaking the
form. Lets a bank integration hide UPI/Link its banks don't support without a
global, install-order-dependent property setter.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 7360602)
…s as list

- _transfer_method_options: move `list(methods)` inside the try so a
  malformed resolver return degrades to the default set instead of
  crashing onload, matching the documented behaviour.
- payment_entry.js: pass options directly to set_df_property instead of
  join("\n").

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B7vdkobbjBpanpq9mK1gXq
(cherry picked from commit 416ace7)
Backends can now register a pay driver keyed by integration_doctype to
swap what "Pay and Submit" does, without touching the button, label,
checkbox toggle, or dialogs. No driver registered keeps the current
RazorpayX behaviour (savesubmit on the form, OTP + bulk_pay_and_submit
on the list).

The form primary action and the list bulk action resolve the driver from
the registry; the list also merges each driver's add_fields and routes a
mixed selection per integration_doctype. The primary action now also
flips live when make_bank_online_payment is toggled, not only on reload.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 4d2ce31)
Routing a mixed selection ran every matching driver's bulk (and the
default flow) in the same tick, stacking their confirm/OTP dialogs and
starting two money-moving batches at once. Refuse a selection that spans
more than one flow and ask the user to narrow it; run the single flow
otherwise.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 4d33a56)
Address review on #53:
- Mixed selection now alerts and runs one payment flow, rather than
  refusing the whole selection (per @vorasmit).
- Count the default path as a flow only when it has a payable doc, so a
  batch that merely includes ineligible rows no longer trips the alert
  (per greptile); ineligible rows still surface in the default confirm.
- Warn when a driver registers a form handler but no bulk handler, which
  would otherwise pay via the wrong default path.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 2cc562e)
…ix/pr-51

feat: let integrations narrow the PE transfer-method options (backport #51)
…ix/pr-53

feat: pluggable pay driver for "Pay and Submit" (backport #53)
@vorasmit
vorasmit merged commit b85518c into version-15 Jul 5, 2026
5 checks passed
@vorasmit
vorasmit deleted the version-15-hotfix branch July 5, 2026 09:40
@resilient-tech-bot

Copy link
Copy Markdown
Collaborator Author

🎉 This PR is included in version 15.2.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants