Compare commits

...

2 Commits

Author SHA1 Message Date
3105a89408 logo, fav icon updated 2026-09-28 19:49:42 +05:30
5886f22c93 logo, fav icon updated 2026-09-28 19:49:14 +05:30
8 changed files with 162 additions and 42 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -1,5 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<odoo> <odoo>
<!-- Override favicon globally -->
<template id="custom_favicon" inherit_id="web.layout">
<xpath expr="//link[@rel='shortcut icon']" position="replace">
<link type="image/png" rel="shortcut icon" href="/education_dashboard/static/src/img/favicon.png"/>
</xpath>
</template>
<!-- Custom Login Layout for Odoo Education Portal --> <!-- Custom Login Layout for Odoo Education Portal -->
<template id="custom_login_layout" inherit_id="web.login_layout" name="Education Portal Custom Login Layout"> <template id="custom_login_layout" inherit_id="web.login_layout" name="Education Portal Custom Login Layout">
<xpath expr="//div[hasclass('container')]" position="replace"> <xpath expr="//div[hasclass('container')]" position="replace">
@ -76,9 +83,10 @@
z-index: 2; z-index: 2;
} }
.left-campus-logo { .left-campus-logo {
max-height: 55px; <!-- max-height: 55px; -->
width: auto; width: auto;
margin-bottom: 24px; margin-left: -20px;
<!-- margin-bottom: 24px; -->
} }
.left-welcome-tag { .left-welcome-tag {
color: #1f8f8f; color: #1f8f8f;
@ -257,7 +265,7 @@
<div class="left-header-area"> <div class="left-header-area">
<!-- Campus Logo --> <!-- Campus Logo -->
<img src="/web/image?model=res.company&amp;id=1&amp;field=logo" alt="Logo" class="left-campus-logo"/> <img src="/education_dashboard/static/src/img/logo.png" alt="Logo" class="left-campus-logo"/>
<div class="left-welcome-tag">Welcome to</div> <div class="left-welcome-tag">Welcome to</div>
<div class="left-main-title">Education Portal</div> <div class="left-main-title">Education Portal</div>

View File

@ -439,6 +439,7 @@
border-radius: 50%; border-radius: 50%;
border: 4px solid rgba(255, 255, 255, 0.25); border: 4px solid rgba(255, 255, 255, 0.25);
object-fit: cover; object-fit: cover;
flex-shrink: 0;
} }
.welcome-banner-fallback { .welcome-banner-fallback {
width: 90px; width: 90px;
@ -451,6 +452,7 @@
justify-content: center; justify-content: center;
font-size: 2.2rem; font-size: 2.2rem;
font-weight: 800; font-weight: 800;
flex-shrink: 0;
} }
.welcome-text-title { .welcome-text-title {
font-size: 1.7rem; font-size: 1.7rem;
@ -666,6 +668,9 @@
font-size: 0.75rem; font-size: 0.75rem;
font-weight: 700; font-weight: 700;
margin-bottom: 4px; margin-bottom: 4px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
.fin-card.blue .fin-label { color: #1e40af; } .fin-card.blue .fin-label { color: #1e40af; }
.fin-card.green .fin-label { color: #166534; } .fin-card.green .fin-label { color: #166534; }
@ -674,6 +679,9 @@
.fin-amount { .fin-amount {
font-size: 1.15rem; font-size: 1.15rem;
font-weight: 800; font-weight: 800;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
} }
.fin-card.blue .fin-amount { color: #1e3a8a; } .fin-card.blue .fin-amount { color: #1e3a8a; }
.fin-card.green .fin-amount { color: #14532d; } .fin-card.green .fin-amount { color: #14532d; }
@ -687,6 +695,7 @@
align-items: center; align-items: center;
justify-content: center; justify-content: center;
font-size: 0.95rem; font-size: 0.95rem;
flex-shrink: 0;
} }
.fin-card.blue .fin-icon-box { background: #dbeafe; color: #1d4ed8; } .fin-card.blue .fin-icon-box { background: #dbeafe; color: #1d4ed8; }
.fin-card.green .fin-icon-box { background: #dcfce7; color: #15803d; } .fin-card.green .fin-icon-box { background: #dcfce7; color: #15803d; }
@ -759,6 +768,18 @@
} }
/* Responsive Design overrides */ /* Responsive Design overrides */
.portal-footer-area {
height: 60px;
background: #ffffff;
border-top: 1px solid rgba(31, 143, 143, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
font-size: 0.9rem;
color: #718096;
font-weight: 600;
}
@media (max-width: 991px) { @media (max-width: 991px) {
.portal-layout-wrapper { .portal-layout-wrapper {
flex-direction: column; flex-direction: column;
@ -809,6 +830,14 @@
margin: 0; margin: 0;
width: auto; width: auto;
} }
.portal-footer-area {
height: auto;
flex-direction: column;
justify-content: center;
gap: 8px;
padding: 16px 20px;
text-align: center;
}
} }
@media (max-width: 575px) { @media (max-width: 575px) {
.portal-header { .portal-header {
@ -822,6 +851,17 @@
padding: 20px !important; padding: 20px !important;
border-radius: 18px !important; border-radius: 18px !important;
} }
.welcome-banner-left {
flex-direction: column;
text-align: center;
gap: 16px;
}
.welcome-banner-card {
padding: 24px 20px;
}
.welcome-banner-right-illustration {
display: none;
}
} }
</style> </style>
@ -1081,36 +1121,36 @@
<!-- Finance Overview --> <!-- Finance Overview -->
<div class="premium-card"> <div class="premium-card">
<div class="d-flex align-items-center justify-content-between border-bottom pb-2 mb-3"> <div class="d-flex align-items-center justify-content-between border-bottom pb-2 mb-3 flex-wrap gap-2">
<h5 class="font-weight-bold text-dark mb-0"> <h5 class="font-weight-bold text-dark mb-0 text-truncate" style="min-width: 0; flex: 1;">
<i class="fa fa-credit-card text-success mr-2"/>Finance Overview <i class="fa fa-credit-card text-success mr-2"/>Finance Overview
</h5> </h5>
<a href="/my/education/finance" class="header-link-action">View All Transactions</a> <a href="/my/education/finance" class="header-link-action text-nowrap">View All Transactions</a>
</div> </div>
<div class="row g-3"> <div class="row g-3">
<div class="col-md-4"> <div class="col-md-4">
<div class="fin-card blue"> <div class="fin-card blue">
<div> <div style="min-width: 0; flex: 1; margin-right: 8px;">
<div class="fin-label">TOTAL FEES</div> <div class="fin-label" title="TOTAL FEES">TOTAL FEES</div>
<div class="fin-amount"><t t-esc="student.currency_id.symbol"/> <t t-esc="'{0:,.2f}'.format(student.total_fees)"/></div> <div class="fin-amount" t-attf-title="#{student.currency_id.symbol} {'{0:,.2f}'.format(student.total_fees)}"><t t-esc="student.currency_id.symbol"/>&amp;nbsp;<t t-esc="'{0:,.2f}'.format(student.total_fees)"/></div>
</div> </div>
<div class="fin-icon-box"><i class="fa fa-calculator"/></div> <div class="fin-icon-box"><i class="fa fa-calculator"/></div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="fin-card green"> <div class="fin-card green">
<div> <div style="min-width: 0; flex: 1; margin-right: 8px;">
<div class="fin-label">TOTAL PAID</div> <div class="fin-label" title="TOTAL PAID">TOTAL PAID</div>
<div class="fin-amount"><t t-esc="student.currency_id.symbol"/> <t t-esc="'{0:,.2f}'.format(student.total_paid)"/></div> <div class="fin-amount" t-attf-title="#{student.currency_id.symbol} {'{0:,.2f}'.format(student.total_paid)}"><t t-esc="student.currency_id.symbol"/>&amp;nbsp;<t t-esc="'{0:,.2f}'.format(student.total_paid)"/></div>
</div> </div>
<div class="fin-icon-box"><i class="fa fa-check-circle"/></div> <div class="fin-icon-box"><i class="fa fa-check-circle"/></div>
</div> </div>
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="fin-card red"> <div class="fin-card red">
<div> <div style="min-width: 0; flex: 1; margin-right: 8px;">
<div class="fin-label">OUTSTANDING</div> <div class="fin-label" title="OUTSTANDING">OUTSTANDING</div>
<div class="fin-amount"><t t-esc="student.currency_id.symbol"/> <t t-esc="'{0:,.2f}'.format(student.outstanding_amount)"/></div> <div class="fin-amount" t-attf-title="#{student.currency_id.symbol} {'{0:,.2f}'.format(student.outstanding_amount)}"><t t-esc="student.currency_id.symbol"/>&amp;nbsp;<t t-esc="'{0:,.2f}'.format(student.outstanding_amount)"/></div>
</div> </div>
<div class="fin-icon-box"><i class="fa fa-exclamation-circle"/></div> <div class="fin-icon-box"><i class="fa fa-exclamation-circle"/></div>
</div> </div>
@ -1123,11 +1163,11 @@
<div class="col-lg-4"> <div class="col-lg-4">
<!-- Announcements/Upcoming Card --> <!-- Announcements/Upcoming Card -->
<div class="premium-card" style="height: calc(100% - 16px);"> <div class="premium-card" style="height: calc(100% - 16px);">
<div class="d-flex align-items-center justify-content-between border-bottom pb-2 mb-3"> <div class="d-flex align-items-center justify-content-between border-bottom pb-2 mb-3 flex-wrap gap-2">
<h5 class="font-weight-bold text-dark mb-0"> <h5 class="font-weight-bold text-dark mb-0 text-truncate" style="min-width: 0; flex: 1;">
<i class="fa fa-calendar-check-o text-warning mr-2"/>Upcoming <i class="fa fa-calendar-check-o text-warning mr-2"/>Upcoming
</h5> </h5>
<a href="#" class="header-link-action">View Calendar</a> <a href="#" class="header-link-action text-nowrap">View Calendar</a>
</div> </div>
<t t-if="exams"> <t t-if="exams">
@ -1172,10 +1212,10 @@
</div> </div>
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
</t> </t>
</template> </template>
@ -1599,6 +1639,18 @@
} }
/* Responsive Design overrides */ /* Responsive Design overrides */
.portal-footer-area {
height: 60px;
background: #ffffff;
border-top: 1px solid rgba(31, 143, 143, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
font-size: 0.9rem;
color: #718096;
font-weight: 600;
}
@media (max-width: 991px) { @media (max-width: 991px) {
.portal-layout-wrapper { .portal-layout-wrapper {
flex-direction: column; flex-direction: column;
@ -1649,6 +1701,14 @@
margin: 0; margin: 0;
width: auto; width: auto;
} }
.portal-footer-area {
height: auto;
flex-direction: column;
justify-content: center;
gap: 8px;
padding: 16px 20px;
text-align: center;
}
} }
@media (max-width: 575px) { @media (max-width: 575px) {
.portal-header { .portal-header {
@ -1970,10 +2030,10 @@
</div> </div>
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
</t> </t>
</template> </template>
@ -2324,6 +2384,18 @@
} }
/* Responsive Design overrides */ /* Responsive Design overrides */
.portal-footer-area {
height: 60px;
background: #ffffff;
border-top: 1px solid rgba(31, 143, 143, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
font-size: 0.9rem;
color: #718096;
font-weight: 600;
}
@media (max-width: 991px) { @media (max-width: 991px) {
.portal-layout-wrapper { .portal-layout-wrapper {
flex-direction: column; flex-direction: column;
@ -2374,6 +2446,14 @@
margin: 0; margin: 0;
width: auto; width: auto;
} }
.portal-footer-area {
height: auto;
flex-direction: column;
justify-content: center;
gap: 8px;
padding: 16px 20px;
text-align: center;
}
} }
</style> </style>
@ -2863,10 +2943,10 @@
</script> </script>
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
</t> </t>
</template> </template>
@ -3256,6 +3336,18 @@
} }
/* Responsive Design overrides */ /* Responsive Design overrides */
.portal-footer-area {
height: 60px;
background: #ffffff;
border-top: 1px solid rgba(31, 143, 143, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
font-size: 0.9rem;
color: #718096;
font-weight: 600;
}
@media (max-width: 991px) { @media (max-width: 991px) {
.portal-layout-wrapper { .portal-layout-wrapper {
flex-direction: column; flex-direction: column;
@ -3590,10 +3682,10 @@
</div> </div>
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
<!-- Frontend Logic to show selected file name --> <!-- Frontend Logic to show selected file name -->
<script type="text/javascript"> <script type="text/javascript">
@ -4241,10 +4333,10 @@
</div> </div>
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
</t> </t>
</template> </template>
<template id="portal_student_exam_details" name="Student Exam Details"> <template id="portal_student_exam_details" name="Student Exam Details">
@ -4894,6 +4986,18 @@
} }
/* Responsive Design overrides */ /* Responsive Design overrides */
.portal-footer-area {
height: 60px;
background: #ffffff;
border-top: 1px solid rgba(31, 143, 143, 0.1);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
font-size: 0.9rem;
color: #718096;
font-weight: 600;
}
@media (max-width: 991px) { @media (max-width: 991px) {
.portal-layout-wrapper { .portal-layout-wrapper {
flex-direction: column; flex-direction: column;
@ -4944,6 +5048,14 @@
margin: 0; margin: 0;
width: auto; width: auto;
} }
.portal-footer-area {
height: auto;
flex-direction: column;
justify-content: center;
gap: 8px;
padding: 16px 20px;
text-align: center;
}
} }
@media (max-width: 575px) { @media (max-width: 575px) {
.portal-header { .portal-header {
@ -5060,10 +5172,10 @@
</div> <!-- End portal-layout-wrapper --> </div> <!-- End portal-layout-wrapper -->
<!-- Bottom Footer Area --> <!-- Bottom Footer Area -->
<div style="height: 60px; background: #ffffff; border-top: 1px solid rgba(31, 143, 143, 0.1); display: flex; align-items: center; justify-content: space-between; padding: 0 40px; font-size: 0.9rem; color: #718096; font-weight: 600;"> <div class="portal-footer-area">
<span>© 2026 Metatron EduPortal. All rights reserved.</span> <span>© 2026 Metatron EduPortal. All rights reserved.</span>
<span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span> <span>Powered by <a href="https://metatroncubesolutions.com/" style="color: #144d4d; font-weight: 700; text-decoration: none;">Metatroncube</a></span>
</div> </div>
</t> </t>
</template> </template>