refactor(fusion_portal): rename from fusion_authorizer_portal + modern photo cards on accessibility selector
Rename module fusion_authorizer_portal -> fusion_portal everywhere: manifest/assets, controllers, models, views, JS (odoo.define + asset URLs), migration MODULE constants; plus cross-module refs in fusion_schedule, fusion_repairs, fusion_quotations (depends + inherit_id) and the pdf_filler import in fusion_claims. Add rename_module.sql for the one-time in-place DB rename (ir_module_module, ir_model_data, ir_ui_view.key, ir_module_module_dependency) required on installed envs before -u fusion_portal. Document the rename gotcha as rule 16 in CLAUDE.md. Redesign the Accessibility Assessment selector: replace Font Awesome icon tiles with photo-banner cards using 7 optimized images (1000x750 PNG -> 800x600 JPEG, ~8MB -> 488KB), per-type colour accent bar + centered pill button, hover lift/zoom. Images ship as module static files so they deploy/sync with the module. Drop the regenerable graphify-out cache from the module. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
30
fusion_portal/__init__.py
Normal file
30
fusion_portal/__init__.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
from . import controllers
|
||||
|
||||
|
||||
def _reactivate_views(env):
|
||||
"""Ensure all module views are active after install/update.
|
||||
|
||||
Odoo silently deactivates inherited views when an xpath fails
|
||||
validation (e.g. parent view structure changed between versions).
|
||||
Once deactivated, subsequent -u runs never reactivate them.
|
||||
This hook prevents that from silently breaking the portal.
|
||||
"""
|
||||
views = env['ir.ui.view'].sudo().search([
|
||||
('key', 'like', 'fusion_portal.%'),
|
||||
('active', '=', False),
|
||||
])
|
||||
if views:
|
||||
views.write({'active': True})
|
||||
env.cr.execute("""
|
||||
SELECT key FROM ir_ui_view
|
||||
WHERE key LIKE 'fusion_portal.%%'
|
||||
AND id = ANY(%s)
|
||||
""", [views.ids])
|
||||
keys = [r[0] for r in env.cr.fetchall()]
|
||||
import logging
|
||||
logging.getLogger(__name__).warning(
|
||||
"Reactivated %d deactivated views: %s", len(keys), keys
|
||||
)
|
||||
Reference in New Issue
Block a user