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>
57 lines
1.8 KiB
Python
57 lines
1.8 KiB
Python
from odoo import fields, models
|
|
|
|
|
|
class FlStatute(models.Model):
|
|
_name = 'fl.statute'
|
|
_description = 'Florida Statute Reference'
|
|
_order = 'name'
|
|
|
|
name = fields.Char(
|
|
string='Statute',
|
|
required=True,
|
|
help='e.g. FL 61.30'
|
|
)
|
|
title = fields.Char(string='Title', required=True)
|
|
description = fields.Text(string='Summary')
|
|
category = fields.Selection([
|
|
('child_support', 'Child Support'),
|
|
('modification', 'Modification'),
|
|
('alimony', 'Alimony'),
|
|
('timesharing', 'Timesharing / Parental Responsibility'),
|
|
('dissolution', 'Dissolution of Marriage'),
|
|
('paternity', 'Paternity'),
|
|
('domestic_violence', 'Domestic Violence'),
|
|
('enforcement', 'Enforcement'),
|
|
('disclosure', 'Mandatory Disclosure'),
|
|
('fee_waiver', 'Fee Waiver / Indigent Status'),
|
|
('procedure', 'Procedure'),
|
|
('discovery', 'Discovery'),
|
|
('other', 'Other'),
|
|
], string='Category')
|
|
url = fields.Char(string='Official URL')
|
|
active = fields.Boolean(default=True)
|
|
|
|
_sql_constraints = [
|
|
('name_uniq', 'unique(name)', 'Statute reference must be unique.'),
|
|
]
|
|
|
|
|
|
class FlIssueTag(models.Model):
|
|
_name = 'fl.issue.tag'
|
|
_description = 'Legal Issue Tag'
|
|
_order = 'name'
|
|
|
|
name = fields.Char(string='Tag', required=True)
|
|
name_es = fields.Char(string='Tag (Spanish)')
|
|
color = fields.Integer(string='Color Index', default=0)
|
|
case_type = fields.Selection([
|
|
('modification', 'Modification'),
|
|
('dissolution', 'Dissolution'),
|
|
('paternity', 'Paternity'),
|
|
('all', 'All Cases'),
|
|
], string='Applies To', default='all')
|
|
|
|
_sql_constraints = [
|
|
('name_uniq', 'unique(name)', 'Issue tag name must be unique.'),
|
|
]
|