feat: ADP Export Files menu with filestore storage, remove Sync All button

- Add fusion_claims.adp.export.record model with filestore-backed Binary field
  for tracking exported ADP claims files organized by Year > Month > Posting Period
- Add tree/form/search views with default group-by hierarchy, latest first
- Add "Export Files" menuitem under ADP menu section
- Add bulk ZIP download server action for multi-select export
- Replace Documents app storage with new model in export wizard
- Remove Documents-related methods (_save_to_documents, folder creation)
- Add migration button in Settings to move existing Documents files
- Fix Export ADP button visibility: only show on ADP portion invoices
- Remove redundant Sync All button from invoice form
- Add ACL entries for billing users (read/create) and managers (full CRUD)
- Bump version to 19.0.7.3.0

Made-with: Cursor
This commit is contained in:
gsinghpal
2026-03-15 12:27:06 -04:00
parent 0e04f4ecc6
commit a839285bd4
11 changed files with 578 additions and 229 deletions

View File

@@ -59,10 +59,11 @@
<field name="inherit_id" ref="account.view_move_form"/>
<field name="priority">52</field>
<field name="arch" type="xml">
<!-- Add Export and Sync buttons to header -->
<!-- Add Export and Verify buttons to header -->
<xpath expr="//button[@name='button_draft']" position="after">
<field name="x_fc_is_adp_invoice" invisible="1"/>
<field name="x_fc_needs_device_verification" invisible="1"/>
<field name="x_fc_adp_invoice_portion" invisible="1"/>
<!-- Verify Device Approval button - only on client invoices that need verification -->
<button name="action_open_device_approval_wizard"
string="Verify Device Approval"
@@ -71,19 +72,12 @@
icon="fa-check-square-o"
invisible="not x_fc_needs_device_verification"
help="Complete device verification to enable ADP invoice creation"/>
<button name="action_sync_to_sale_order"
string="Sync All"
type="object"
class="btn-secondary"
icon="fa-refresh"
invisible="move_type not in ['out_invoice', 'out_refund'] or not x_fc_is_adp_invoice"
help="Sync ADP fields from this Invoice to the Sale Order and all linked invoices"/>
<button name="action_export_adp_claim"
string="Export ADP"
type="object"
class="btn-secondary"
icon="fa-file-text-o"
invisible="move_type not in ['out_invoice', 'out_refund'] or state != 'posted' or not x_fc_is_adp_invoice"/>
invisible="move_type not in ['out_invoice', 'out_refund'] or state != 'posted' or not x_fc_is_adp_invoice or x_fc_adp_invoice_portion != 'adp'"/>
</xpath>
</field>
</record>