Add FL e-Filing Portal integration (assisted submission, Phase 1)
- fl.efiling.submission: generates the 11th Circuit court filename
({LastName}_{CaseNumber}_{DocumentType}_{YYYYMMDD}.pdf), validates PDF/A via
pikepdf (XMP pdfaid + OutputIntents, graceful if pikepdf missing), and tracks
status (draft → validated → pending_manual → submitted → accepted/rejected/failed)
- Assisted flow: "Open e-Filing Portal" deep-links to eportal.flcourts.org
(?caseNumber=… when available; base overridable via ir.config_parameter
fl_efiling.portal_url); confirmation # capture; accepted/rejected mark the
linked fl.document filed and log to chatter
- Phase 2 API stub (action_submit_api) reads creds/endpoint from ir.config_parameter
and refuses to call an unconfirmed endpoint — no guessed URLs, no silent failure
- fl.efiling.wizard: pick document/attachment/filing_type, preview the filename,
create + auto-validate the submission
- Wiring: model + wizard registered, ACL (admin/paralegal), e-filing views, Cases
menu item, fl.case.efiling_submission_ids + Filings tab + Prepare e-Filing button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -400,6 +400,9 @@ class FlCase(models.Model):
|
||||
document_ids = fields.One2many(
|
||||
'fl.document', 'case_id', string='Case Documents'
|
||||
)
|
||||
efiling_submission_ids = fields.One2many(
|
||||
'fl.efiling.submission', 'case_id', string='e-Filing Submissions'
|
||||
)
|
||||
|
||||
# ══════════════════════════════════════════════════════════════════════
|
||||
# PROJECT / TASK INTEGRATION
|
||||
@@ -1222,3 +1225,14 @@ class FlCase(models.Model):
|
||||
'view_mode': 'form',
|
||||
'target': 'current',
|
||||
}
|
||||
|
||||
def action_prepare_efiling(self):
|
||||
self.ensure_one()
|
||||
return {
|
||||
'type': 'ir.actions.act_window',
|
||||
'name': 'Prepare e-Filing',
|
||||
'res_model': 'fl.efiling.wizard',
|
||||
'view_mode': 'form',
|
||||
'target': 'new',
|
||||
'context': {'default_case_id': self.id},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user