- fl.signature.request: token-protected request linking an fl.document to a signer (res.partner). State machine: draft → prepared → sent → signed | declined | expired. Per-report _SIGNATURE_COORDS map plus DOC_TYPE_TO_REPORT for resolving the QWeb report template and the signature block rectangle - action_prepare renders the QWeb PDF and stores it; action_send_to_signer emails a one-time link /familylaw/sign/<token> (256-bit token, 14-day expiry, hourly cron sweeps stale links) - apply_signature decodes the canvas-pad PNG, embeds it at the page-relative rectangle via PyMuPDF, attaches the signed PDF to the fl.document, marks the document signed, and audits the signer IP + timestamp - Public portal controller (/familylaw/sign/<token>): GET shows the unsigned PDF in an iframe + inline HTML5 canvas pad (no external JS, mouse + touch); POST submits the PNG; separate decline endpoint. Token+state checks gate every transition - action_validate_pdfa on the signed request reuses the e-filing pikepdf check (markers + OutputIntents) so e-filing-bound docs can be re-validated - Wiring: models/__init__, controllers/__init__, manifest entry, ACL for the request, Signature Requests menu under Cases, signature_request_ids on fl.case with a Filings-tab list, "Request Signature" header button, and a cron for expiry - Note: Odoo Sign / DocuSign / HelloSign deliberately NOT used per CLAUDE.md spec (HIPAA + FL court e-signature compliance) - Verified: throwaway-DB install passes cleanly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
94 lines
3.4 KiB
Python
94 lines
3.4 KiB
Python
{
|
|
'name': 'ActiveBlue Family Law',
|
|
'version': '18.0.1.0.0',
|
|
'category': 'Legal',
|
|
'summary': 'Florida Family Law Case Management — Pro Se',
|
|
'description': """
|
|
Florida family law case management for pro se litigants.
|
|
Covers child support modification, dissolution of marriage,
|
|
and paternity cases in Miami-Dade County (11th Circuit).
|
|
Includes FL 61.30 child support calculator, document generation,
|
|
deadline tracking, and AI-powered case law analysis via Claude API.
|
|
""",
|
|
'author': 'Active Blue LLC',
|
|
'website': 'https://avc.activeblue.net',
|
|
'depends': [
|
|
'base',
|
|
'mail',
|
|
'portal',
|
|
'website',
|
|
'contacts',
|
|
'calendar',
|
|
'project',
|
|
'crm',
|
|
'account',
|
|
'hr_expense',
|
|
'analytic',
|
|
# 'sign', # Odoo Sign — enable when confirmed installed
|
|
# 'queue_job', # OCA queue_job — install from https://github.com/OCA/queue
|
|
],
|
|
'data': [
|
|
# Security
|
|
'security/fl_security.xml',
|
|
'security/ir.model.access.csv',
|
|
# Seed data (load before views)
|
|
'data/fl_stage_data.xml',
|
|
'data/fl_issue_tags.xml',
|
|
'data/fl_statute_data.xml',
|
|
'data/fl_support_schedule.xml',
|
|
'data/ir_sequence.xml',
|
|
'data/fl_deadline_rules.xml',
|
|
'data/mail_templates.xml',
|
|
'data/fl_caselaw_data.xml',
|
|
'data/case_task_templates.xml',
|
|
# Views — backend (actions before menus so menuitem refs resolve)
|
|
'views/fl_case_views.xml',
|
|
'views/fl_party_views.xml',
|
|
'views/fl_child_views.xml',
|
|
'views/fl_support_views.xml',
|
|
'views/fl_deadline_views.xml',
|
|
'views/fl_hearing_views.xml',
|
|
'views/fl_deposition_views.xml',
|
|
'views/fl_discovery_views.xml',
|
|
'views/fl_caselaw_views.xml',
|
|
'views/fl_analysis_views.xml',
|
|
'views/fl_fee_waiver_views.xml',
|
|
'views/fl_statute_views.xml',
|
|
'views/fl_wizard_views.xml',
|
|
'views/fl_discovery_suggest_views.xml',
|
|
'views/fl_conflict_check_views.xml',
|
|
'views/fl_timesheet_views.xml',
|
|
'views/fl_efiling_views.xml',
|
|
'views/fl_signature_request_views.xml',
|
|
'views/menu_views.xml',
|
|
# Phase 4 — QWeb PDF Reports
|
|
'report/report_financial_affidavit_short.xml',
|
|
'report/report_financial_affidavit_long.xml',
|
|
'report/report_child_support_worksheet.xml',
|
|
'report/report_motion_to_modify.xml',
|
|
'report/report_notice_deposition.xml',
|
|
'report/report_motion_to_compel.xml',
|
|
'report/report_income_withholding.xml',
|
|
'report/report_fee_waiver.xml',
|
|
'report/report_notice_ssn.xml',
|
|
'report/report_mandatory_disclosure.xml',
|
|
'report/report_default_motion.xml',
|
|
'report/report_parenting_plan.xml',
|
|
# Phase 6 — Portal & Website Templates
|
|
'views/portal_case_templates.xml',
|
|
'views/portal_calculator_templates.xml',
|
|
'views/portal_caselaw_templates.xml',
|
|
'views/website_intake_templates.xml',
|
|
],
|
|
'assets': {
|
|
'web.assets_frontend': [
|
|
'activeblue_familylaw/static/src/css/familylaw_portal.css',
|
|
'activeblue_familylaw/static/src/js/fl_calculator.js',
|
|
'activeblue_familylaw/static/src/js/fl_timeline.js',
|
|
],
|
|
},
|
|
'installable': True,
|
|
'application': True,
|
|
'license': 'LGPL-3',
|
|
}
|