8bbae06b0655a362e97f730400b738a05633fb96
Models: - familylaw.party — party to a matter (client/opposing/opposing counsel/other) - familylaw.child — minor child with DOB constraint (rejects future + >25 years) - familylaw.issue — contested issue (time-sharing, support, equitable distribution, etc.) - familylaw.proceeding — unit of legal action; auto-created on every case create() - familylaw.conflict.hit — records of conflict screening hits for attorney review - familylaw.intake.wizard — multi-step intake questionnaire (TransientModel) familylaw.case updates: - case_number (indexed, unique, searchable), county, is_emergency, urgency_notes - One2many to party/child/issue/proceeding/conflict_hit - create() override: auto-opens an initial proceeding typed by case_type - action_run_conflict_screening(): full-DB party + client name search; never auto-clears gate Intake wizard (conditional strictness): - Triage step first; urgency screen selects emergency vs. standard path - Emergency fast-path: create on minimum facts (who + urgency flags), defer rest - Standard strict path: matter name + client + case type + county required - Modification branch (step 3) for support/parenting/alimony modifications - Caller concern logged on case as attorney question; software never answers it - Runs conflict screening on completion Views: party/child/issue/proceeding/intake form+list+inline views; case form now shows emergency banner, conflict warning, notebook tabs for all related records; search extended to find by party name, child name, case_number (filter_domain). Menu: "New Intake" entry launches the wizard. Security: access rules for all 5 new models + intake wizard (base.group_user). Tests (familylaw_step2): 34 tests across 4 classes covering: - Initial proceeding creation and type mapping - Multiple independent proceedings per case - DOB validation (future + implausible age) - Search by party name / child name / case_number - Conflict screening (finds client match, does not auto-clear, hit count, no false positives for unrelated parties) - Standard path strict validation (missing name/type/county/client each rejected) - Emergency path (creates case on caller name alone, sets is_emergency, captures notes) - Caller concern logged on chatter, never answered by software Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Python
100%