Skip to content

Conversation

@polypixeldev
Copy link
Member

@polypixeldev polypixeldev commented Nov 4, 2025

Summary of the problem

The logic was starting to get a little confusing with signees being a different column than role, but signees must be a manager and there must be at least 1 signee per organization. Since roles are now fully shipped, it makes sense to make signees be an owner role that is above all other roles.

Closes #12012

Describe your changes

This PR does a few things:

  • Adds the owner role to the role enum
  • Adds the owner role to the invite form, but only to admins
  • Replaces all references to the is_signee column on OrganizerPosition and OrganizerPositionInvite to reference the owner role
  • Adds a one time job OneTimeJobs::BackfillOwners to set each signee's role to owner

When this PR is merged:
Run OneTimeJobs::BackfillOwners.perform

Next PRs:

  1. Drop the is_signee column on OrganizerPosition and OrganizerPositionInvite
  2. Update policies to only require an OPDR when the acting user is below manager or when removing an owner

Note: While users can be promoted to the Owner role by an admin after accepting their invite to an organization, this will not automatically send them the contract. The best way for this to work might be to store organizer position roles as manager at first, and then promote to owner once the contract is signed. This should be considered when revamping contracts in the new onboarding flow.

Invite form:
image

@polypixeldev polypixeldev requested review from a team as code owners November 4, 2025 03:36

organizer_position&.update!(fiscal_sponsorship_contract: contract)
organizer_position&.update!(role: :owner, fiscal_sponsorship_contract: contract)
update!(role: :owner)
Copy link
Member

Choose a reason for hiding this comment

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

Disallow sending contracts to manager. Instead, the UI should allow you to change their role to owner; and as a result, a contract is sent.

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.

[Organizer Position] Add Owner role

3 participants