diff --git a/spp_banking/README.rst b/spp_banking/README.rst index 2c5afc68..3848968e 100644 --- a/spp_banking/README.rst +++ b/spp_banking/README.rst @@ -102,6 +102,14 @@ formatting) Changelog ========= +19.0.2.0.1 +~~~~~~~~~~ + +- fix(views): apply ``spp_registry.x2many_no_padding`` widget to the + Bank Information list on group and individual registrant forms — + removes the four empty placeholder rows Odoo 19 inserts on inline + list-in-form views (#943). + 19.0.2.0.0 ~~~~~~~~~~ diff --git a/spp_banking/__manifest__.py b/spp_banking/__manifest__.py index 4c2a1aa6..c8c30ad2 100644 --- a/spp_banking/__manifest__.py +++ b/spp_banking/__manifest__.py @@ -3,7 +3,7 @@ { "name": "OpenSPP Banking: Bank Details", "category": "OpenSPP/Integration", - "version": "19.0.2.0.0", + "version": "19.0.2.0.1", "sequence": 1, "author": "OpenSPP.org", "website": "https://github.com/OpenSPP/OpenSPP2", diff --git a/spp_banking/readme/HISTORY.md b/spp_banking/readme/HISTORY.md index 4aaf9afe..8d886281 100644 --- a/spp_banking/readme/HISTORY.md +++ b/spp_banking/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.0.1 + +- fix(views): apply `spp_registry.x2many_no_padding` widget to the Bank Information list on group and individual registrant forms — removes the four empty placeholder rows Odoo 19 inserts on inline list-in-form views (#943). + ### 19.0.2.0.0 - Initial migration to OpenSPP2 diff --git a/spp_banking/static/description/index.html b/spp_banking/static/description/index.html index a71510df..8ca9c2a7 100644 --- a/spp_banking/static/description/index.html +++ b/spp_banking/static/description/index.html @@ -474,6 +474,15 @@

Changelog

+

19.0.2.0.1

+ +
+

19.0.2.0.0

+

19.0.2.0.1

+ +
+

19.0.2.0.0

+

19.0.2.0.1

+ +
+

19.0.2.0.0

+
+ No disability assessments yet. +
- + Changelog
+

19.0.2.0.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the +Events list on registrant forms, and hide the table when empty +(showing a muted info line instead) (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_event_data/views/registrant_view.xml b/spp_event_data/views/registrant_view.xml index b93c2739..77fc6496 100644 --- a/spp_event_data/views/registrant_view.xml +++ b/spp_event_data/views/registrant_view.xml @@ -33,7 +33,16 @@ - +
    + No events recorded yet. +
    + @@ -84,7 +93,16 @@ - +
    + No events recorded yet. +
    + diff --git a/spp_farmer_registry/README.rst b/spp_farmer_registry/README.rst index 2fcf81d3..bcfad58f 100644 --- a/spp_farmer_registry/README.rst +++ b/spp_farmer_registry/README.rst @@ -68,6 +68,13 @@ Model Description Changelog ========= +19.0.2.0.1 +~~~~~~~~~~ + +- fix(views): apply ``spp_registry.x2many_no_padding`` widget to the + farm activities list on farm forms — removes the four empty + placeholder rows Odoo 19 inserts on inline list-in-form views (#943). + 19.0.2.0.0 ~~~~~~~~~~ diff --git a/spp_farmer_registry/__manifest__.py b/spp_farmer_registry/__manifest__.py index fc0b9ef7..853f77b5 100644 --- a/spp_farmer_registry/__manifest__.py +++ b/spp_farmer_registry/__manifest__.py @@ -3,7 +3,7 @@ "name": "OpenSPP Farmer Registry", "summary": "Farmer Registry with vocabulary-based fields, CEL variables, and Logic Studio integration", "category": "OpenSPP", - "version": "19.0.2.0.0", + "version": "19.0.2.0.1", "sequence": 1, "author": "OpenSPP.org", "website": "https://github.com/OpenSPP/OpenSPP2", diff --git a/spp_farmer_registry/readme/HISTORY.md b/spp_farmer_registry/readme/HISTORY.md index 4aaf9afe..6b85f6dd 100644 --- a/spp_farmer_registry/readme/HISTORY.md +++ b/spp_farmer_registry/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.0.1 + +- fix(views): apply `spp_registry.x2many_no_padding` widget to the farm activities list on farm forms — removes the four empty placeholder rows Odoo 19 inserts on inline list-in-form views (#943). + ### 19.0.2.0.0 - Initial migration to OpenSPP2 diff --git a/spp_farmer_registry/static/description/index.html b/spp_farmer_registry/static/description/index.html index e6e1770a..4b3f827b 100644 --- a/spp_farmer_registry/static/description/index.html +++ b/spp_farmer_registry/static/description/index.html @@ -436,6 +436,14 @@

    Changelog

+

19.0.2.0.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the +farm activities list on farm forms — removes the four empty +placeholder rows Odoo 19 inserts on inline list-in-form views (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_farmer_registry/views/farm_views.xml b/spp_farmer_registry/views/farm_views.xml index affbecec..8e3fd57b 100644 --- a/spp_farmer_registry/views/farm_views.xml +++ b/spp_farmer_registry/views/farm_views.xml @@ -61,6 +61,7 @@ @@ -88,6 +89,7 @@ @@ -113,6 +115,7 @@ @@ -131,7 +134,7 @@ - + @@ -142,7 +145,7 @@ - + @@ -150,7 +153,11 @@ - + @@ -160,7 +167,7 @@ - + diff --git a/spp_grm_registry/README.rst b/spp_grm_registry/README.rst index d7e1365e..56772be1 100644 --- a/spp_grm_registry/README.rst +++ b/spp_grm_registry/README.rst @@ -120,6 +120,13 @@ Dependencies Changelog ========= +19.0.2.0.1 +~~~~~~~~~~ + +- fix(views): apply ``spp_registry.x2many_no_padding`` widget to the GRM + tickets list on registrant forms, and hide the table when empty + (showing a muted info line instead) (#943). + 19.0.2.0.0 ~~~~~~~~~~ diff --git a/spp_grm_registry/__manifest__.py b/spp_grm_registry/__manifest__.py index 994de44d..f0268a0c 100644 --- a/spp_grm_registry/__manifest__.py +++ b/spp_grm_registry/__manifest__.py @@ -1,7 +1,7 @@ # pylint: disable=pointless-statement { "name": "OpenSPP GRM Registry Integration", - "version": "19.0.2.0.0", + "version": "19.0.2.0.1", "category": "OpenSPP/Monitoring", "summary": "Link GRM tickets to OpenSPP registry (registrants)", "author": "OpenSPP.org", diff --git a/spp_grm_registry/readme/HISTORY.md b/spp_grm_registry/readme/HISTORY.md index 4aaf9afe..fe4ea763 100644 --- a/spp_grm_registry/readme/HISTORY.md +++ b/spp_grm_registry/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.0.1 + +- fix(views): apply `spp_registry.x2many_no_padding` widget to the GRM tickets list on registrant forms, and hide the table when empty (showing a muted info line instead) (#943). + ### 19.0.2.0.0 - Initial migration to OpenSPP2 diff --git a/spp_grm_registry/static/description/index.html b/spp_grm_registry/static/description/index.html index feceb152..67ecfa7b 100644 --- a/spp_grm_registry/static/description/index.html +++ b/spp_grm_registry/static/description/index.html @@ -479,6 +479,14 @@

    Changelog

+

19.0.2.0.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the GRM +tickets list on registrant forms, and hide the table when empty +(showing a muted info line instead) (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_grm_registry/views/res_partner_views.xml b/spp_grm_registry/views/res_partner_views.xml index 14c038cc..0b2087a3 100644 --- a/spp_grm_registry/views/res_partner_views.xml +++ b/spp_grm_registry/views/res_partner_views.xml @@ -35,8 +35,19 @@ +
    + No GRM tickets for this registrant yet. +
    - + @@ -83,8 +94,19 @@ +
    + No GRM tickets for this household yet. +
    - + diff --git a/spp_hazard/README.rst b/spp_hazard/README.rst index 292a70e4..339300f1 100644 --- a/spp_hazard/README.rst +++ b/spp_hazard/README.rst @@ -1187,6 +1187,13 @@ encounter unexpected behavior, please report it as a new issue. Changelog ========= +19.0.2.0.1 +~~~~~~~~~~ + +- fix(views): apply ``spp_registry.x2many_no_padding`` widget to the + hazard impacts list on registrant forms, and hide the table when empty + (showing a muted info line instead) (#943). + 19.0.2.0.0 ~~~~~~~~~~ diff --git a/spp_hazard/__manifest__.py b/spp_hazard/__manifest__.py index 1a9e7af0..5513c07e 100644 --- a/spp_hazard/__manifest__.py +++ b/spp_hazard/__manifest__.py @@ -8,7 +8,7 @@ "for emergency response. Links registrants to disaster events with geographic scope " "and severity tracking to enable targeted humanitarian assistance.", "category": "OpenSPP/Targeting", - "version": "19.0.2.0.0", + "version": "19.0.2.0.1", "sequence": 1, "author": "OpenSPP.org", "website": "https://github.com/OpenSPP/OpenSPP2", diff --git a/spp_hazard/readme/HISTORY.md b/spp_hazard/readme/HISTORY.md index 4aaf9afe..a1e8dfe4 100644 --- a/spp_hazard/readme/HISTORY.md +++ b/spp_hazard/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.0.1 + +- fix(views): apply `spp_registry.x2many_no_padding` widget to the hazard impacts list on registrant forms, and hide the table when empty (showing a muted info line instead) (#943). + ### 19.0.2.0.0 - Initial migration to OpenSPP2 diff --git a/spp_hazard/static/description/index.html b/spp_hazard/static/description/index.html index 1a67aebe..42c0a996 100644 --- a/spp_hazard/static/description/index.html +++ b/spp_hazard/static/description/index.html @@ -2455,6 +2455,14 @@

    Changelog

+

19.0.2.0.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the +hazard impacts list on registrant forms, and hide the table when empty +(showing a muted info line instead) (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_hazard/views/registrant_views.xml b/spp_hazard/views/registrant_views.xml index bf42a0a8..c7a0f7c7 100644 --- a/spp_hazard/views/registrant_views.xml +++ b/spp_hazard/views/registrant_views.xml @@ -53,11 +53,20 @@ string="Incident Impacts" invisible="hazard_impact_count == 0" > +
    + No hazard impacts recorded yet. +
    diff --git a/spp_programs/README.rst b/spp_programs/README.rst index 0ed5aed9..0a60c52c 100644 --- a/spp_programs/README.rst +++ b/spp_programs/README.rst @@ -254,6 +254,14 @@ Dependencies Changelog ========= +19.0.2.1.1 +~~~~~~~~~~ + +- fix(views): apply ``spp_registry.x2many_no_padding`` widget to the + Programs and Entitlements lists on registrant forms and to Program + Membership inline lines — removes the four empty placeholder rows Odoo + 19 inserts on inline list-in-form views (#943). + 19.0.2.0.11 ~~~~~~~~~~~ diff --git a/spp_programs/__manifest__.py b/spp_programs/__manifest__.py index 99465c8e..2b85f890 100644 --- a/spp_programs/__manifest__.py +++ b/spp_programs/__manifest__.py @@ -4,7 +4,7 @@ "name": "OpenSPP Programs", "summary": "Manage programs, cycles, beneficiary enrollment, entitlements (cash and in-kind), payments, and fund tracking for social protection.", "category": "OpenSPP/Core", - "version": "19.0.2.1.0", + "version": "19.0.2.1.1", "sequence": 1, "author": "OpenSPP.org", "website": "https://github.com/OpenSPP/OpenSPP2", diff --git a/spp_programs/readme/HISTORY.md b/spp_programs/readme/HISTORY.md index 9c79790f..bac79104 100644 --- a/spp_programs/readme/HISTORY.md +++ b/spp_programs/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.1.1 + +- fix(views): apply `spp_registry.x2many_no_padding` widget to the Programs and Entitlements lists on registrant forms and to Program Membership inline lines — removes the four empty placeholder rows Odoo 19 inserts on inline list-in-form views (#943). + ### 19.0.2.0.11 - Fix `TypeError: 'NoneType' object is not iterable` when clicking **Enroll Eligible** on programs with at least 200 beneficiaries (async dispatch path) diff --git a/spp_programs/static/description/index.html b/spp_programs/static/description/index.html index 1ed447a1..a2c4be96 100644 --- a/spp_programs/static/description/index.html +++ b/spp_programs/static/description/index.html @@ -658,6 +658,15 @@

    Changelog

+

19.0.2.1.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the +Programs and Entitlements lists on registrant forms and to Program +Membership inline lines — removes the four empty placeholder rows Odoo +19 inserts on inline list-in-form views (#943).
  • +
+
+

19.0.2.0.11

  • Fix TypeError: 'NoneType' object is not iterable when clicking @@ -668,7 +677,7 @@

    19.0.2.0.11

    omit the state filter instead of crashing on tuple(None)
-
+

19.0.2.0.10

  • Increase parallel-safe channel limits (cycle, eligibility_manager, @@ -681,7 +690,7 @@

    19.0.2.0.10

    submission on double-click
-
+

19.0.2.0.9

  • Add context flags (skip_registrant_statistics, @@ -694,7 +703,7 @@

    19.0.2.0.9

    _compute_has_members
-
+

19.0.2.0.8

  • Replace OFFSET pagination with NTILE-based ID-range batching in all @@ -705,7 +714,7 @@

    19.0.2.0.8

    program and cycle
-
+

19.0.2.0.7

  • Bulk membership creation using raw SQL INSERT ON CONFLICT DO NOTHING @@ -714,7 +723,7 @@

    19.0.2.0.7

    _add_beneficiaries with bulk SQL path
-
+

19.0.2.0.6

  • Remove unused entitlement_base_model.py (dead code, never imported)
  • @@ -723,34 +732,34 @@

    19.0.2.0.6

    payment, and fund tests (172 → 492 tests)
-
+

19.0.2.0.5

  • Batch create entitlements and payments instead of one-by-one ORM creates
-
+

19.0.2.0.4

  • Fetch fund balance once per approval batch instead of per entitlement
-
+

19.0.2.0.3

  • Replace cycle computed fields (total_amount, entitlements_count, approval flags) with SQL aggregation queries
-
+

19.0.2.0.2

  • Add composite indexes for frequent query patterns on entitlements and program memberships
-
+

19.0.2.0.1

  • Replace Python-level uniqueness checks with SQL UNIQUE constraints for @@ -759,7 +768,7 @@

    19.0.2.0.1

    constraint creation
-
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_programs/views/program_membership_view.xml b/spp_programs/views/program_membership_view.xml index ced3e3ad..61d7ee65 100644 --- a/spp_programs/views/program_membership_view.xml +++ b/spp_programs/views/program_membership_view.xml @@ -187,6 +187,7 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. name="phone_number_ids" nolabel="1" colspan="2" + widget="x2many_no_padding" > - + @@ -226,7 +232,12 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. - + @@ -236,7 +247,12 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. - + - + @@ -230,6 +233,7 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details. nolabel="1" readonly="1" invisible="program_membership_count == 0" + widget="x2many_no_padding" > diff --git a/spp_registry/README.rst b/spp_registry/README.rst index 3a5559da..3b0098fb 100644 --- a/spp_registry/README.rst +++ b/spp_registry/README.rst @@ -139,6 +139,15 @@ Dependencies Changelog ========= +19.0.2.1.1 +~~~~~~~~~~ + +- fix(views): add reusable ``x2many_no_padding`` JS widget that + suppresses the four empty placeholder rows Odoo 19 hardcodes on inline + list-in-form views. Apply it to the Phone, IDs, Relationships, Group + Membership, and Group Members lists on registrant forms so blank cells + don't bloat the layout (#943). + 19.0.2.0.0 ~~~~~~~~~~ diff --git a/spp_registry/__manifest__.py b/spp_registry/__manifest__.py index 10c6eb75..232c6746 100644 --- a/spp_registry/__manifest__.py +++ b/spp_registry/__manifest__.py @@ -3,7 +3,7 @@ { "name": "OpenSPP Registry", "category": "OpenSPP/Core", - "version": "19.0.2.1.0", + "version": "19.0.2.1.1", "sequence": 1, "author": "OpenSPP.org", "website": "https://github.com/OpenSPP/OpenSPP2", @@ -64,6 +64,7 @@ "spp_registry/static/src/css/registry.css", "spp_registry/static/src/css/registry_form.css", "spp_registry/static/src/js/form_text_overflow.js", + "spp_registry/static/src/js/x2many_no_padding_field.js", ], }, "oca_data_manual": [ diff --git a/spp_registry/readme/HISTORY.md b/spp_registry/readme/HISTORY.md index 4aaf9afe..5152f992 100644 --- a/spp_registry/readme/HISTORY.md +++ b/spp_registry/readme/HISTORY.md @@ -1,3 +1,7 @@ +### 19.0.2.1.1 + +- fix(views): add reusable `x2many_no_padding` JS widget that suppresses the four empty placeholder rows Odoo 19 hardcodes on inline list-in-form views. Apply it to the Phone, IDs, Relationships, Group Membership, and Group Members lists on registrant forms so blank cells don't bloat the layout (#943). + ### 19.0.2.0.0 - Initial migration to OpenSPP2 diff --git a/spp_registry/static/description/index.html b/spp_registry/static/description/index.html index ea268cfc..f095fcad 100644 --- a/spp_registry/static/description/index.html +++ b/spp_registry/static/description/index.html @@ -518,6 +518,16 @@

    Changelog

+

19.0.2.1.1

+
    +
  • fix(views): add reusable x2many_no_padding JS widget that +suppresses the four empty placeholder rows Odoo 19 hardcodes on inline +list-in-form views. Apply it to the Phone, IDs, Relationships, Group +Membership, and Group Members lists on registrant forms so blank cells +don’t bloat the layout (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_registry/static/src/js/x2many_no_padding_field.js b/spp_registry/static/src/js/x2many_no_padding_field.js new file mode 100644 index 00000000..6cf2c567 --- /dev/null +++ b/spp_registry/static/src/js/x2many_no_padding_field.js @@ -0,0 +1,44 @@ +/** @odoo-module **/ + +import {ListRenderer} from "@web/views/list/list_renderer"; +import {X2ManyField, x2ManyField} from "@web/views/fields/x2many/x2many_field"; +import {registry} from "@web/core/registry"; + +/** + * Drop-in replacement for the standard x2many list widget that suppresses + * the trailing empty placeholder rows. See OP#943. + * + * Odoo 19's ListRenderer hardcodes a 4-row minimum (list_renderer.js + * `getEmptyRowIds`), padding inline One2many tables with empty rows in + * readonly view. Those empty rows look like unfinished data entry. This + * widget overrides `getEmptyRowIds` to always return an empty list, so + * only populated rows render. + * + * Usage: + * + * + * ... + * + * + * + * "Add a line" still works in edit mode — only the visual padding rows + * are removed. + */ +export class NoPaddingListRenderer extends ListRenderer { + get getEmptyRowIds() { + return []; + } +} + +export class X2ManyNoPaddingField extends X2ManyField {} +X2ManyNoPaddingField.components = { + ...X2ManyField.components, + ListRenderer: NoPaddingListRenderer, +}; + +export const x2ManyNoPaddingField = { + ...x2ManyField, + component: X2ManyNoPaddingField, +}; + +registry.category("fields").add("x2many_no_padding", x2ManyNoPaddingField); diff --git a/spp_registry/views/group_membership_views.xml b/spp_registry/views/group_membership_views.xml index aa47d412..26154730 100644 --- a/spp_registry/views/group_membership_views.xml +++ b/spp_registry/views/group_membership_views.xml @@ -14,7 +14,12 @@ - +
+

19.0.2.0.1

+
    +
  • fix(views): apply spp_registry.x2many_no_padding widget to the +service points list on group forms — removes the four empty +placeholder rows Odoo 19 inserts on inline list-in-form views (#943).
  • +
+
+

19.0.2.0.0

  • Initial migration to OpenSPP2
  • diff --git a/spp_service_points/views/group_views.xml b/spp_service_points/views/group_views.xml index 241ae6c7..2b115b00 100644 --- a/spp_service_points/views/group_views.xml +++ b/spp_service_points/views/group_views.xml @@ -8,7 +8,12 @@ - +