Odoo Health Report
+ style="font-size: 40px; font-weight: 700; color: #fff;line-height: 60px; text-transform: capitalize; width: 450px;">Odoo Module Health Report
Are your modules up to standard?
diff --git a/odoo_health_report/static/src/assets/images/icons_report/icon-all-field.svg b/odoo_health_report/static/src/assets/images/icons_report/icon-all-field.svg
new file mode 100644
index 000000000..bbc41f431
--- /dev/null
+++ b/odoo_health_report/static/src/assets/images/icons_report/icon-all-field.svg
@@ -0,0 +1,5 @@
+
diff --git a/odoo_health_report/static/src/assets/images/icons_report/icon-non-stored.svg b/odoo_health_report/static/src/assets/images/icons_report/icon-non-stored.svg
new file mode 100644
index 000000000..eb5c47d98
--- /dev/null
+++ b/odoo_health_report/static/src/assets/images/icons_report/icon-non-stored.svg
@@ -0,0 +1,6 @@
+
diff --git a/odoo_health_report/static/src/assets/images/icons_report/icon-stored.svg b/odoo_health_report/static/src/assets/images/icons_report/icon-stored.svg
new file mode 100644
index 000000000..6ec6ba2ad
--- /dev/null
+++ b/odoo_health_report/static/src/assets/images/icons_report/icon-stored.svg
@@ -0,0 +1,4 @@
+
diff --git a/odoo_health_report/static/src/css/main.css b/odoo_health_report/static/src/css/main.css
index 715dd6f54..e94858660 100644
--- a/odoo_health_report/static/src/css/main.css
+++ b/odoo_health_report/static/src/css/main.css
@@ -988,11 +988,14 @@
margin-top: 10px;
border-radius: 12px;
border: 1px solid #e5e5e5;
+ overflow-y: scroll;
+ max-height: 500px;
}
.hr-module-table-container-title {
color: #000;
font-size: 18px;
font-weight: 700;
+ text-transform: capitalize;
}
.hr-accordion-item {
@@ -1002,16 +1005,6 @@
border-radius: 10px;
}
-.hr-accordion-item div.mt-4 {
- max-height: 500px;
- overflow-y: scroll;
-}
-
-.hr-accordion-item div.mt-4 h3 {
- position: sticky;
- top: 0;
-}
-
.hr-accordion-item .hr-accordion-header {
width: 100%;
border: 1px solid #e5e5e5;
@@ -1038,6 +1031,9 @@
.hr-accordion-item .hr-accordion-header:hover {
background-color: #f8f8f8;
}
+.hr-accordion-header.selected {
+ border: 1px solid #2B7FFF;
+}
.hr-accordion-item .icon {
font-size: 20px;
}
@@ -1047,6 +1043,9 @@
.hr-accordion-item h4 {
margin-bottom: unset;
}
+.hr-accordion-item h3.mt-4 {
+ font-weight: 700;
+}
.hr-accordion-item .hr-accordion-content {
display: none;
background-color: #fff;
@@ -1418,7 +1417,12 @@ button.hrl-secondary-button:active {
font-style: normal;
font-weight: 700;
}
-
+.hr-modal_dialog {
+ width: 450px;
+}
+.hr-modal_dialog .modal-content {
+ border-radius: 12px;
+}
.hr-modal .modal-header {
border-bottom: none;
padding: 24px !important;
@@ -1444,6 +1448,9 @@ button.hrl-secondary-button:active {
width: 24px;
height: 24px;
}
+.hr-modal-body .hr-form_input:checked {
+ background-color: #007bff;
+}
.hr-modal-body .hr-form_input:focus {
-webkit-box-shadow: none !important;
box-shadow: none !important;
@@ -2342,6 +2349,7 @@ button.hrl-secondary-button:active {
.scrollbar {
/* Scrollbar Styling */
+ scrollbar-color: #2B7FFF;
}
.scrollbar ::-webkit-scrollbar {
width: 7px;
@@ -2354,6 +2362,17 @@ button.hrl-secondary-button:active {
border-radius: 10px;
background: #bababa;
}
+.scrollbar.hr-module-table-container::-webkit-scrollbar {
+ width: 5px;
+}
+.scrollbar.hr-module-table-container::-webkit-scrollbar-track {
+ background: #E4E4E4;
+ border-radius: 10px;
+}
+.scrollbar.hr-module-table-container::-webkit-scrollbar-thumb {
+ background: #2B7FFF;
+ border-radius: 10px;
+}
.table-container {
width: 100%;
@@ -2363,8 +2382,7 @@ button.hrl-secondary-button:active {
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
- overflow-y: scroll;
- max-height: 500px;
+ margin-top: 16px;
}
table {
@@ -2373,14 +2391,13 @@ table {
text-align: left;
}
table thead {
- background-color: #d0e97b;
- position: sticky;
- top: 0px;
+ color: black;
}
table thead th {
padding: 12px;
- border-bottom: 2px solid #ddd;
font-size: 16px;
+ background-color: #DDF66B;
+
}
table thead th:first-child {
border-top-left-radius: 10px;
@@ -2392,12 +2409,9 @@ table .error {
color: #ff0000;
}
table tbody tr {
- border-left: 1px solid #ddd;
- border-right: 1px solid #ddd;
font-size: 14px;
-}
-table tbody tr {
border-bottom: 1px solid #ddd;
+ box-shadow: inset 1px 0 0 #ddd, inset -1px 0 0 #ddd;
}
table tbody tr:hover {
background-color: #f9f9f9;
@@ -2523,3 +2537,16 @@ table tbody tr td {
.text-orange { color: #fd7e14; }
.text-dark-red { color: #8B0000; }
+
+.animated-checkbox {
+ transition: background-color 0.3s ease, border-color 0.3s ease;
+}
+
+.animated-checkbox::after {
+ transform: scale(0) rotate(45deg);
+ transition: transform 0.2s ease;
+}
+
+.animated-checkbox:checked::after {
+ transform: scale(1) rotate(45deg);
+}
diff --git a/odoo_health_report/static/src/js/module_quality.js b/odoo_health_report/static/src/js/module_quality.js
index 0e53bb7e0..228231da2 100644
--- a/odoo_health_report/static/src/js/module_quality.js
+++ b/odoo_health_report/static/src/js/module_quality.js
@@ -25,6 +25,7 @@ export class ModuleQuality extends Component {
all_modules : {},
loading_accordian: false,
expanded_accordian: false,
+ selectedModule: false,
});
this.orm = useService("orm");
@@ -94,7 +95,6 @@ export class ModuleQuality extends Component {
}
displayViolations(name) {
- // If clicking the same module again, toggle the table visibility
if (this.state.selectedModule === name) {
this.state.selectedModule = null;
this.state.module_selected = null;
diff --git a/odoo_health_report/static/src/xml/health_dashboard.xml b/odoo_health_report/static/src/xml/health_dashboard.xml
index 17a11622c..364bc4821 100644
--- a/odoo_health_report/static/src/xml/health_dashboard.xml
+++ b/odoo_health_report/static/src/xml/health_dashboard.xml
@@ -68,7 +68,7 @@
-
+
@@ -76,16 +76,21 @@
-
+
-
+
×
+ style="background-color: #007bff; color: white; width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 12px; font-weight: bold; border-radius: 3px;">
+
+
@@ -98,13 +103,13 @@
-
+
diff --git a/odoo_health_report/static/src/xml/module_quality.xml b/odoo_health_report/static/src/xml/module_quality.xml
index bba2c932c..9540a18ea 100644
--- a/odoo_health_report/static/src/xml/module_quality.xml
+++ b/odoo_health_report/static/src/xml/module_quality.xml
@@ -50,10 +50,11 @@
-
@@ -67,10 +68,10 @@
-
@@ -84,9 +85,12 @@
-
@@ -101,54 +105,30 @@
-
-
-
-
-
-
-
-
-
- Module |
- Technical Name |
- JavaScript Lines |
- Python Lines |
- XML Lines |
-
-
-
-
-
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
- |
-
-
-
-
-
-
-
+
+
+
+
+
+ Module |
+ Technical Name |
+ JavaScript Lines |
+ Python Lines |
+ XML Lines |
+
+
+
+
+
+ |
+ |
+ |
+ |
+ |
+
+
+
+
@@ -163,27 +143,49 @@
-