Skip to content

User Registration and Membership Integration added#140

Merged
RishadAlam merged 8 commits intomainfrom
feat/user-registration
Mar 16, 2026
Merged

User Registration and Membership Integration added#140
RishadAlam merged 8 commits intomainfrom
feat/user-registration

Conversation

@RishadAlam
Copy link
Member

No description provided.

Copilot AI review requested due to automatic review settings March 16, 2026 08:24
@gemini-code-assist
Copy link

Summary of Changes

Hello, 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

  • New Integration: User Registration & Membership: A new integration for 'User Registration & Membership' has been added, allowing users to connect their forms and manage user registrations directly through the system.
  • Backend API and Logic: New backend PHP files provide the core functionality for this integration, including API routes for authorization, fetching forms, retrieving form fields, and executing user creation actions.
  • Frontend User Interface: Dedicated React components have been introduced to the frontend, enabling users to authorize, configure, and map fields for the 'User Registration & Membership' integration within the application's UI.
  • Improved Field Value Handling: The Common.php utility now includes a check for object types when replacing field values, enhancing robustness in data processing.
Changelog
  • backend/Actions/UserRegistrationMembership/RecordApiHelper.php
    • Added a new class to handle the core logic for User Registration and Membership integration, including checking plugin activation, generating request data, and processing user creation actions via WordPress filters.
  • backend/Actions/UserRegistrationMembership/Routes.php
    • Added new API routes for authorizing the User Registration and Membership integration, refreshing available forms, and fetching fields for a selected form.
  • backend/Actions/UserRegistrationMembership/UserRegistrationMembershipController.php
    • Added a new controller to manage User Registration and Membership integration, providing methods for authorization, fetching forms and their fields, and executing the integration's main logic.
  • backend/Core/Util/AllTriggersName.php
    • Added 'UserRegistrationMembership' to the list of all available triggers.
  • backend/Core/Util/Common.php
    • Modified the replaceFieldWithValueHelper function to include a check for object types in addition to arrays when determining how to replace field values, preventing potential errors.
  • backend/Flow/Flow.php
    • Added a new case to map 'UserRegistration&Membership' to 'UserRegistrationMembership' for proper integration name resolution within the flow execution.
  • frontend/src/Utils/StaticData/tutorialLinks.js
    • Added a new entry for 'userRegistrationMembership' with its corresponding documentation link.
  • frontend/src/Utils/StaticData/webhookIntegrations.js
    • Added 'UserRegistrationMembership' to the customFormIntegrations array.
  • frontend/src/components/AllIntegrations/EditInteg.jsx
    • Added lazy loading for the EditUserRegistrationMembership component.
    • Included EditUserRegistrationMembership in the switch statement to render the correct editing component based on integration type.
  • frontend/src/components/AllIntegrations/IntegInfo.jsx
    • Added lazy loading for the UserRegistrationMembershipAuthorization component.
    • Included UserRegistrationMembershipAuthorization in the switch statement to render the correct authorization component based on integration type.
  • frontend/src/components/AllIntegrations/NewInteg.jsx
    • Added lazy loading for the UserRegistrationMembership component.
    • Included UserRegistrationMembership in the switch statement to render the correct new integration component based on integration type.
  • frontend/src/components/AllIntegrations/SeoPress/SeoPress.jsx
    • Removed the disabled attribute condition seoPressConf.field_map.length < 1 from the 'Next' button.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/EditUserRegistrationMembership.jsx
    • Added a new React component for editing existing User Registration & Membership integrations, including integration name input, component rendering, and save functionality.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembership.jsx
    • Added a new React component for setting up new User Registration & Membership integrations, managing steps, authorization, and configuration.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipActions.jsx
    • Added a new React component for defining actions within the User Registration & Membership integration, currently with commented-out update functionality.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipAuthorization.jsx
    • Added a new React component for handling the authorization process of the User Registration & Membership integration, including displaying tutorial links and an authorization button.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipCommonFunc.js
    • Added a new JavaScript file containing utility functions for the User Registration & Membership integration, such as input handling, authorization, refreshing forms and fields, generating field maps, and validating mapped fields.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipFieldMap.jsx
    • Added a new React component for mapping form fields to User Registration & Membership fields, supporting custom values and displaying required fields.
  • frontend/src/components/AllIntegrations/UserRegistrationMembership/UserRegistrationMembershipIntegLayout.jsx
    • Added a new React component providing the layout for User Registration & Membership integration settings, including action selection, form selection, and field mapping.
  • frontend/src/components/Flow/New/SelectAction.jsx
    • Added 'User Registration & Membership' to the list of selectable actions for new integrations, including its logo reference.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@RishadAlam RishadAlam merged commit cca2512 into main Mar 16, 2026
1 check failed
@RishadAlam RishadAlam deleted the feat/user-registration branch March 17, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants