Fix broken and placeholder links across the TNCSC website
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

Page templates (views/website_pages.xml):
- Footer social icons pointed at facebook.com/youtube.com/instagram.com
  homepages; now TNCSC's own profiles.
- "View Event" pointed at a static product mock-up; now /event.
- Home "Book Now", Events "Register Event" and the picnic page's
  "Add To Cart" (which went to /contact) now open the real Summer Picnic
  registration, falling back to /event if that event is missing.
- Home All/Event tabs were href="#"; now /event.
- About "Learn More" went to the contact form; relabelled "Contact Us".
- Benefits "Become A Member" now goes to /membership/registration.

Stock Odoo chrome on built-in pages (login, event/school registration):
- Footer replaced with a TNCSC footer (real links, company email, only
  configured social profiles) instead of demo content with
  info@yourcompany.example.com, a 555 number and dead "#" links. Priority
  90 so it also wins over the website-specific footer copy on the server.
- Header "Contact Us" now goes to /contact; the demo phone number is
  replaced by the company email.

community_portal: /my and /my/home (the "Member Login" target) returned a
500 for anonymous visitors because of this Odoo build's auth='user'
redirect bug; they now redirect to the login page.

website_pages.xml is noupdate, so upgrades never applied template fixes.
The 19.0.1.2.0 pre-migrate reloads it once in init mode (this overwrites
website-editor edits to those pages; none exist on the server).

Verified locally: upgrade of tncsc_site succeeds, every internal link on
16 pages resolves (200/30x), and a fresh install passes 34/34 tests for
community_membership, community_portal and tncsc_deployment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
metatroncubeswdev 2026-09-27 13:42:20 -04:00
parent 657792b268
commit 522e2cfba9
5 changed files with 165 additions and 54 deletions

View File

@ -48,6 +48,16 @@ class CommunityPortalDashboard(CustomerPortal):
return values
@http.route(['/my', '/my/home'], type='http', auth='public', website=True)
def home(self, **kw):
# Core declares these auth='user', which on this Odoo build returns a
# 500 for anonymous visitors instead of redirecting to login (see
# community_classifieds' _redirect_to_login_if_public). "Member Login"
# links point here, so check auth ourselves.
if request.env.user._is_public():
return request.redirect('/web/login?redirect=/my')
return super().home(**kw)
@http.route(['/my/school'], type='http', auth='public', website=True)
def portal_my_school(self, **kwargs):
if request.env.user._is_public():

View File

