Phase 1: core models, security, seed data, and backend views
Implements full Phase 1 of the activeblue_familylaw Odoo 18 module: - 17 Python models (fl.case, fl.party, fl.child, fl.support.calculation, fl.fee.waiver, fl.income.withholding, fl.deadline, fl.hearing, fl.deposition, fl.discovery, fl.document, fl.caselaw, fl.analysis, fl.ai.engine, fl.argument, fl.statute, fl.issue.tag) + hr.expense extension - 3 wizard stubs (intake, analysis, generate-packet) - Security: 4 groups (admin/paralegal/portal-petitioner/portal-respondent) + record rules scoping portal users to their own cases - Seed data: issue tags, FL statutes, FL DCF support schedule, ir.sequence - 13 backend view XML files with FL 61.30 worksheet, fee waiver eligibility banner, DV safety resources, emancipation alerts - Static CSS/JS stubs for Phase 6 portal Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
57
activeblue_familylaw/views/fl_analysis_views.xml
Normal file
57
activeblue_familylaw/views/fl_analysis_views.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_analysis_tree" model="ir.ui.view">
|
||||
<field name="name">fl.analysis.tree</field>
|
||||
<field name="model">fl.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="AI Analyses">
|
||||
<field name="case_id"/>
|
||||
<field name="analysis_date"/>
|
||||
<field name="model_used"/>
|
||||
<field name="attorney_referral_flag"/>
|
||||
<field name="confidence_level"/>
|
||||
<field name="case_complexity"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_analysis_form" model="ir.ui.view">
|
||||
<field name="name">fl.analysis.form</field>
|
||||
<field name="model">fl.analysis</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="AI Case Analysis">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="analysis_date"/>
|
||||
<field name="model_used"/>
|
||||
<field name="state"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="attorney_referral_flag"/>
|
||||
<field name="confidence_level"/>
|
||||
<field name="case_complexity"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="alert alert-danger" role="alert"
|
||||
attrs="{'invisible': [('attorney_referral_flag', '=', False)]}">
|
||||
<strong>⚠️ ATTORNEY REFERRAL RECOMMENDED</strong><br/>
|
||||
<field name="attorney_referral_reason" readonly="1" nolabel="1"/>
|
||||
</div>
|
||||
<separator string="Plain English Summary (English)"/>
|
||||
<field name="plain_english_summary" readonly="1" nolabel="1"/>
|
||||
<separator string="Plain English Summary (Español)"/>
|
||||
<field name="plain_english_summary_es" readonly="1" nolabel="1"/>
|
||||
<separator string="Matched Case Law"/>
|
||||
<field name="matched_caselaw_ids" widget="many2many_tags" readonly="1" nolabel="1"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
388
activeblue_familylaw/views/fl_case_views.xml
Normal file
388
activeblue_familylaw/views/fl_case_views.xml
Normal file
@@ -0,0 +1,388 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
FORM VIEW
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="view_fl_case_form" model="ir.ui.view">
|
||||
<field name="name">fl.case.form</field>
|
||||
<field name="model">fl.case</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Family Law Case">
|
||||
<header>
|
||||
<field name="stage" widget="statusbar"
|
||||
statusbar_visible="intake,preparation,filed,service_complete,discovery,mediation,hearing_scheduled,order_entered,closed"/>
|
||||
<button name="action_run_ai_analysis" string="Run AI Analysis"
|
||||
type="object" class="oe_highlight"
|
||||
groups="activeblue_familylaw.group_admin,activeblue_familylaw.group_paralegal"/>
|
||||
<button name="action_open_support_calculator" string="Open Calculator"
|
||||
type="object"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['modification','dissolution_children','paternity','custody_modification'])]}"/>
|
||||
</header>
|
||||
|
||||
<!-- Attorney Referral Banner -->
|
||||
<div class="alert alert-danger" role="alert"
|
||||
attrs="{'invisible': [('attorney_referral_flag', '=', False)]}">
|
||||
<strong>⚠️ ATTORNEY REFERRAL RECOMMENDED</strong>
|
||||
— This case has been flagged as complex or high-risk for pro se representation.
|
||||
Strongly consider consulting with a family law attorney.
|
||||
<br/>Legal Services of Greater Miami: (305) 576-0080
|
||||
</div>
|
||||
|
||||
<!-- DV Safety Note -->
|
||||
<field name="dv_safety_note" widget="html"
|
||||
attrs="{'invisible': [('domestic_violence_flag', '=', False)]}"/>
|
||||
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button class="oe_stat_button" type="object"
|
||||
name="action_view_tasks" icon="fa-tasks">
|
||||
<field string="Tasks" name="task_count" widget="statinfo"/>
|
||||
</button>
|
||||
<button class="oe_stat_button" type="object"
|
||||
name="action_open_support_calculator" icon="fa-calculator"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['modification','dissolution_children','paternity','custody_modification'])]}">
|
||||
<span class="o_stat_text">Calculator</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="oe_title">
|
||||
<h1>
|
||||
<field name="name" readonly="1"/>
|
||||
</h1>
|
||||
<h2>
|
||||
<field name="case_type" options="{'no_create': True}"/>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<group>
|
||||
<group string="Case Identity">
|
||||
<field name="court_case_number"
|
||||
placeholder="e.g. 2025-DR-012345-01"/>
|
||||
<field name="circuit"/>
|
||||
<field name="county"/>
|
||||
<field name="division"/>
|
||||
<field name="judge_id"/>
|
||||
</group>
|
||||
<group string="Key Dates">
|
||||
<field name="filing_date"/>
|
||||
<field name="service_date"/>
|
||||
<field name="last_order_date"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['modification','alimony_modification','custody_modification'])]}"/>
|
||||
<field name="marriage_date"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['dissolution_children','dissolution_no_children','alimony_modification'])]}"/>
|
||||
<field name="years_of_marriage"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['dissolution_children','dissolution_no_children','alimony_modification'])]}"/>
|
||||
<field name="retroactivity_date" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<notebook>
|
||||
|
||||
<!-- TAB 1: Parties & Safety -->
|
||||
<page string="Parties" name="parties">
|
||||
<group>
|
||||
<group string="Petitioner">
|
||||
<field name="petitioner_id"/>
|
||||
<field name="petitioner_attorney_id"
|
||||
placeholder="Leave blank if pro se"/>
|
||||
<field name="petitioner_fl_resident_since"/>
|
||||
<field name="residency_warning" readonly="1"
|
||||
attrs="{'invisible': [('petitioner_fl_resident_since', '=', False)]}"/>
|
||||
</group>
|
||||
<group string="Respondent">
|
||||
<field name="respondent_id"/>
|
||||
<field name="respondent_attorney_id"/>
|
||||
<field name="respondent_has_counsel" readonly="1"/>
|
||||
<field name="respondent_answered"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Safety Flags">
|
||||
<field name="domestic_violence_flag"/>
|
||||
<field name="dv_injunction_active"
|
||||
attrs="{'invisible': [('domestic_violence_flag', '=', False)]}"/>
|
||||
</group>
|
||||
<separator string="Party Details (Income, Employment, Service)"/>
|
||||
<field name="party_ids">
|
||||
<tree string="Parties" editable="bottom">
|
||||
<field name="partner_id"/>
|
||||
<field name="role"/>
|
||||
<field name="employment_type"/>
|
||||
<field name="gross_monthly_income"/>
|
||||
<field name="net_monthly_income" readonly="1"/>
|
||||
<field name="income_imputed"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
<!-- TAB 2: Children -->
|
||||
<page string="Children" name="children"
|
||||
attrs="{'invisible': [('case_type', 'in', ['dissolution_no_children','alimony_modification'])]}">
|
||||
<group>
|
||||
<field name="children_count" readonly="1"/>
|
||||
<field name="has_minor_children" readonly="1"/>
|
||||
</group>
|
||||
<separator string="Parenting Class (FL 61.21)"
|
||||
attrs="{'invisible': [('parenting_class_required', '=', False)]}"/>
|
||||
<group attrs="{'invisible': [('parenting_class_required', '=', False)]}">
|
||||
<group>
|
||||
<field name="petitioner_parenting_class_done"/>
|
||||
<field name="petitioner_parenting_class_date"
|
||||
attrs="{'invisible': [('petitioner_parenting_class_done', '=', False)]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="respondent_parenting_class_done"/>
|
||||
<field name="respondent_parenting_class_date"
|
||||
attrs="{'invisible': [('respondent_parenting_class_done', '=', False)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="parenting_class_warning" readonly="1"
|
||||
attrs="{'invisible': [('parenting_class_required', '=', False)]}"/>
|
||||
<separator string="Children on Case"/>
|
||||
<field name="child_ids">
|
||||
<tree string="Children" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="date_of_birth"/>
|
||||
<field name="age" readonly="1"/>
|
||||
<field name="emancipation_date" readonly="1"/>
|
||||
<field name="approaching_emancipation" readonly="1"/>
|
||||
<field name="emancipated" readonly="1"/>
|
||||
<field name="support_amount"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
<!-- TAB 3: Support & Threshold -->
|
||||
<page string="Support Calculation" name="support"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['modification','dissolution_children','paternity','custody_modification'])]}">
|
||||
<group string="Current Order">
|
||||
<field name="current_order_amount"/>
|
||||
<field name="current_order_per_child"/>
|
||||
<field name="current_order_total" readonly="1"/>
|
||||
</group>
|
||||
<group string="FL 61.30 Calculation">
|
||||
<field name="support_calc_id"/>
|
||||
<field name="calculated_support" readonly="1"/>
|
||||
<field name="support_difference" readonly="1"/>
|
||||
<field name="support_difference_pct" readonly="1"
|
||||
string="Difference %" widget="percentage"/>
|
||||
</group>
|
||||
<group string="Modification Threshold Test (FL 61.30(1)(b))"
|
||||
attrs="{'invisible': [('case_type', '!=', 'modification')]}">
|
||||
<field name="threshold_met" readonly="1"/>
|
||||
<field name="substantial_change_basis"/>
|
||||
<field name="substantial_change_detail"/>
|
||||
</group>
|
||||
<field name="threshold_result" widget="html" readonly="1"
|
||||
attrs="{'invisible': [('case_type', '!=', 'modification')]}"/>
|
||||
</page>
|
||||
|
||||
<!-- TAB 4: Timesharing -->
|
||||
<page string="Timesharing" name="timesharing"
|
||||
attrs="{'invisible': [('case_type', 'not in', ['modification','dissolution_children','paternity','custody_modification'])]}">
|
||||
<group>
|
||||
<group>
|
||||
<field name="timesharing_changed"/>
|
||||
<field name="petitioner_overnights"/>
|
||||
<field name="respondent_overnights" readonly="1"/>
|
||||
<field name="petitioner_timesharing_pct" readonly="1" string="Petitioner %"/>
|
||||
<field name="substantial_timesharing_applies" readonly="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="mediator_id"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
|
||||
<!-- TAB 5: Deadlines -->
|
||||
<page string="Deadlines" name="deadlines">
|
||||
<group>
|
||||
<field name="next_deadline" readonly="1"/>
|
||||
<field name="next_deadline_label" readonly="1" string="Next Deadline"/>
|
||||
<field name="overdue_deadline_count" readonly="1"/>
|
||||
<field name="discovery_cutoff_date" readonly="1"/>
|
||||
</group>
|
||||
<field name="deadline_ids">
|
||||
<tree string="Deadlines" decoration-danger="is_overdue == True"
|
||||
decoration-warning="days_until_due <= 7 and days_until_due >= 0"
|
||||
decoration-muted="completed == True">
|
||||
<field name="name"/>
|
||||
<field name="deadline_type"/>
|
||||
<field name="due_date"/>
|
||||
<field name="days_until_due"/>
|
||||
<field name="statute_reference"/>
|
||||
<field name="completed"/>
|
||||
<field name="is_overdue" readonly="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
<!-- TAB 6: Hearings, Discovery, Depositions -->
|
||||
<page string="Hearings" name="hearings">
|
||||
<field name="next_hearing_date" readonly="1"/>
|
||||
<field name="hearing_ids">
|
||||
<tree string="Hearings" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="hearing_type"/>
|
||||
<field name="hearing_date"/>
|
||||
<field name="location"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
<!-- TAB 7: AI Analysis -->
|
||||
<page string="AI Analysis" name="ai">
|
||||
<group>
|
||||
<field name="attorney_referral_flag" readonly="1"/>
|
||||
<field name="fee_waiver_eligible" readonly="1"/>
|
||||
</group>
|
||||
<separator string="AI Case Summary (English)"/>
|
||||
<field name="ai_plain_english" readonly="1" nolabel="1"
|
||||
placeholder="Run AI Analysis to generate summary"/>
|
||||
<separator string="AI Case Summary (Español)"/>
|
||||
<field name="ai_plain_english_es" readonly="1" nolabel="1"/>
|
||||
<separator string="All Analyses"/>
|
||||
<field name="analysis_ids">
|
||||
<tree string="Analyses">
|
||||
<field name="analysis_date"/>
|
||||
<field name="model_used"/>
|
||||
<field name="attorney_referral_flag"/>
|
||||
<field name="confidence_level"/>
|
||||
<field name="case_complexity"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
|
||||
<!-- TAB 8: Fee Waiver & Expenses -->
|
||||
<page string="Fees & Expenses" name="fees">
|
||||
<group string="Fee Waiver (FL 57.082)">
|
||||
<field name="fee_waiver_eligible" readonly="1"/>
|
||||
<field name="fee_waiver_id"/>
|
||||
<button name="action_create_fee_waiver"
|
||||
string="Create Fee Waiver Application"
|
||||
type="object" class="btn-secondary"
|
||||
attrs="{'invisible': [('fee_waiver_id', '!=', False)]}"/>
|
||||
</group>
|
||||
<group string="Post-Order">
|
||||
<field name="new_order_amount"/>
|
||||
<field name="new_order_date"/>
|
||||
<field name="income_withholding_id"/>
|
||||
</group>
|
||||
<separator string="Case Expenses"/>
|
||||
<field name="total_expenses" readonly="1"/>
|
||||
</page>
|
||||
|
||||
</notebook>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="activity_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
TREE VIEW
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="view_fl_case_tree" model="ir.ui.view">
|
||||
<field name="name">fl.case.tree</field>
|
||||
<field name="model">fl.case</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Family Law Cases"
|
||||
decoration-danger="overdue_deadline_count > 0"
|
||||
decoration-warning="attorney_referral_flag == True">
|
||||
<field name="name"/>
|
||||
<field name="case_type"/>
|
||||
<field name="court_case_number"/>
|
||||
<field name="petitioner_id"/>
|
||||
<field name="respondent_id"/>
|
||||
<field name="stage"/>
|
||||
<field name="filing_date"/>
|
||||
<field name="next_deadline"/>
|
||||
<field name="next_deadline_label" string="Next Deadline"/>
|
||||
<field name="overdue_deadline_count" string="Overdue"/>
|
||||
<field name="threshold_met"
|
||||
attrs="{'invisible': [('case_type', '!=', 'modification')]}"/>
|
||||
<field name="attorney_referral_flag" widget="boolean_toggle"/>
|
||||
<field name="domestic_violence_flag" widget="boolean_toggle"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
SEARCH VIEW
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="view_fl_case_search" model="ir.ui.view">
|
||||
<field name="name">fl.case.search</field>
|
||||
<field name="model">fl.case</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Cases">
|
||||
<field name="name" string="Case Reference"/>
|
||||
<field name="court_case_number"/>
|
||||
<field name="petitioner_id"/>
|
||||
<field name="respondent_id"/>
|
||||
<separator/>
|
||||
<filter string="Active Cases" name="active"
|
||||
domain="[('active', '=', True)]"/>
|
||||
<filter string="Intake" name="stage_intake"
|
||||
domain="[('stage', '=', 'intake')]"/>
|
||||
<filter string="Filed" name="stage_filed"
|
||||
domain="[('stage', '=', 'filed')]"/>
|
||||
<filter string="Discovery" name="stage_discovery"
|
||||
domain="[('stage', '=', 'discovery')]"/>
|
||||
<separator/>
|
||||
<filter string="Modification Cases" name="type_modification"
|
||||
domain="[('case_type', '=', 'modification')]"/>
|
||||
<filter string="Dissolution" name="type_dissolution"
|
||||
domain="[('case_type', 'in', ['dissolution_children','dissolution_no_children'])]"/>
|
||||
<separator/>
|
||||
<filter string="Has Overdue Deadlines" name="overdue"
|
||||
domain="[('overdue_deadline_count', '>', 0)]"/>
|
||||
<filter string="Attorney Referral Flagged" name="attorney_referral"
|
||||
domain="[('attorney_referral_flag', '=', True)]"/>
|
||||
<filter string="Domestic Violence" name="dv"
|
||||
domain="[('domestic_violence_flag', '=', True)]"/>
|
||||
<filter string="Threshold Met" name="threshold_met"
|
||||
domain="[('threshold_met', '=', True)]"/>
|
||||
<separator/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Stage" name="group_stage" context="{'group_by': 'stage'}"/>
|
||||
<filter string="Case Type" name="group_type" context="{'group_by': 'case_type'}"/>
|
||||
<filter string="Filing Date" name="group_date" context="{'group_by': 'filing_date:month'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
ACTIONS
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="action_fl_case_list" model="ir.actions.act_window">
|
||||
<field name="name">Family Law Cases</field>
|
||||
<field name="res_model">fl.case</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_fl_case_search"/>
|
||||
<field name="context">{'search_default_active': 1}</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
No cases yet. Create your first case!
|
||||
</p>
|
||||
<p>Use the intake wizard or create a case directly.</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Intake Wizard Action -->
|
||||
<record id="action_fl_intake_wizard" model="ir.actions.act_window">
|
||||
<field name="name">New Case — Intake</field>
|
||||
<field name="res_model">fl.intake.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
105
activeblue_familylaw/views/fl_caselaw_views.xml
Normal file
105
activeblue_familylaw/views/fl_caselaw_views.xml
Normal file
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_caselaw_tree" model="ir.ui.view">
|
||||
<field name="name">fl.caselaw.tree</field>
|
||||
<field name="model">fl.caselaw</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Case Law Library">
|
||||
<field name="short_name"/>
|
||||
<field name="year"/>
|
||||
<field name="court"/>
|
||||
<field name="favorable_to"/>
|
||||
<field name="issue_tag_ids" widget="many2many_tags"/>
|
||||
<field name="superseded_by_2023_reform"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_caselaw_form" model="ir.ui.view">
|
||||
<field name="name">fl.caselaw.form</field>
|
||||
<field name="model">fl.caselaw</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Case Law">
|
||||
<sheet>
|
||||
<div class="alert alert-warning" role="alert"
|
||||
attrs="{'invisible': [('superseded_by_2023_reform', '=', False)]}">
|
||||
<strong>⚠️ NOTE:</strong> This case involves permanent alimony
|
||||
which was <strong>eliminated by HB 1409 (effective July 1, 2023)</strong>.
|
||||
Pre-2023 permanent alimony holdings may not apply to new cases.
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="short_name"/>
|
||||
<field name="citation"/>
|
||||
<field name="court"/>
|
||||
<field name="year"/>
|
||||
<field name="favorable_to"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="statute_ref_ids" widget="many2many_tags"/>
|
||||
<field name="issue_tag_ids" widget="many2many_tags"/>
|
||||
<field name="full_text_url" widget="url"/>
|
||||
<field name="google_scholar_url" widget="url"/>
|
||||
<field name="superseded_by_2023_reform"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Holding">
|
||||
<field name="holding" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Facts Summary">
|
||||
<field name="facts_summary" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Why It Matters for Pro Se Litigants">
|
||||
<field name="relevance" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Plain English (EN)">
|
||||
<field name="plain_english" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Plain English (ES)">
|
||||
<field name="plain_english_es" nolabel="1"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_caselaw_search" model="ir.ui.view">
|
||||
<field name="name">fl.caselaw.search</field>
|
||||
<field name="model">fl.caselaw</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Case Law">
|
||||
<field name="short_name"/>
|
||||
<field name="citation"/>
|
||||
<field name="holding"/>
|
||||
<field name="issue_tag_ids"/>
|
||||
<separator/>
|
||||
<filter string="3rd DCA (Miami-Dade)" name="3rd_dca"
|
||||
domain="[('court', '=', '3rd_dca')]"/>
|
||||
<filter string="FL Supreme Court" name="supreme"
|
||||
domain="[('court', '=', 'fl_supreme')]"/>
|
||||
<filter string="Petitioner-Favorable" name="petitioner"
|
||||
domain="[('favorable_to', '=', 'petitioner')]"/>
|
||||
<filter string="Not Superseded" name="current"
|
||||
domain="[('superseded_by_2023_reform', '=', False)]"/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter string="Court" name="group_court"
|
||||
context="{'group_by': 'court'}"/>
|
||||
<filter string="Issue" name="group_issue"
|
||||
context="{'group_by': 'issue_tag_ids'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_caselaw_list" model="ir.actions.act_window">
|
||||
<field name="name">Case Law Library</field>
|
||||
<field name="res_model">fl.caselaw</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_fl_caselaw_search"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
74
activeblue_familylaw/views/fl_child_views.xml
Normal file
74
activeblue_familylaw/views/fl_child_views.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_child_form" model="ir.ui.view">
|
||||
<field name="name">fl.child.form</field>
|
||||
<field name="model">fl.child</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Child">
|
||||
<div class="alert alert-warning" role="alert"
|
||||
attrs="{'invisible': [('approaching_emancipation', '=', False)]}">
|
||||
<strong>⚠️ APPROACHING EMANCIPATION:</strong>
|
||||
<field name="name" readonly="1"/> turns 18 in
|
||||
<field name="days_until_emancipation" readonly="1"/> days
|
||||
(<field name="emancipation_date" readonly="1"/>).
|
||||
File Motion to Modify 60 days before emancipation.
|
||||
</div>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="name"/>
|
||||
<field name="date_of_birth"/>
|
||||
<field name="age" readonly="1"/>
|
||||
<field name="gender"/>
|
||||
<field name="school"/>
|
||||
<field name="medical_provider"/>
|
||||
</group>
|
||||
<group string="Emancipation">
|
||||
<field name="emancipation_date" readonly="1"/>
|
||||
<field name="days_until_emancipation" readonly="1"/>
|
||||
<field name="approaching_emancipation" readonly="1"/>
|
||||
<field name="emancipated" readonly="1"/>
|
||||
<field name="emancipation_alert_sent"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Early Emancipation Factors">
|
||||
<field name="married"/>
|
||||
<field name="active_military"/>
|
||||
<field name="declared_emancipated"/>
|
||||
<field name="emancipation_notes"/>
|
||||
</group>
|
||||
<group string="Support Amounts">
|
||||
<field name="support_amount"/>
|
||||
<field name="health_insurance_premium"/>
|
||||
<field name="childcare_cost"/>
|
||||
<field name="extraordinary_expenses"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_child_tree" model="ir.ui.view">
|
||||
<field name="name">fl.child.tree</field>
|
||||
<field name="model">fl.child</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Children"
|
||||
decoration-warning="approaching_emancipation == True"
|
||||
decoration-muted="emancipated == True">
|
||||
<field name="name"/>
|
||||
<field name="date_of_birth"/>
|
||||
<field name="age"/>
|
||||
<field name="emancipation_date"/>
|
||||
<field name="days_until_emancipation"/>
|
||||
<field name="approaching_emancipation"/>
|
||||
<field name="emancipated"/>
|
||||
<field name="support_amount"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
68
activeblue_familylaw/views/fl_deadline_views.xml
Normal file
68
activeblue_familylaw/views/fl_deadline_views.xml
Normal file
@@ -0,0 +1,68 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_deadline_tree" model="ir.ui.view">
|
||||
<field name="name">fl.deadline.tree</field>
|
||||
<field name="model">fl.deadline</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Deadlines"
|
||||
decoration-danger="is_overdue == True"
|
||||
decoration-warning="days_until_due <= 7 and days_until_due >= 0 and completed == False"
|
||||
decoration-muted="completed == True or waived == True">
|
||||
<field name="case_id"/>
|
||||
<field name="name"/>
|
||||
<field name="deadline_type"/>
|
||||
<field name="due_date"/>
|
||||
<field name="days_until_due"/>
|
||||
<field name="statute_reference"/>
|
||||
<field name="completed"/>
|
||||
<field name="waived"/>
|
||||
<field name="is_overdue" readonly="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_deadline_form" model="ir.ui.view">
|
||||
<field name="name">fl.deadline.form</field>
|
||||
<field name="model">fl.deadline</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Deadline">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="name"/>
|
||||
<field name="deadline_type"/>
|
||||
<field name="due_date"/>
|
||||
<field name="statute_reference"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="anchor_date"/>
|
||||
<field name="offset_days"/>
|
||||
<field name="days_until_due" readonly="1"/>
|
||||
<field name="is_overdue" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="completed"/>
|
||||
<field name="completed_date"
|
||||
attrs="{'invisible': [('completed', '=', False)]}"/>
|
||||
<field name="waived"/>
|
||||
</group>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_deadline_list" model="ir.actions.act_window">
|
||||
<field name="name">Case Deadlines</field>
|
||||
<field name="res_model">fl.deadline</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="domain">[('completed', '=', False), ('waived', '=', False)]</field>
|
||||
<field name="context">{'search_default_group_case': 1}</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
69
activeblue_familylaw/views/fl_deposition_views.xml
Normal file
69
activeblue_familylaw/views/fl_deposition_views.xml
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_deposition_tree" model="ir.ui.view">
|
||||
<field name="name">fl.deposition.tree</field>
|
||||
<field name="model">fl.deposition</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Depositions">
|
||||
<field name="case_id"/>
|
||||
<field name="deponent_id"/>
|
||||
<field name="deponent_type"/>
|
||||
<field name="notice_date"/>
|
||||
<field name="scheduled_date"/>
|
||||
<field name="state"/>
|
||||
<field name="duces_tecum"/>
|
||||
<field name="income_verified"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_deposition_form" model="ir.ui.view">
|
||||
<field name="name">fl.deposition.form</field>
|
||||
<field name="model">fl.deposition</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Deposition">
|
||||
<header>
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="alert alert-info" role="alert">
|
||||
<strong>FL 1.310(b):</strong> Minimum <strong>10 days notice</strong>
|
||||
required before deposition.
|
||||
FL 1.310(d): Maximum <strong>7 hours</strong> per deponent per day.
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="deponent_id"/>
|
||||
<field name="deponent_type"/>
|
||||
<field name="notice_date"/>
|
||||
<field name="scheduled_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="location"/>
|
||||
<field name="max_duration_hours"/>
|
||||
<field name="duces_tecum"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Results">
|
||||
<field name="income_verified"/>
|
||||
<field name="income_verified_amount"
|
||||
attrs="{'invisible': [('income_verified', '=', False)]}"/>
|
||||
<field name="key_findings"/>
|
||||
</group>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_deposition_list" model="ir.actions.act_window">
|
||||
<field name="name">Depositions</field>
|
||||
<field name="res_model">fl.deposition</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
67
activeblue_familylaw/views/fl_discovery_views.xml
Normal file
67
activeblue_familylaw/views/fl_discovery_views.xml
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_discovery_tree" model="ir.ui.view">
|
||||
<field name="name">fl.discovery.tree</field>
|
||||
<field name="model">fl.discovery</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Discovery" decoration-danger="state == 'deficient'"
|
||||
decoration-warning="state == 'served'">
|
||||
<field name="case_id"/>
|
||||
<field name="discovery_type"/>
|
||||
<field name="directed_to"/>
|
||||
<field name="third_party_id"/>
|
||||
<field name="served_date"/>
|
||||
<field name="response_due_date"/>
|
||||
<field name="response_complete"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_discovery_form" model="ir.ui.view">
|
||||
<field name="name">fl.discovery.form</field>
|
||||
<field name="model">fl.discovery</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Discovery Item">
|
||||
<header>
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="discovery_type"/>
|
||||
<field name="directed_to"/>
|
||||
<field name="third_party_id"
|
||||
attrs="{'invisible': [('directed_to', '!=', 'third_party')]}"/>
|
||||
<field name="description"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="served_date"/>
|
||||
<field name="response_due_date" readonly="1"/>
|
||||
<field name="response_received_date"/>
|
||||
<field name="response_complete"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Objections / Deficiencies">
|
||||
<field name="objections_raised"/>
|
||||
<field name="objection_detail"
|
||||
attrs="{'invisible': [('objections_raised', '=', False)]}"/>
|
||||
<field name="deficiency_notice_sent"/>
|
||||
</group>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_discovery_list" model="ir.actions.act_window">
|
||||
<field name="name">Discovery</field>
|
||||
<field name="res_model">fl.discovery</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
87
activeblue_familylaw/views/fl_fee_waiver_views.xml
Normal file
87
activeblue_familylaw/views/fl_fee_waiver_views.xml
Normal file
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_fee_waiver_form" model="ir.ui.view">
|
||||
<field name="name">fl.fee.waiver.form</field>
|
||||
<field name="model">fl.fee.waiver</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Fee Waiver Application (FL 57.082)">
|
||||
<header>
|
||||
<button name="action_submit" string="Submit to Clerk"
|
||||
type="object" class="oe_highlight"
|
||||
attrs="{'invisible': [('state', '!=', 'draft')]}"/>
|
||||
<button name="action_approve" string="Approved"
|
||||
type="object"
|
||||
attrs="{'invisible': [('state', '!=', 'submitted')]}"
|
||||
groups="activeblue_familylaw.group_admin"/>
|
||||
<button name="action_deny" string="Denied"
|
||||
type="object"
|
||||
attrs="{'invisible': [('state', '!=', 'submitted')]}"
|
||||
groups="activeblue_familylaw.group_admin"/>
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="alert alert-success" role="alert"
|
||||
attrs="{'invisible': [('eligible', '=', False)]}">
|
||||
<strong>✅ ELIGIBLE</strong> — <field name="eligibility_note" readonly="1" nolabel="1"/>
|
||||
<br/>This applicant may also qualify for a
|
||||
<strong>free county mediator</strong> under FL 44.108.
|
||||
</div>
|
||||
<div class="alert alert-warning" role="alert"
|
||||
attrs="{'invisible': [('eligible', '=', True)]}">
|
||||
<field name="eligibility_note" readonly="1" nolabel="1"/>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="party_id"/>
|
||||
<field name="application_date"/>
|
||||
</group>
|
||||
<group string="Household & Income">
|
||||
<field name="household_size"/>
|
||||
<field name="monthly_gross_income"/>
|
||||
<field name="annual_gross_income" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="FPL Threshold (FL 57.082)">
|
||||
<field name="fpl_annual" readonly="1" string="100% FPL"/>
|
||||
<field name="fpl_200pct_threshold" readonly="1" string="200% FPL (Threshold)"/>
|
||||
<field name="eligible" readonly="1"/>
|
||||
<field name="mediator_fee_waiver_eligible" readonly="1"/>
|
||||
</group>
|
||||
<group string="Outcome"
|
||||
attrs="{'invisible': [('state', 'in', ['draft', 'submitted'])]}">
|
||||
<field name="approval_date"
|
||||
attrs="{'invisible': [('state', '!=', 'approved')]}"/>
|
||||
<field name="denial_reason"
|
||||
attrs="{'invisible': [('state', '!=', 'denied')]}"/>
|
||||
</group>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_fee_waiver_tree" model="ir.ui.view">
|
||||
<field name="name">fl.fee.waiver.tree</field>
|
||||
<field name="model">fl.fee.waiver</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fee Waivers">
|
||||
<field name="case_id"/>
|
||||
<field name="party_id"/>
|
||||
<field name="household_size"/>
|
||||
<field name="monthly_gross_income"/>
|
||||
<field name="fpl_200pct_threshold"/>
|
||||
<field name="eligible"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
61
activeblue_familylaw/views/fl_hearing_views.xml
Normal file
61
activeblue_familylaw/views/fl_hearing_views.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_hearing_tree" model="ir.ui.view">
|
||||
<field name="name">fl.hearing.tree</field>
|
||||
<field name="model">fl.hearing</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Hearings">
|
||||
<field name="case_id"/>
|
||||
<field name="name"/>
|
||||
<field name="hearing_type"/>
|
||||
<field name="hearing_date"/>
|
||||
<field name="location"/>
|
||||
<field name="courtroom"/>
|
||||
<field name="state"/>
|
||||
<field name="order_entered"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_hearing_form" model="ir.ui.view">
|
||||
<field name="name">fl.hearing.form</field>
|
||||
<field name="model">fl.hearing</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Hearing">
|
||||
<header>
|
||||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="name"/>
|
||||
<field name="hearing_type"/>
|
||||
<field name="hearing_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="location"/>
|
||||
<field name="courtroom"/>
|
||||
<field name="judge_id"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Outcome">
|
||||
<field name="order_entered"/>
|
||||
<field name="outcome"/>
|
||||
</group>
|
||||
<field name="notes"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_hearing_list" model="ir.actions.act_window">
|
||||
<field name="name">Hearings</field>
|
||||
<field name="res_model">fl.hearing</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
126
activeblue_familylaw/views/fl_party_views.xml
Normal file
126
activeblue_familylaw/views/fl_party_views.xml
Normal file
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_party_form" model="ir.ui.view">
|
||||
<field name="name">fl.party.form</field>
|
||||
<field name="model">fl.party</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Party Details">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="role"/>
|
||||
<field name="preferred_language"/>
|
||||
</group>
|
||||
<group string="Employment">
|
||||
<field name="employment_type"/>
|
||||
<field name="employer_name"/>
|
||||
<field name="employer_address"/>
|
||||
<field name="employer_phone"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<notebook>
|
||||
<page string="Income (FL 61.30)">
|
||||
<group>
|
||||
<group string="Gross Income">
|
||||
<field name="gross_monthly_income"/>
|
||||
</group>
|
||||
<group string="Statutory Deductions (FL 61.30(3))">
|
||||
<field name="fed_tax_monthly"/>
|
||||
<field name="fica_ss_monthly" readonly="1"/>
|
||||
<field name="fica_medicare_monthly" readonly="1"/>
|
||||
<field name="mandatory_retirement"/>
|
||||
<field name="mandatory_union_dues"/>
|
||||
<field name="health_insurance_self"/>
|
||||
<field name="other_court_ordered_support"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="net_monthly_income" readonly="1"/>
|
||||
<field name="effective_monthly_income" readonly="1"/>
|
||||
</group>
|
||||
<separator string="Income Sources"/>
|
||||
<field name="income_source_ids">
|
||||
<tree editable="bottom">
|
||||
<field name="source_type"/>
|
||||
<field name="description"/>
|
||||
<field name="monthly_amount"/>
|
||||
<field name="verified"/>
|
||||
<field name="verification_document"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Income Imputation (FL 61.30(2)(b))">
|
||||
<group>
|
||||
<field name="income_imputed"/>
|
||||
<field name="imputed_amount"
|
||||
attrs="{'invisible': [('income_imputed', '=', False)]}"/>
|
||||
<field name="fl_minimum_wage_hourly"/>
|
||||
<field name="fl_minimum_wage_monthly" readonly="1"/>
|
||||
<field name="imputation_basis"
|
||||
attrs="{'invisible': [('income_imputed', '=', False)]}"/>
|
||||
</group>
|
||||
<separator string="Lifestyle Analysis (Barner v. Barner)"/>
|
||||
<group>
|
||||
<field name="lifestyle_inconsistency_flag"/>
|
||||
<field name="lifestyle_notes"
|
||||
attrs="{'invisible': [('lifestyle_inconsistency_flag', '=', False)]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Service & SSN">
|
||||
<group>
|
||||
<group string="Service of Process">
|
||||
<field name="service_address"/>
|
||||
<field name="service_method"/>
|
||||
<field name="process_server_id"
|
||||
attrs="{'invisible': [('service_method', '!=', 'personal')]}"/>
|
||||
</group>
|
||||
<group string="SSN (FL-12.930(a))">
|
||||
<field name="ssn_last4"/>
|
||||
<field name="ssn_notice_filed"/>
|
||||
<field name="ssn_handwritten_confirmed"/>
|
||||
</group>
|
||||
</group>
|
||||
<div class="alert alert-warning" role="alert"
|
||||
attrs="{'invisible': [('service_method', '!=', 'publication')]}">
|
||||
<strong>⚠️ Service by Publication</strong> is the most complex
|
||||
service method and requires a diligent search affidavit.
|
||||
Attorney representation is strongly recommended.
|
||||
</div>
|
||||
</page>
|
||||
<page string="Portal Access">
|
||||
<group>
|
||||
<field name="portal_user_id"/>
|
||||
<field name="portal_access_granted"/>
|
||||
<field name="portal_invite_sent"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_party_tree" model="ir.ui.view">
|
||||
<field name="name">fl.party.tree</field>
|
||||
<field name="model">fl.party</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Parties">
|
||||
<field name="case_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="role"/>
|
||||
<field name="employment_type"/>
|
||||
<field name="gross_monthly_income"/>
|
||||
<field name="net_monthly_income"/>
|
||||
<field name="income_imputed"/>
|
||||
<field name="lifestyle_inconsistency_flag" string="Lifestyle ⚠"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
67
activeblue_familylaw/views/fl_statute_views.xml
Normal file
67
activeblue_familylaw/views/fl_statute_views.xml
Normal file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_fl_statute_tree" model="ir.ui.view">
|
||||
<field name="name">fl.statute.tree</field>
|
||||
<field name="model">fl.statute</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="FL Statute Index">
|
||||
<field name="name"/>
|
||||
<field name="title"/>
|
||||
<field name="category"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_statute_form" model="ir.ui.view">
|
||||
<field name="name">fl.statute.form</field>
|
||||
<field name="model">fl.statute</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="FL Statute">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="title"/>
|
||||
<field name="category"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="url" widget="url"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="description"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_fl_issue_tag_tree" model="ir.ui.view">
|
||||
<field name="name">fl.issue.tag.tree</field>
|
||||
<field name="model">fl.issue.tag</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Issue Tags" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="name_es"/>
|
||||
<field name="case_type"/>
|
||||
<field name="color" widget="color_picker"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_statute_list" model="ir.actions.act_window">
|
||||
<field name="name">FL Statute Index</field>
|
||||
<field name="res_model">fl.statute</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_issue_tag_list" model="ir.actions.act_window">
|
||||
<field name="name">Issue Tags</field>
|
||||
<field name="res_model">fl.issue.tag</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
170
activeblue_familylaw/views/fl_support_views.xml
Normal file
170
activeblue_familylaw/views/fl_support_views.xml
Normal file
@@ -0,0 +1,170 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- ══════<E29590><E29590>══════════════════════════════<E29590><E29590>════════════════
|
||||
FL SUPPORT CALCULATION — FORM
|
||||
══════════════════════════════════════════════<E29590><E29590><EFBFBD>═══════ -->
|
||||
<record id="view_fl_support_calc_form" model="ir.ui.view">
|
||||
<field name="name">fl.support.calculation.form</field>
|
||||
<field name="model">fl.support.calculation</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="FL 61.30 Child Support Calculation">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<h1>FL 61.30 Child Support Guidelines Worksheet</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="case_id"/>
|
||||
<field name="calculation_date"/>
|
||||
<field name="calculation_type"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="number_of_children" readonly="1"/>
|
||||
<field name="notes"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<separator string="Step 1: Net Monthly Income (FL 61.30(3))"/>
|
||||
<group>
|
||||
<group string="Petitioner">
|
||||
<field name="petitioner_net_income"/>
|
||||
<field name="petitioner_income_pct" readonly="1" string="Income %"/>
|
||||
</group>
|
||||
<group string="Respondent">
|
||||
<field name="respondent_net_income"/>
|
||||
<field name="respondent_income_pct" readonly="1" string="Income %"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="combined_net_income" readonly="1"/>
|
||||
</group>
|
||||
|
||||
<separator string="Step 2: Basic Support Obligation (Schedule Lookup)"/>
|
||||
<group>
|
||||
<field name="basic_support_obligation" readonly="1"/>
|
||||
<field name="support_schedule_id" readonly="1"/>
|
||||
<field name="above_schedule" readonly="1"/>
|
||||
</group>
|
||||
|
||||
<separator string="Step 3: Adjustments (FL 61.30(7),(8),(9))"/>
|
||||
<group>
|
||||
<group string="Health Insurance (FL 61.30(8))">
|
||||
<field name="child_health_insurance_total"/>
|
||||
<field name="health_insurance_by_petitioner"/>
|
||||
<field name="health_insurance_by_respondent"/>
|
||||
</group>
|
||||
<group string="Childcare — Work Related (FL 61.30(7))">
|
||||
<field name="childcare_total"/>
|
||||
<field name="childcare_by_petitioner"/>
|
||||
<field name="childcare_by_respondent"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<field name="extraordinary_expenses"/>
|
||||
<field name="adjusted_support_obligation" readonly="1"/>
|
||||
</group>
|
||||
|
||||
<separator string="Step 4: Timesharing Adjustment (FL 61.30(11)(b))"/>
|
||||
<group>
|
||||
<field name="substantial_timesharing" readonly="1"/>
|
||||
<field name="petitioner_overnights" readonly="1"/>
|
||||
<field name="respondent_overnights" readonly="1"/>
|
||||
<field name="timesharing_adjustment" readonly="1"/>
|
||||
</group>
|
||||
|
||||
<separator string="Step 5: Final Obligation"/>
|
||||
<group>
|
||||
<field name="total_support_obligation" readonly="1"/>
|
||||
<field name="petitioner_obligation" readonly="1"/>
|
||||
<field name="respondent_obligation" readonly="1"/>
|
||||
<field name="net_payment_amount" readonly="1"/>
|
||||
<field name="payment_direction" readonly="1"/>
|
||||
</group>
|
||||
|
||||
<separator string="Deviation (FL 61.30(1)(a)) — Optional"/>
|
||||
<group>
|
||||
<field name="deviation_requested"/>
|
||||
<field name="deviation_reason"
|
||||
attrs="{'invisible': [('deviation_requested', '=', False)]}"/>
|
||||
<field name="deviation_amount"
|
||||
attrs="{'invisible': [('deviation_requested', '=', False)]}"/>
|
||||
<field name="final_amount_with_deviation" readonly="1"
|
||||
attrs="{'invisible': [('deviation_requested', '=', False)]}"/>
|
||||
</group>
|
||||
|
||||
<separator string="Summary"/>
|
||||
<field name="calculation_summary" readonly="1" nolabel="1"/>
|
||||
|
||||
<div class="alert alert-info" role="alert">
|
||||
<strong>⚖️ Disclaimer:</strong>
|
||||
This calculation is generated by computer for informational purposes.
|
||||
Verify all figures before filing with the court.
|
||||
FL support schedule values should be verified against the current
|
||||
Florida Department of Revenue guidelines.
|
||||
</div>
|
||||
</sheet>
|
||||
<div class="oe_chatter">
|
||||
<field name="message_follower_ids"/>
|
||||
<field name="message_ids"/>
|
||||
</div>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ════════════<E29590><E29590>═════════════════════════════════════════
|
||||
FL SUPPORT CALCULATION — TREE
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="view_fl_support_calc_tree" model="ir.ui.view">
|
||||
<field name="name">fl.support.calculation.tree</field>
|
||||
<field name="model">fl.support.calculation</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Support Calculations">
|
||||
<field name="case_id"/>
|
||||
<field name="calculation_date"/>
|
||||
<field name="calculation_type"/>
|
||||
<field name="combined_net_income"/>
|
||||
<field name="basic_support_obligation"/>
|
||||
<field name="total_support_obligation"/>
|
||||
<field name="net_payment_amount"/>
|
||||
<field name="payment_direction"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ══════════════════════<E29590><E29590><EFBFBD>═══════════════════════════════
|
||||
FL SUPPORT SCHEDULE ENTRY — TREE (admin view)
|
||||
═══════════════════════════════════<E29590><E29590><EFBFBD>══════════════════ -->
|
||||
<record id="view_fl_support_schedule_tree" model="ir.ui.view">
|
||||
<field name="name">fl.support.schedule.entry.tree</field>
|
||||
<field name="model">fl.support.schedule.entry</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="FL Support Schedule">
|
||||
<field name="income_min"/>
|
||||
<field name="income_max"/>
|
||||
<field name="children_count"/>
|
||||
<field name="obligation_amount"/>
|
||||
<field name="effective_date"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ══════════════════<E29590><E29590><EFBFBD>══════════════════════════<E29590><E29590>════════
|
||||
ACTIONS
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<record id="action_fl_support_calc_list" model="ir.actions.act_window">
|
||||
<field name="name">Support Calculations</field>
|
||||
<field name="res_model">fl.support.calculation</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record id="action_fl_support_schedule_list" model="ir.actions.act_window">
|
||||
<field name="name">FL DCF Support Schedule</field>
|
||||
<field name="res_model">fl.support.schedule.entry</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
128
activeblue_familylaw/views/menu_views.xml
Normal file
128
activeblue_familylaw/views/menu_views.xml
Normal file
@@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
TOP-LEVEL APPLICATION MENU
|
||||
══════════════════════════════════════════════════════ -->
|
||||
<menuitem
|
||||
id="menu_familylaw_root"
|
||||
name="Family Law"
|
||||
sequence="100"
|
||||
web_icon="activeblue_familylaw,static/src/img/icon.png"
|
||||
groups="activeblue_familylaw.group_admin,activeblue_familylaw.group_paralegal"/>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
MAIN SECTIONS
|
||||
══════════════════════════════════════════════════════ -->
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_cases"
|
||||
name="Cases"
|
||||
parent="menu_familylaw_root"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_support"
|
||||
name="Support Calculator"
|
||||
parent="menu_familylaw_root"
|
||||
sequence="20"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_caselaw"
|
||||
name="Case Law Library"
|
||||
parent="menu_familylaw_root"
|
||||
sequence="30"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_config"
|
||||
name="Configuration"
|
||||
parent="menu_familylaw_root"
|
||||
sequence="90"
|
||||
groups="activeblue_familylaw.group_admin"/>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
CASES SUB-MENU
|
||||
══════════════════════════════════════════════════════ -->
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_cases_list"
|
||||
name="All Cases"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_case_list"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_case_new"
|
||||
name="New Case (Intake Wizard)"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_intake_wizard"
|
||||
sequence="20"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_deadlines"
|
||||
name="Deadlines"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_deadline_list"
|
||||
sequence="30"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_hearings"
|
||||
name="Hearings"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_hearing_list"
|
||||
sequence="40"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_depositions"
|
||||
name="Depositions"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_deposition_list"
|
||||
sequence="50"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_discovery"
|
||||
name="Discovery"
|
||||
parent="menu_fl_cases"
|
||||
action="action_fl_discovery_list"
|
||||
sequence="60"/>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
SUPPORT CALCULATOR SUB-MENU
|
||||
══════════════════════════════════════════════════════ -->
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_support_calcs"
|
||||
name="Calculations"
|
||||
parent="menu_fl_support"
|
||||
action="action_fl_support_calc_list"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_support_schedule"
|
||||
name="FL DCF Schedule"
|
||||
parent="menu_fl_support"
|
||||
action="action_fl_support_schedule_list"
|
||||
sequence="20"
|
||||
groups="activeblue_familylaw.group_admin"/>
|
||||
|
||||
<!-- ══════════════════════════════════════════════════════
|
||||
CONFIGURATION SUB-MENU
|
||||
══════════════════════════════════════════════════════ -->
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_statutes"
|
||||
name="FL Statute Index"
|
||||
parent="menu_fl_config"
|
||||
action="action_fl_statute_list"
|
||||
sequence="10"/>
|
||||
|
||||
<menuitem
|
||||
id="menu_fl_issue_tags"
|
||||
name="Issue Tags"
|
||||
parent="menu_fl_config"
|
||||
action="action_fl_issue_tag_list"
|
||||
sequence="20"/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user