Files
famlaw/activeblue_familylaw/models/fl_argument.py
Carlos Garcia 1d52d85a78 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>
2026-05-04 18:52:04 -04:00

48 lines
1.3 KiB
Python

from odoo import fields, models
class FlArgument(models.Model):
"""
Phase 5 — AI-generated legal argument builder.
Phase 1: Stub.
"""
_name = 'fl.argument'
_description = 'Legal Argument'
_order = 'sequence, id'
case_id = fields.Many2one(
'fl.case', ondelete='cascade', index=True
)
sequence = fields.Integer(default=10)
argument_text = fields.Text(
string='Argument',
required=True
)
argument_type = fields.Selection([
('petitioner', 'Petitioner Argument'),
('respondent', 'Respondent Counter-Argument'),
('procedural', 'Procedural Point'),
], string='Type', default='petitioner')
strength = fields.Selection([
('strong', 'Strong'),
('moderate', 'Moderate'),
('weak', 'Weak'),
], string='Argument Strength')
caselaw_ids = fields.Many2many(
'fl.caselaw',
'fl_argument_caselaw_rel',
'argument_id', 'caselaw_id',
string='Supporting Case Law'
)
statute_ids = fields.Many2many(
'fl.statute',
'fl_argument_statute_rel',
'argument_id', 'statute_id',
string='Supporting Statutes'
)
notes = fields.Text(string='Notes')
ai_generated = fields.Boolean(
string='AI Generated',
default=False
)