Compare commits
No commits in common. "3105a89408fab14ce03cae94742fa58c03513e35" and "d75497835bfe32f9c52ebe49d0d36f4b1e8fe043" have entirely different histories.
3105a89408
...
d75497835b
Binary file not shown.
|
Before Width: | Height: | Size: 6.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 7.4 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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&id=1&field=logo" alt="Logo" class="left-campus-logo"/>
|
||||
|
||||
<div class="left-welcome-tag">Welcome to</div>
|
||||
<div class="left-main-title">Education Portal</div>
|
||||
|
||||
@ -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"/>&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"/>&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"/>&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>
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user