@ -1,6 +1,6 @@
{
'name': 'TNCSC Deployment',
'version': '19.0.1.1.0',
'version': '19.0.1.2.0',
'category': 'Hidden',
'summary': 'Tamil Nadu Cultural Society of Canada - client configuration for the Community OS suite',
'description': """

View File

@ -0,0 +1,18 @@
"""Reload the seeded website pages from views/website_pages.xml.
That file is noupdate="1" so edits made in the website editor survive
upgrades, but it also means upgrades never deliver template fixes (here:
broken and placeholder links). Loading it once in 'init' mode rewrites the
existing page views. Any website-editor changes to these pages are
overwritten by this upgrade.
Runs before the module's data is loaded so the header overrides in
views/website_header_overrides.xml are validated against current pages.
"""
from odoo import SUPERUSER_ID, api
from odoo.tools import convert_file
def migrate(cr, version):
env = api.Environment(cr, SUPERUSER_ID, {})
convert_file(env, 'tncsc_deployment', 'views/website_pages.xml', {}, mode='init', noupdate=True)

View File

@ -129,5 +129,84 @@
<t t-call="tncsc_deployment.website_member_login_button"/>
</xpath>
</template>
<!-- Odoo's stock footer (shown on built-in pages such as event
registration, login and school registration) ships demo content:
dead "#" links, info@yourcompany.example.com, a 555 phone number and
X/LinkedIn icons TNCSC has no profiles for. A higher priority than
website.footer_custom (16) makes this replace it even where the
website editor has made a website-specific copy of that view. -->
<template id="tncsc_footer" inherit_id="website.layout" name="TNCSC Footer" priority="90">
<xpath expr="//div[@id='footer']" position="replace">
<div id="footer" class="oe_structure oe_structure_solo text-break" t-if="not no_footer">
<section class="pt40 pb16">
<div class="container">
<div class="row">
<div class="col-lg-3 pt24 pb24">
<h5>Useful Links</h5>
<ul class="list-unstyled">
<li><a href="/">Home</a></li>
<li><a href="/about">About Us</a></li>
<li><a href="/event">Events</a></li>
<li><a href="/membership/registration">Membership</a></li>
<li><a href="/tamil-school">Tamil Class</a></li>
<li><a href="/contact">Contact</a></li>
</ul>
</div>
<div class="col-lg-5 pt24 pb24">
<h5>About TNCSC</h5>
<p>A not-for-profit Ontario corporation serving Tamils of Indian origin in Canada
since 1997, preserving and promoting our language, heritage and culture.</p>
</div>
<div class="col-lg-3 offset-lg-1 pt24 pb24">
<h5>Connect with us</h5>
<ul class="list-unstyled">
<li><i class="fa fa-comment fa-fw me-2"/><a href="/contact">Contact us</a></li>
<li t-if="res_company.email">
<i class="fa fa-envelope fa-fw me-2"/><a t-attf-href="mailto:#{res_company.email}" t-out="res_company.email"/>
</li>
<li t-if="res_company.phone">
<i class="fa fa-phone fa-fw me-2"/><a t-attf-href="tel:#{res_company.phone}" t-out="res_company.phone"/>
</li>
</ul>
<div class="s_social_media text-start">
<a t-if="website.social_facebook" href="/website/social/facebook" target="_blank" rel="noopener" aria-label="Facebook">
<i class="fa fa-facebook rounded-circle shadow-sm"/>
</a>
<a t-if="website.social_youtube" href="/website/social/youtube" target="_blank" rel="noopener" aria-label="YouTube">
<i class="fa fa-youtube-play rounded-circle shadow-sm"/>
</a>
<a t-if="website.social_instagram" href="/website/social/instagram" target="_blank" rel="noopener" aria-label="Instagram">
<i class="fa fa-instagram rounded-circle shadow-sm"/>
</a>
</div>
</div>
</div>
</div>
</section>
</div>
</xpath>
</template>
<!-- Odoo's stock header (on built-in pages such as login, event and
school registration) links its button to the stock /contactus page
and shows a demo phone number. TNCSC publishes no phone number, so
show the company email instead. -->
<template id="tncsc_header_call_to_action" inherit_id="website.header_call_to_action" name="TNCSC Header Call to Action">
<xpath expr="//a[hasclass('btn_cta')]" position="attributes">
<attribute name="href">/contact</attribute>
</xpath>
</template>
<template id="tncsc_header_text_element" inherit_id="website.header_text_element" name="TNCSC Header Text element">
<xpath expr="//li" position="replace">
<li t-if="res_company.email" t-attf-class="#{_item_class}">
<div t-attf-class="s_text_block #{_div_class}" data-name="Text">
<a t-attf-href="mailto:#{res_company.email}" class="nav-link o_nav-link_secondary p-2">
<i class="fa fa-1x fa-fw fa-envelope me-1"/>
<small t-out="res_company.email"/>
</a>
</div>
</li>
</xpath>
</template>
</odoo>

View File

@ -356,7 +356,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3">
<a href="/event" class="btn-tncsc-gold py-2 px-3">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -431,7 +431,8 @@
Unity &amp; Pride
</h1>
<div class="pt-2">
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold px-4 py-3 fs-6">
<t t-set="picnic_event" t-value="env.ref('tncsc_deployment.event_summer_picnic_2026', raise_if_not_found=False)"/>
<a t-att-href="picnic_event and '/event/%s/register' % slug(picnic_event) or '/event'" class="btn-tncsc-gold px-4 py-3 fs-6">
<i class="fa fa-ticket"></i> Book Now
</a>
</div>
@ -652,14 +653,14 @@
<!-- Filter Tabs -->
<div class="d-flex justify-content-center align-items-center gap-4 mb-5">
<div class="position-relative pb-2">
<a href="#" class="text-decoration-none fw-semibold fs-5" style="color: #D89C43;">All</a>
<a href="/event" class="text-decoration-none fw-semibold fs-5" style="color: #D89C43;">All</a>
<!-- Active Tab Golden Underline with Arrow -->
<div class="position-absolute bottom-0 start-50 translate-middle-x" style="width: 100%; border-bottom: 2px solid #D89C43;">
<div class="position-absolute start-50 translate-middle-x" style="bottom: -5px; width: 0; height: 0; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #D89C43;"></div>
</div>
</div>
<div class="pb-2">
<a href="#" class="text-decoration-none fw-medium fs-5" style="color: #64748b;">Event</a>
<a href="/event" class="text-decoration-none fw-medium fs-5" style="color: #64748b;">Event</a>
</div>
</div>
@ -725,7 +726,8 @@
<!-- CTA Button Column -->
<div class="col-md-3 p-4 text-center text-md-end">
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-4 fs-6">
<t t-set="picnic_event" t-value="env.ref('tncsc_deployment.event_summer_picnic_2026', raise_if_not_found=False)"/>
<a t-att-href="picnic_event and '/event/%s/register' % slug(picnic_event) or '/event'" class="btn-tncsc-gold py-2 px-4 fs-6">
<i class="fa fa-ticket"></i> Book Now
</a>
</div>
@ -836,13 +838,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -1168,7 +1170,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -1226,7 +1228,7 @@
</p>
<div>
<a href="/contact" class="btn-tncsc-gold">
<i class="fa fa-ticket"></i> Learn More
<i class="fa fa-envelope"></i> Contact Us
</a>
</div>
</div>
@ -1342,13 +1344,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -1655,7 +1657,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -1759,13 +1761,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -2105,7 +2107,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -2202,13 +2204,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -2540,7 +2542,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -2618,13 +2620,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -2948,7 +2950,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -3062,7 +3064,7 @@
<!-- Center Button -->
<div class="text-center mt-5">
<a href="/contact" class="btn-tncsc-gold py-3 px-5 fs-5">
<a href="/membership/registration" class="btn-tncsc-gold py-3 px-5 fs-5">
<i class="fa fa-user-plus"></i> Become A Member
</a>
</div>
@ -3096,13 +3098,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -3464,7 +3466,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -3651,13 +3653,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -3996,7 +3998,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -4033,7 +4035,8 @@
$0.00 – $30.00
</p>
<div>
<a href="/contact" class="btn-tncsc-gold px-4 py-2" style="border-radius: 4px;">
<t t-set="picnic_event" t-value="env.ref('tncsc_deployment.event_summer_picnic_2026', raise_if_not_found=False)"/>
<a t-att-href="picnic_event and '/event/%s/register' % slug(picnic_event) or '/event'" class="btn-tncsc-gold px-4 py-2" style="border-radius: 4px;">
Register Event
</a>
</div>
@ -4070,13 +4073,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -4348,7 +4351,7 @@
<a href="/contact" class="nav-link">Contact</a>
</div>
<div>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold">
<a href="/event" class="btn-tncsc-gold">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -4460,8 +4463,9 @@
<!-- Add to Cart CTA Button -->
<div class="text-center text-lg-start mt-4">
<a href="/contact" class="btn-add-to-cart">
Add To Cart
<t t-set="picnic_event" t-value="env.ref('tncsc_deployment.event_summer_picnic_2026', raise_if_not_found=False)"/>
<a t-att-href="picnic_event and '/event/%s/register' % slug(picnic_event) or '/event'" class="btn-add-to-cart">
Register Now
</a>
</div>
</div>
@ -4496,13 +4500,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -4803,7 +4807,7 @@
<a href="/tamil-school" class="nav-link active">Tamil Class</a>
<a href="/contact" class="nav-link">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -4956,13 +4960,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>
@ -5319,7 +5323,7 @@
<a href="/tamil-school" class="nav-link">Tamil Class</a>
<a href="/contact" class="nav-link active">Contact</a>
</nav>
<a href="/product/tncsc-summer-picnic-2026" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<a href="/event" class="btn-tncsc-gold py-2 px-3 mt-3 mt-lg-0 align-self-start align-self-lg-center">
<i class="fa fa-ticket"></i> View Event
</a>
</div>
@ -5464,13 +5468,13 @@
<!-- Social Icons -->
<div class="d-flex justify-content-center align-items-center gap-3 mt-3">
<a href="https://facebook.com" target="_blank" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.facebook.com/TNCSCCanada/" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Facebook" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-facebook"></i>
</a>
<a href="https://youtube.com" target="_blank" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.youtube.com/@tamilnaduculturalsocietyof5866" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="YouTube" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-youtube-play"></i>
</a>
<a href="https://instagram.com" target="_blank" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<a href="https://www.instagram.com/tncsc_canada" target="_blank" rel="noopener" class="btn-tncsc-social" aria-label="Instagram" style="width: 48px; height: 48px; background-color: #D89C43; color: #ffffff !important; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 1.25rem; text-decoration: none !important;">
<i class="fa fa-instagram"></i>
</a>
</div>