Compare commits

..

No commits in common. "3105a89408fab14ce03cae94742fa58c03513e35" and "d75497835bfe32f9c52ebe49d0d36f4b1e8fe043" have entirely different histories.

8 changed files with 42 additions and 162 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

View File

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

View File

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