5 Commits

Author SHA1 Message Date
metatroncubeswdev
5596f41377 fix(tncsc_deployment): grant admin the Board Admin role so CommunityOS apps show
Every product module's backend app (Membership, School, Benefits,
Classifieds, Interac Payments) has its root menu restricted to its own
manager/coordinator group. A fresh tncsc_deployment install left the
admin user in none of them, so admin's app switcher only showed stock
apps (Events, eLearning, ...) - which looks exactly like the modules
weren't installed, even though ir.module.module.state is 'installed' for
all of them (menu visibility is group-based, not install-state-based).

Fixed by seeding admin into tncsc_deployment.group_tncsc_board_admin,
whose implied_ids already cover every product manager group - this
automates what Phase 8 previously described doing by hand for just the
School Coordinator group. Verified on a fresh install: admin's visible
root menus now include Membership/School/Benefits/Classifieds/Interac
Payments alongside the stock apps, tests still 9/9.

Also documents in HANDOFF.md that `user in group.user_ids` doesn't see
implied-group membership - use has_group() instead, which resolves the
transitive closure correctly.
2026-08-21 18:59:34 -04:00
metatroncubeswdev
24be6360e2 feat(tncsc_deployment): migrate real tncsc.com content into the website pages
Replaces the Phase 7 "content to be finalized" placeholder pages with
TNCSC's actual site content (captured 2026-08-20), verified against a
live Odoo container on a dedicated fresh database (tncsc_site):

- Home, About, About/Tamil Nadu, About/Board of Directors (12 real
  members), Membership hub, Membership Benefits, Tamil Class, and
  Contact pages, with nav restructured to match tncsc.com's real
  structure (About and Membership as dropdowns).
- Real images downloaded from tncsc.com and self-hosted under
  static/src/img/ instead of hotlinking the WordPress site.
- Home's "Upcoming Events" and the membership pricing tables are wired
  to live event.event / community.membership.tier records instead of
  being static copies; Tamil Class links to the real /school/register
  flow. One real event seeded (Summer Picnic 2026).
- Deliberately not reproduced: tncsc.com's own Sponsors page and Contact
  phone number are unmigrated WordPress theme demo placeholders on the
  live site itself (generic client-01..09 logos, a non-Canadian demo
  number) - confirmed by inspection, not assumed. Contact page uses the
  real, verified email and social links instead.
- post_init_hook now also fixes two Odoo website Copy-On-Write gotchas
  that silently prevented the new homepage and nav dropdowns from
  rendering at all (auto-forked per-website duplicates winning over
  this module's records) - see HANDOFF.md for the full explanation.
2026-08-20 12:32:59 -04:00
metatroncubeswdev
8dd97dec9b docs(phase-9-a): fill in real module READMEs, add CHANGELOGs, fix stale HANDOFF
Some checks failed
CI / Brand-leak check (push) Has been cancelled
CI / flake8 / pylint-odoo / manifest completeness (push) Has been cancelled
CI / Install all modules with --test-enable (push) Has been cancelled
- Replace the Phase-0 "content to be completed" placeholder Usage section
  in every community_* README.rst with the actual features built across
  Phases 1-6 (routes, crons, portal pages).
- Add CHANGELOG.rst (19.0.1.0.0) to every community_* module.
- Note independent-vs-bundled module relationships in the root README.
- Fix HANDOFF.md: Phase 8 was already committed (9a24691) and a git
  remote is configured, contrary to what it still said; record 9-A
  progress and the open gaps (missing banner.png assets, live
  --test-enable suite not re-run this session, no v1.0.0 tag yet).
2026-08-20 09:23:32 -04:00
metatroncubeswdev
9a24691c37 feat: Phase 8 TNCSC data migration scripts (members, students, opening balances)
Some checks failed
CI / Brand-leak check (push) Has been cancelled
CI / flake8 / pylint-odoo / manifest completeness (push) Has been cancelled
CI / Install all modules with --test-enable (push) Has been cancelled
Adds migrate_students.py (parent+child partner upsert, current-term
enrollment by school level code) and migrate_opening_balances.py (one
posted, balance-checked journal entry dated the last fiscal year-end).
All three Phase 8 scripts (incl. the existing migrate_members.py) verified
against a live Odoo 19 instance: fresh tncsc_migration_test DB with
tncsc_deployment installed, dry-run + real run + idempotency re-run each,
confirmed via RPC no duplicate records were created. See HANDOFF.md for
the full verification log and why a fresh DB was used instead of
communityos_dev.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-19 01:47:34 -04:00
metatroncubeswdev
8c8043a49a docs: add HANDOFF.md, commit Phase 8 WIP
HANDOFF.md is the "where things actually stand" companion to the plan
document: a phase-by-phase status table, how to spin the dev environment
back up (including the "restart the container after any module change or
you'll hit a stale registry" gotcha that bit repeatedly this session), an
index of every real Odoo 19 API-drift gotcha discovered during the build
(pointing at the commit that documents each in full rather than
duplicating it), and instructions for pushing this repo to a remote before
handing it to a team (none is configured yet - this repo only exists
locally).

Also commits the two Phase 8 files that existed only as uncommitted local
changes (scripts/_migration_common.py, a first pass at
scripts/migrate_members.py) so they survive a git clone rather than being
fragile local-only WIP. Neither is wired into anything or tested yet -
migrate_members.py has no live run against Odoo, and migrate_students.py /
migrate_opening_balances.py don't exist yet. Paused here at the user's
request.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 07:29:29 -04:00