Add ability to track when MR-level rules override project-level rules
Tracks which project-level rule an MR-level rule was derived from.
- Adds "Reset to project defaults" functionality
- Showing users when they've customised a rule
- Security policy synchronization (
reset_required_approvalsmethod)
Requirements (validate these during implementation and adjust as needed):
- Add to
MergeRequests::ApprovalRulemodel:- Add
belongs_to :source_ruleassociation (self-referential, optional)class_name: 'MergeRequests::ApprovalRule'optional: true
- Implement
overridden?method- Returns
trueifsource_rule.present?
- Returns
- Update
hook_attrsmethod to include:modified_from_project_rule: overridden?
- Add
Reference: v2 Approval Rules POC
Edited by Gavin Hinfey