Files
famlaw/activeblue_familylaw/security/ir.model.access.csv
tocmo0nlord 7bc0cc8554 Add conflict-of-interest check engine; gate stage advancement at Intake
- New fl.conflict.check model: screens petitioner/respondent/party_ids names
  against parties on other open cases (exact partner match + difflib fuzzy
  match at 0.85 threshold); skips folded/closed stages
- Runs automatically as the first action in fl.case.create; logs conflicts to
  chatter with matched-case detail and never silently passes
- fl.case gains conflict_check_passed/conflict_check_id/conflict_check_ids;
  write() blocks advancing stage_id past Intake until the check passes
- Admin-only action_override requires a written justification, stamps user/date,
  and flips conflict_check_passed True with a chatter audit entry
- Add conflict check form/tree/search views, action, Cases sub-menu item,
  case form banner + Run Conflict Check button, and Kanban conflict badge
- ACL entries for fl.conflict.check (admin full, paralegal no-delete)
- Finish Claude migration cleanup in fl_analysis.py (model_used default,
  docstring/help text)
- Add .gitignore for Python artifacts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 18:19:32 +00:00

12 KiB

1id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2# ── fl.case.stage ─────────────────────────────────────────────────────────────
3access_fl_case_stage_admin,fl.case.stage admin,model_fl_case_stage,group_admin,1,1,1,1
4access_fl_case_stage_paralegal,fl.case.stage paralegal,model_fl_case_stage,group_paralegal,1,0,0,0
5access_fl_case_stage_petitioner,fl.case.stage petitioner,model_fl_case_stage,group_portal_petitioner,1,0,0,0
6# ── fl.case ──────────────────────────────────────────────────────────────────
7access_fl_case_admin,fl.case admin,model_fl_case,group_admin,1,1,1,1
8access_fl_case_paralegal,fl.case paralegal,model_fl_case,group_paralegal,1,1,1,0
9access_fl_case_petitioner,fl.case petitioner portal,model_fl_case,group_portal_petitioner,1,1,0,0
10access_fl_case_respondent,fl.case respondent portal,model_fl_case,group_portal_respondent,1,0,0,0
11# ── fl.party ─────────────────────────────────────────────────────────────────
12access_fl_party_admin,fl.party admin,model_fl_party,group_admin,1,1,1,1
13access_fl_party_paralegal,fl.party paralegal,model_fl_party,group_paralegal,1,1,1,0
14access_fl_party_petitioner,fl.party petitioner portal,model_fl_party,group_portal_petitioner,1,1,0,0
15access_fl_party_respondent,fl.party respondent portal,model_fl_party,group_portal_respondent,1,1,0,0
16# ── fl.income.source ─────────────────────────────────────────────────────────
17access_fl_income_source_admin,fl.income.source admin,model_fl_income_source,group_admin,1,1,1,1
18access_fl_income_source_paralegal,fl.income.source paralegal,model_fl_income_source,group_paralegal,1,1,1,0
19access_fl_income_source_petitioner,fl.income.source petitioner,model_fl_income_source,group_portal_petitioner,1,1,0,0
20# ── fl.child ─────────────────────────────────────────────────────────────────
21access_fl_child_admin,fl.child admin,model_fl_child,group_admin,1,1,1,1
22access_fl_child_paralegal,fl.child paralegal,model_fl_child,group_paralegal,1,1,1,0
23access_fl_child_petitioner,fl.child petitioner portal,model_fl_child,group_portal_petitioner,1,1,0,0
24access_fl_child_respondent,fl.child respondent portal,model_fl_child,group_portal_respondent,1,0,0,0
25# ── fl.support.calculation ───────────────────────────────────────────────────
26access_fl_support_calc_admin,fl.support.calculation admin,model_fl_support_calculation,group_admin,1,1,1,1
27access_fl_support_calc_paralegal,fl.support.calculation paralegal,model_fl_support_calculation,group_paralegal,1,1,1,0
28access_fl_support_calc_petitioner,fl.support.calculation petitioner,model_fl_support_calculation,group_portal_petitioner,1,1,1,0
29access_fl_support_calc_respondent,fl.support.calculation respondent,model_fl_support_calculation,group_portal_respondent,1,0,0,0
30# ── fl.support.schedule.entry ────────────────────────────────────────────────
31access_fl_support_schedule_admin,fl.support.schedule.entry admin,model_fl_support_schedule_entry,group_admin,1,1,1,1
32access_fl_support_schedule_paralegal,fl.support.schedule.entry paralegal,model_fl_support_schedule_entry,group_paralegal,1,0,0,0
33access_fl_support_schedule_petitioner,fl.support.schedule.entry petitioner,model_fl_support_schedule_entry,group_portal_petitioner,1,0,0,0
34# ── fl.statute ───────────────────────────────────────────────────────────────
35access_fl_statute_admin,fl.statute admin,model_fl_statute,group_admin,1,1,1,1
36access_fl_statute_paralegal,fl.statute paralegal,model_fl_statute,group_paralegal,1,0,0,0
37access_fl_statute_petitioner,fl.statute petitioner,model_fl_statute,group_portal_petitioner,1,0,0,0
38# ── fl.issue.tag ─────────────────────────────────────────────────────────────
39access_fl_issue_tag_admin,fl.issue.tag admin,model_fl_issue_tag,group_admin,1,1,1,1
40access_fl_issue_tag_paralegal,fl.issue.tag paralegal,model_fl_issue_tag,group_paralegal,1,0,0,0
41access_fl_issue_tag_petitioner,fl.issue.tag petitioner,model_fl_issue_tag,group_portal_petitioner,1,0,0,0
42# ── fl.deadline ──────────────────────────────────────────────────────────────
43access_fl_deadline_admin,fl.deadline admin,model_fl_deadline,group_admin,1,1,1,1
44access_fl_deadline_paralegal,fl.deadline paralegal,model_fl_deadline,group_paralegal,1,1,1,0
45access_fl_deadline_petitioner,fl.deadline petitioner,model_fl_deadline,group_portal_petitioner,1,0,0,0
46# ── fl.hearing ───────────────────────────────────────────────────────────────
47access_fl_hearing_admin,fl.hearing admin,model_fl_hearing,group_admin,1,1,1,1
48access_fl_hearing_paralegal,fl.hearing paralegal,model_fl_hearing,group_paralegal,1,1,1,0
49access_fl_hearing_petitioner,fl.hearing petitioner,model_fl_hearing,group_portal_petitioner,1,0,0,0
50# ── fl.deposition ────────────────────────────────────────────────────────────
51access_fl_deposition_admin,fl.deposition admin,model_fl_deposition,group_admin,1,1,1,1
52access_fl_deposition_paralegal,fl.deposition paralegal,model_fl_deposition,group_paralegal,1,1,1,0
53access_fl_deposition_petitioner,fl.deposition petitioner,model_fl_deposition,group_portal_petitioner,1,0,0,0
54# ── fl.discovery ─────────────────────────────────────────────────────────────
55access_fl_discovery_admin,fl.discovery admin,model_fl_discovery,group_admin,1,1,1,1
56access_fl_discovery_paralegal,fl.discovery paralegal,model_fl_discovery,group_paralegal,1,1,1,0
57access_fl_discovery_petitioner,fl.discovery petitioner,model_fl_discovery,group_portal_petitioner,1,0,0,0
58# ── fl.document ──────────────────────────────────────────────────────────────
59access_fl_document_admin,fl.document admin,model_fl_document,group_admin,1,1,1,1
60access_fl_document_paralegal,fl.document paralegal,model_fl_document,group_paralegal,1,1,1,0
61access_fl_document_petitioner,fl.document petitioner,model_fl_document,group_portal_petitioner,1,0,0,0
62# ── fl.caselaw ───────────────────────────────────────────────────────────────
63access_fl_caselaw_admin,fl.caselaw admin,model_fl_caselaw,group_admin,1,1,1,1
64access_fl_caselaw_paralegal,fl.caselaw paralegal,model_fl_caselaw,group_paralegal,1,1,0,0
65access_fl_caselaw_petitioner,fl.caselaw petitioner,model_fl_caselaw,group_portal_petitioner,1,0,0,0
66# ── fl.analysis ──────────────────────────────────────────────────────────────
67access_fl_analysis_admin,fl.analysis admin,model_fl_analysis,group_admin,1,1,1,1
68access_fl_analysis_paralegal,fl.analysis paralegal,model_fl_analysis,group_paralegal,1,0,0,0
69access_fl_analysis_petitioner,fl.analysis petitioner,model_fl_analysis,group_portal_petitioner,1,0,0,0
70# ── fl.argument ──────────────────────────────────────────────────────────────
71access_fl_argument_admin,fl.argument admin,model_fl_argument,group_admin,1,1,1,1
72access_fl_argument_paralegal,fl.argument paralegal,model_fl_argument,group_paralegal,1,1,0,0
73# ── fl.fee.waiver ────────────────────────────────────────────────────────────
74access_fl_fee_waiver_admin,fl.fee.waiver admin,model_fl_fee_waiver,group_admin,1,1,1,1
75access_fl_fee_waiver_paralegal,fl.fee.waiver paralegal,model_fl_fee_waiver,group_paralegal,1,1,1,0
76access_fl_fee_waiver_petitioner,fl.fee.waiver petitioner,model_fl_fee_waiver,group_portal_petitioner,1,1,1,0
77# ── fl.income.withholding ─────────────────────────────────────────────────────
78access_fl_income_withholding_admin,fl.income.withholding admin,model_fl_income_withholding,group_admin,1,1,1,1
79access_fl_income_withholding_paralegal,fl.income.withholding paralegal,model_fl_income_withholding,group_paralegal,1,1,1,0
80access_fl_income_withholding_petitioner,fl.income.withholding petitioner,model_fl_income_withholding,group_portal_petitioner,1,0,0,0
81# ── fl.conflict.check ────────────────────────────────────────────────────────
82access_fl_conflict_check_admin,fl.conflict.check admin,model_fl_conflict_check,group_admin,1,1,1,1
83access_fl_conflict_check_paralegal,fl.conflict.check paralegal,model_fl_conflict_check,group_paralegal,1,1,1,0
84# ── fl.intake.wizard ─────────────────────────────────────────────────────────
85access_fl_intake_wizard_admin,fl.intake.wizard admin,model_fl_intake_wizard,group_admin,1,1,1,1
86access_fl_intake_wizard_paralegal,fl.intake.wizard paralegal,model_fl_intake_wizard,group_paralegal,1,1,1,1
87# ── fl.analysis.wizard ───────────────────────────────────────────────────────
88access_fl_analysis_wizard_admin,fl.analysis.wizard admin,model_fl_analysis_wizard,group_admin,1,1,1,1
89# ── fl.generate.packet.wizard ────────────────────────────────────────────────
90access_fl_generate_packet_wizard_admin,fl.generate.packet.wizard admin,model_fl_generate_packet_wizard,group_admin,1,1,1,1
91access_fl_generate_packet_wizard_paralegal,fl.generate.packet.wizard paralegal,model_fl_generate_packet_wizard,group_paralegal,1,1,1,1
92# ── fl.discovery.suggest.wizard ──────────────────────────────────────────────
93access_fl_discovery_suggest_wizard_admin,fl.discovery.suggest.wizard admin,model_fl_discovery_suggest_wizard,group_admin,1,1,1,1
94access_fl_discovery_suggest_wizard_paralegal,fl.discovery.suggest.wizard paralegal,model_fl_discovery_suggest_wizard,group_paralegal,1,1,1,1
95# ── fl.discovery.suggest.line ────────────────────────────────────────────────
96access_fl_discovery_suggest_line_admin,fl.discovery.suggest.line admin,model_fl_discovery_suggest_line,group_admin,1,1,1,1
97access_fl_discovery_suggest_line_paralegal,fl.discovery.suggest.line paralegal,model_fl_discovery_suggest_line,group_paralegal,1,1,1,1