New ProgramApprover model by SC Groups & Programs #3376
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal here is to replace
ProjectTypeFinancialApprover
with one that is generic for all groups not just finance.For example, we also have certain field approvers for internships & and consultant approvers for momentum.
I'm not exactly sure that the our organizational groups (
Business::Group
) capture this though.So many this group enum needs to be different. Like describing some business concept/process.
Anyways the schema is like this:
Project.approvers
are all global approvers that match the project's program/type.Project.approver
is the approver for the current user, if any.Project.isFinancialApprover
is if the current user is an approver for the project type with the Finance group. Since this is a property it will be selected with*
allowing the app to somewhat transparently get this auth info for our policy calculations.This is actually on any ContextAware object, so there's also
Engagement.isFinancialApprover
, etc.