You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
322 lines
22 KiB
322 lines
22 KiB
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Health Report</title>
|
|
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"
|
|
rel="stylesheet">
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&display=swap" rel="stylesheet">
|
|
|
|
<style>
|
|
.accordion-item:first-of-type .accordion-button {
|
|
border-top-left-radius: 3rem;
|
|
border-top-right-radius: 3rem;
|
|
}
|
|
|
|
.accordion-item:last-of-type .accordion-button.collapsed {
|
|
border-bottom-right-radius: 3rem;
|
|
border-bottom-left-radius: 3rem;
|
|
}
|
|
|
|
.accordion-item:last-of-type {
|
|
border-bottom-right-radius: 3rem;
|
|
border-bottom-left-radius: 3rem;
|
|
}
|
|
|
|
.accordion-item:first-of-type {
|
|
border-top-left-radius: 3rem;
|
|
border-top-right-radius: 3rem;
|
|
}
|
|
|
|
.accordion-button:focus {
|
|
border-color: unset;
|
|
box-shadow: unset;
|
|
}
|
|
|
|
.accordion-button:not(.collapsed) {
|
|
background-color: #0480e1;
|
|
color: white;
|
|
border-radius: 0;
|
|
box-shadow: unset;
|
|
}
|
|
|
|
.accordion-item:not(:first-of-type) {
|
|
border-top: 1px solid black;
|
|
}
|
|
|
|
.accordion-button:not(.collapsed) .head {
|
|
border-bottom: 1px solid white;
|
|
}
|
|
|
|
.accordion-button::after {
|
|
position: relative;
|
|
top: -10px;
|
|
background-color: #ffffff;
|
|
width: 50px;
|
|
height: 50px;
|
|
border-radius: 50%;
|
|
background-position: center;
|
|
border: 1px solid black;
|
|
background-image: url(./assets/img/plus.svg);
|
|
}
|
|
|
|
.accordion-button:not(.collapsed)::after {
|
|
background-image: url(./assets/img/minus.svg);
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body style="font-family: Poppins, sans-serif; background: linear-gradient(180deg, #dcebf9, #faecff);">
|
|
<!-- Heading -->
|
|
<div class="oe_container container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<div class="header" style="background-image: url('/odoo_health_report/static/description/assets/img/header.jpg'); background-position: center; background-size: cover; height: 130px; border-radius: 3rem; box-shadow: 0px 5px #0480e1; display: flex; align-items: center; justify-content: center; border: 1px solid #0480e1;">
|
|
<h1 style="font-size: 3rem; font-weight: 700; margin-bottom: 0;">Health Report</h1>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Overview -->
|
|
<div class="container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<div class="banner" style="background-image: url('/odoo_health_report/static/description/assets/img/banner.jpg'); background-position: top; background-size: cover; border-radius: 3rem; display: flex; align-items: center; justify-content: center; color: white; overflow: hidden; position: relative;">
|
|
<img src="./assets/img/cybro.jpg" alt="" class="cybro" style="position: absolute; right: -5px; bottom: -3px; width: 115px; border-radius: 10px; max-width: 100%;">
|
|
<div class="row">
|
|
<div class="col-md-6 p-5 d-flex flex-column justify-content-center">
|
|
<h2 style="font-size: 3rem; font-weight: 700;color: white;">Analyze. Audit. Improve.</h2>
|
|
<p style="font-size: 1.2rem; color: rgb(255 255 255 / 80%); line-height: 28px;">Odoo Module Health Report is a powerful developer tool designed to help Odoo developers and technical teams
|
|
maintain high-quality code standards across custom modules. It offers deep analysis and visual insights on
|
|
code health, along with a PDF report for audits or documentation.</p>
|
|
<ul style="list-style: none; padding-left: 0;">
|
|
<li style="font-size: 1.3rem; font-weight: 600; padding: 1rem 0; display: flex; align-items: center; gap: 1rem;">
|
|
<img src="./assets/img/icon1.svg" alt="" style="width: 40px;">
|
|
Comprehensive Code Checks
|
|
</li>
|
|
<li style="font-size: 1.3rem; font-weight: 600; padding: 1rem 0; display: flex; align-items: center; gap: 1rem;">
|
|
<img src="./assets/img/icon2.svg" alt="" style="width: 40px;">
|
|
Odoo Code Standards Check
|
|
</li>
|
|
<li style="font-size: 1.3rem; font-weight: 600; padding: 1rem 0; display: flex; align-items: center; gap: 1rem;">
|
|
<img src="./assets/img/icon3.svg" alt="" style="width: 40px;">
|
|
Interactive Dashboard & PDF Report
|
|
</li>
|
|
<li style="font-size: 1.3rem; font-weight: 600; padding: 1rem 0; display: flex; align-items: center; gap: 1rem;">
|
|
<img src="./assets/img/icon4.svg" alt="" style="width: 40px;">
|
|
Compatible with V18 CE & EE
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="col-md-6 position-relative d-flex justify-content-center align-items-center">
|
|
<img src="./assets/img/banner-img.png" alt="" class="banner-img" style="margin-left: 13rem; width: 100%;">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Featured Categories -->
|
|
<div class="container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<h2 class="headmain" style="font-family: sans-serif; background-color: #b9ff66; width: max-content; padding: 5px 10px; margin-bottom: 1rem; border-radius: 8px; font-size: 2.3rem;">Featured Categories</h2>
|
|
<div class="row row-cols-lg-2 row-cols-1 g-xl-4 g-3 ">
|
|
<div class="col">
|
|
<div class="box box1" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: white;">
|
|
<img src="./assets/img/box1.png" alt="" width="150" style="max-width: 100%; position: absolute; right: 2rem; bottom: 2rem;">
|
|
<h3 class="head" style="width: max-content; padding: 8px 10px; margin-bottom: 2rem; border-radius: 8px; background: #0480e1; color: white;">Clean Code is Beautiful Code</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;">Detect spacing, indentation, and unused code issues to maintain clean and readable code.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: black;">
|
|
<img src="./assets/img/box2.png" alt="" width="150" style="max-width: 100%;position: absolute; right: 2rem; bottom: 2rem;">
|
|
<h3 class="head" style="width: max-content; padding: 8px 10px; margin-bottom: 2rem; border-radius: 8px;background: white; color: black;">Built to Work, Not Break</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500; color: white;">Catch logic issues and unsafe patterns early to improve code quality.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box3" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid 0480e1; box-shadow: 0px 5px #0480e1; background: #0480e1;">
|
|
<img src="./assets/img/box3.png" alt="" width="150" style="max-width: 100%; position: absolute; right: 2rem; bottom: 2rem;">
|
|
<h3 class="head" style="width: max-content; padding: 8px 10px; margin-bottom: 2rem; border-radius: 8px; background: white; color: black;">Code Safe. Business Safer.</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: white;">Spot security risks early, like unsafe access and weak encryption, to write safer code from the star</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box1" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: white;">
|
|
<img src="./assets/img/box4.png" alt="" width="200" style="max-width: 100%; position: absolute; right: 2rem; bottom: 2rem;">
|
|
<h3 class="head mb-0" style="width: max-content; padding: 8px 10px; margin-bottom: 2rem; border-radius: 8px; background: #0480e1; color: white;">Complex Code? Simplify </h3>
|
|
<h3 class="head" style="width: max-content; padding: 8px 10px; margin-bottom: 2rem; border-radius: 8px; background: #0480e1; color: white;">Like a Pro</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;">Analyze function complexity and simplify code for better reliability.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Stay Odoo-official! -->
|
|
<div class="container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<div class="section" style="box-shadow: 0px 5px black; border: 1px solid black; background-color: #b9ff66; border-radius: 3rem; padding: 3rem;">
|
|
<div class="row">
|
|
<div class="col-md-6 d-flex flex-column justify-content-center">
|
|
<h5 style="font-size: 1.5rem;">Stay Odoo-official!</h5>
|
|
<p>Ensure your custom modules follow Odoo’s official coding standards, from proper naming to a clean
|
|
structure.
|
|
Build confidently with fully compliant code.</p>
|
|
</div>
|
|
<div class="col-md-6 position-relative">
|
|
<img src="./assets/img/section.png" alt="" width="200" style="max-width: 100%;position: absolute; top: 0; bottom: 0; margin: auto; right: 3rem;">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Installation -->
|
|
<div class="container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<div class="d-flex gap-3">
|
|
<h2 class="headmain" style="font-family: sans-serif; background-color: #b9ff66; width: max-content; padding: 5px 10px; margin-bottom: 1rem; border-radius: 8px; font-size: 2.3rem;">Installation</h2>
|
|
<p>To install the Odoo Module Health Report, follow these<br> standard Odoo module steps:</p>
|
|
</div>
|
|
<div class="row row-cols-lg-4 row-cols-1 g-xl-4 g-3 ">
|
|
<div class="col">
|
|
<div class="box box2" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: black;">
|
|
<span class="num" style="width: 50px; height: 50px; background-color: white; color: black; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.2rem; font-weight: 600; border-radius: 50%;">01</span>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: white;">Place the module folder inside your <span style="color: #b9ff66;">Odoo custom_addons/</span> directory.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: black;">
|
|
<span class="num" style="width: 50px; height: 50px; background-color: white; color: black; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.2rem; font-weight: 600; border-radius: 50%;">02</span>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: white;">
|
|
Install the required Python dependencies using the provided requirements.txt file: <span
|
|
style="color: #b9ff66;">pip install -r requirements.txt</span></p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: black;">
|
|
<span class="num" style="width: 50px; height: 50px; background-color: white; color: black; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.2rem; font-weight: 600; border-radius: 50%;">03</span>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: white;">In Odoo, go to Apps > Update App List to refresh available modules.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background: black;">
|
|
<span class="num" style="width: 50px; height: 50px; background-color: white; color: black; display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; font-size: 1.2rem; font-weight: 600; border-radius: 50%;">04</span>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: white;">Search for Odoo Module Health Report in the Apps menu and click Install</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Frequently Asked Questions -->
|
|
<div class="container-fluid py-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<h2 class="headmain" style="font-family: sans-serif; background-color: #b9ff66; width: max-content; padding: 5px 10px; margin-bottom: 1rem; border-radius: 8px; font-size: 2.3rem;">Frequently Asked Questions </h2>
|
|
<div class="accordion myaccordion" id="accordionExample">
|
|
<div class="accordion-item" style="margin-bottom: 1rem; border-radius: 3rem; box-shadow: 0px 5px black; border: 1px solid black; overflow: hidden;">
|
|
<h2 class="accordion-header" id="headingOne">
|
|
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne"
|
|
aria-expanded="true" aria-controls="collapseOne" style="background-color: #f3f3f3; padding: 2rem; font-size: 1.3rem; padding-bottom: 0;">
|
|
<div class="head" style="width: 100%; border: transparent; display: flex; align-items: center; padding-bottom: 2rem;">
|
|
<span style="font-size: 3rem; margin-right: 2.5rem;">01</span> What does this module actually check?
|
|
</div>
|
|
</button>
|
|
</h2>
|
|
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne"
|
|
data-bs-parent="#accordionExample">
|
|
<div class="accordion-body" style="padding: 3rem; background: #0480e1; color: white;">
|
|
This module analyzes Odoo custom modules for code quality, maintainability, and structure. It checks naming
|
|
conventions, code style, formatting, complexity, security risks, and overall code health.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="accordion-item" style="margin-bottom: 1rem; border-radius: 3rem; box-shadow: 0px 5px black; border: 1px solid black; overflow: hidden;">
|
|
<h2 class="accordion-header" id="headingTwo">
|
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo" style="background-color: #f3f3f3; padding: 2rem; font-size: 1.3rem; padding-bottom: 0;">
|
|
<div class="head" style="width: 100%; border: transparent; display: flex; align-items: center; padding-bottom: 2rem;">
|
|
<span style="font-size: 3rem; margin-right: 2.5rem;">02</span> Will it make changes to my code automatically?
|
|
</div>
|
|
</button>
|
|
</h2>
|
|
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo"
|
|
data-bs-parent="#accordionExample">
|
|
<div class="accordion-body" style="padding: 3rem; background: #0480e1; color: white;">
|
|
No, it only detects and reports issues. It does not modify your files. You will receive a dashboard view and
|
|
optional PDF reports to take action manually.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="accordion-item" style="margin-bottom: 1rem; border-radius: 3rem; box-shadow: 0px 5px black; border: 1px solid black; overflow: hidden;">
|
|
<h2 class="accordion-header" id="headingThree">
|
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree" style="background-color: #f3f3f3; padding: 2rem; font-size: 1.3rem; padding-bottom: 0;">
|
|
<div class="head" style="width: 100%; border: transparent; display: flex; align-items: center; padding-bottom: 2rem;">
|
|
<span style="font-size: 3rem; margin-right: 2.5rem;">03</span> Does this work with Odoo.sh or Docker setups?
|
|
</div>
|
|
</button>
|
|
</h2>
|
|
<div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree"
|
|
data-bs-parent="#accordionExample">
|
|
<div class="accordion-body" style="padding: 3rem; background: #0480e1; color: white;">
|
|
Yes, it can be used in Odoo.sh or Docker environments as long as the required Python dependencies are
|
|
installed using the provided <code>requirements.txt</code>.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="accordion-item" style="margin-bottom: 1rem; border-radius: 3rem; box-shadow: 0px 5px black; border: 1px solid black; overflow: hidden;">
|
|
<h2 class="accordion-header" id="headingFour">
|
|
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse"
|
|
data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour" style="background-color: #f3f3f3; padding: 2rem; font-size: 1.3rem; padding-bottom: 0;">
|
|
<div class="head" style="width: 100%; border: transparent; display: flex; align-items: center; padding-bottom: 2rem;">
|
|
<span style="font-size: 3rem; margin-right: 2.5rem;">04</span> Can I export reports?
|
|
</div>
|
|
</button>
|
|
</h2>
|
|
<div id="collapseFour" class="accordion-collapse collapse" aria-labelledby="headingFour"
|
|
data-bs-parent="#accordionExample">
|
|
<div class="accordion-body" style="padding: 3rem; background: #0480e1; color: white;">
|
|
Yes! You can generate and download a PDF report containing code violations, field counts, line-of-code
|
|
summaries, and maintainability scores for selected modules.
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Who Is This Module For? -->
|
|
<div class="container-fluid py-5 mb-5" style="max-width:1526.4px; margin-left:auto; margin-right:auto; padding-left:54px; padding-right:54px;">
|
|
<h2 class="headmain" style="font-family: sans-serif; background-color: #b9ff66; width: max-content; padding: 5px 10px; margin-bottom: 1rem; border-radius: 8px; font-size: 2.3rem;">Who Is This Module For? </h2>
|
|
<div class="row row-cols-lg-3 row-cols-1 g-xl-4 g-3 ">
|
|
<div class="col">
|
|
<div class="box box2 w-box" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background-color: white !important; color: black !important;">
|
|
<h3 style="border-bottom: 1px solid black !important; font-size: 1.5rem; padding-bottom: 1rem; margin-bottom: 1rem;">Odoo Developers</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: black !important;"> Identify code issues early, follow best practices, and deliver cleaner, more maintainable modules.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2 w-box" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background-color: white !important; color: black !important;">
|
|
<h3 style="border-bottom: 1px solid black !important; font-size: 1.5rem; padding-bottom: 1rem; margin-bottom: 1rem;">Code Reviewers</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: black !important;"> Save time with automated insights into code quality, structure, and violations during reviews</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2 w-box" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background-color: white !important; color: black !important;">
|
|
<h3 style="border-bottom: 1px solid black !important; font-size: 1.5rem; padding-bottom: 1rem; margin-bottom: 1rem;">Technical Team Leads</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: black !important;"> Ensure consistency across the team’s codebase and reduce long-term maintenance overhead</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2 w-box" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background-color: white !important; color: black !important;">
|
|
<h3 style="border-bottom: 1px solid black !important; font-size: 1.5rem; padding-bottom: 1rem; margin-bottom: 1rem;">QA and DevOps Teams</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: black !important;">Validate module quality before deployment, catch risks early, and maintain stable environments.</p>
|
|
</div>
|
|
</div>
|
|
<div class="col">
|
|
<div class="box box2 w-box" style="padding: 3rem; border-radius: 2rem; position: relative; min-height: 300px; border: 1px solid black; box-shadow: 0px 5px #000000; background-color: white !important; color: black !important;">
|
|
<h3 style="border-bottom: 1px solid black !important; font-size: 1.5rem; padding-bottom: 1rem; margin-bottom: 1rem;">Clients and End Users</h3>
|
|
<p style="max-width: 350px; font-size: 1.1rem; font-weight: 500;color: black !important;">Gain confidence that installed modules meet quality standards and follow proper development practices,
|
|
reducing issues and improving reliability.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|