User Registration and Membership Integration added#140
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a comprehensive new integration with the 'User Registration & Membership' plugin. It provides the necessary backend logic to interact with the plugin's data and a complete frontend interface for users to set up and manage this integration, allowing for seamless user registration workflows. Highlights
Changelog
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Adds a new User Registration & Membership action integration (UI + backend endpoints) so flows can map trigger data into User Registration fields (with a Pro-gated “Create User” module).
Changes:
- Register the new integration across the UI (action picker, lazy-loaded routing, tutorial link, logo asset).
- Implement frontend configuration pages (authorization step, form/field refresh, required-field mapping validation).
- Add backend action controller/routes + execution helper, plus a small core smart-tag replacement robustness fix.
Reviewed changes
Copilot reviewed 20 out of 21 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| frontend/src/Utils/StaticData/webhookIntegrations.js | Adds UserRegistrationMembership to the static integrations list used by edit/trigger UI selection. |
| frontend/src/Utils/StaticData/tutorialLinks.js | Adds docs link entry for the new integration. |
| frontend/src/resource/img/integ/userRegistrationMembership.webp | Adds the integration logo asset. |
| frontend/src/components/Flow/New/SelectAction.jsx | Exposes the new action in the “Select Action” UI (with explicit logo key). |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembership.jsx | New “create” wizard container for the integration. |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/EditUserRegistrationMembership.jsx | New “edit existing action” screen for the integration. |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipAuthorization.jsx | Step-1 connection check screen for the integration. |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipIntegLayout.jsx | Step-2 action selection, form selection, refresh, and field-mapping UI. |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipFieldMap.jsx | Field-map row UI (form field/custom/smart tags → UR field). |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipCommonFunc.js | bitsFetch helpers (authorize, refresh forms/fields, mapping validation). |
| frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipActions.jsx | Placeholder actions component (currently commented out). |
| frontend/src/components/AllIntegrations/NewInteg.jsx | Lazy-load + route to the new integration in the “new action” flow. |
| frontend/src/components/AllIntegrations/EditInteg.jsx | Lazy-load + route to the new integration in the “edit action” flow. |
| frontend/src/components/AllIntegrations/IntegInfo.jsx | Attempts to show the integration in “Integration Info” view (currently broken due to props mismatch). |
| frontend/src/components/AllIntegrations/SeoPress/SeoPress.jsx | Removes duplicate disabled prop (cleanup). |
| backend/Core/Util/AllTriggersName.php | Registers the integration name in the backend’s integration registry. |
| backend/Flow/Flow.php | Maps User Registration & Membership type string to UserRegistrationMembership action class name. |
| backend/Core/Util/Common.php | Prevents str_replace from receiving objects during smart-tag replacement. |
| backend/Actions/UserRegistrationMembership/Routes.php | Registers AJAX routes for authorize / refresh forms / refresh fields. |
| backend/Actions/UserRegistrationMembership/UserRegistrationMembershipController.php | Implements authorize + fetch forms/fields + execute wiring. |
| backend/Actions/UserRegistrationMembership/RecordApiHelper.php | Builds mapped payload and delegates Pro execution via filter hook. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
...nents/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipAuthorization.jsx
Show resolved
Hide resolved
...ponents/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipIntegLayout.jsx
Outdated
Show resolved
Hide resolved
...end/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembership.jsx
Outdated
Show resolved
Hide resolved
.../components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipActions.jsx
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Code Review
This pull request introduces a new integration for 'User Registration and Membership'. The implementation is mostly solid, but there are a few critical issues and areas for improvement. Specifically, there's a fatal error in the backend controller due to incorrect method declarations, and a significant validation bug in the frontend that could allow users to create incomplete integrations. I've provided detailed comments and suggestions to address these issues, along with some minor improvements for code quality and maintainability.
No description provided.