Browse Source

Jun 19 : [FIX] Bug Fixed 'code_backend_theme_enterprise'

pull/257/head
AjmalCybro 2 years ago
parent
commit
a5a1c80872
  1. 4
      code_backend_theme_enterprise/README.rst
  2. 4
      code_backend_theme_enterprise/__manifest__.py
  3. 1
      code_backend_theme_enterprise/doc/RELEASE_NOTES.md
  4. 1
      code_backend_theme_enterprise/hooks.py
  5. 1
      code_backend_theme_enterprise/requirements.txt
  6. 1
      code_backend_theme_enterprise/static/src/js/chrome/sidebar.js
  7. 101
      code_backend_theme_enterprise/static/src/js/fields/graph.js
  8. 26
      code_backend_theme_enterprise/static/src/scss/datetimepicker.scss
  9. 104
      code_backend_theme_enterprise/static/src/scss/navigation_bar.scss
  10. 104
      code_backend_theme_enterprise/static/src/scss/theme.scss
  11. 85
      code_backend_theme_enterprise/static/src/xml/sidebar.xml
  12. 51
      code_backend_theme_enterprise/static/src/xml/top_bar.xml
  13. 102
      code_backend_theme_enterprise/static/src/xml/web_navbar.xml

4
code_backend_theme_enterprise/README.rst

@ -14,11 +14,11 @@ General Public License, Version 3 (LGPL v3).
Company
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
* `Cybrosys Techno Solutions <https://cybrosys.com/>`__
Credits : Abhijith KP @ Cybrosys
v16 Ahammed Harshad P @ Cybrosys

4
code_backend_theme_enterprise/__manifest__.py

@ -19,14 +19,12 @@
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
"name": "Code Backend Theme V16 Enterprise",
"summary": "Minimalist and elegant backend theme for Odoo 16 Enterprise",
"description": """Minimalist and elegant backend theme for Odoo 16 Backend Theme Enterprise, Enterprise Theme, Backend Theme, Enterprise Backend Theme, V16 Theme""",
"category": "Themes/Backend",
"version": "16.0.1.0.0",
"version": "16.0.1.1.0",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',

1
code_backend_theme_enterprise/doc/RELEASE_NOTES.md

@ -3,4 +3,5 @@
#### 22.02.2023
#### Version 16.0.1.0.0
#### ADD
Initial Commit for 'Code Backend Theme V16 Enterprise'

1
code_backend_theme_enterprise/hooks.py

@ -19,7 +19,6 @@
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
import base64
from odoo import api, SUPERUSER_ID

1
code_backend_theme_enterprise/requirements.txt

@ -0,0 +1 @@
xmltodict==0.13.0

1
code_backend_theme_enterprise/static/src/js/chrome/sidebar.js

@ -1,7 +1,6 @@
odoo.define('code_backend_theme_enterprise.SideBar', function (require) {
"use strict";
//sidebar toggle effect
$(document).on("click", "#closeSidebar", function(event){
$("#closeSidebar").hide();

101
code_backend_theme_enterprise/static/src/js/fields/graph.js

@ -1,101 +0,0 @@
odoo.define('code_backend_theme_enterprise.graph', function (require) {
"use strict";
var GraphRenderer = require('web.GraphRenderer');
var MyCOLORS = ["#556ee6", "#f1b44c", "#50a5f1", "#ffbb78", "#34c38f", "#98df8a", "#d62728",
"#ff9896", "#9467bd", "#c5b0d5", "#8c564b", "#c49c94", "#e377c2", "#f7b6d2",
"#7f7f7f", "#c7c7c7", "#bcbd22", "#dbdb8d", "#17becf", "#9edae5"];
var MyCOLOR_NB = MyCOLORS.length;
function hexToRGBA(hex, opacity) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
var rgb = result.slice(1, 4).map(function (n) {
return parseInt(n, 16);
}).join(',');
return 'rgba(' + rgb + ',' + opacity + ')';
}
return GraphRenderer.include({
_getMyColor: function (index) {
return MyCOLORS[index % MyCOLOR_NB];
},
_renderBarChart: function (dataPoints) {
var self = this;
// prepare data
var data = this._prepareData(dataPoints);
data.datasets.forEach(function (dataset, index) {
// used when stacked
dataset.stack = self.state.stacked ? self.state.origins[dataset.originIndex] : undefined;
// set dataset color
var color = self._getMyColor(index);
dataset.backgroundColor = color;
});
// prepare options
var options = this._prepareOptions(data.datasets.length);
// create chart
var ctx = document.getElementById(this.chartId);
this.chart = new Chart(ctx, {
type: 'bar',
data: data,
options: options,
});
},
_renderLineChart: function (dataPoints) {
var self = this;
// prepare data
var data = this._prepareData(dataPoints);
data.datasets.forEach(function (dataset, index) {
if (self.state.processedGroupBy.length <= 1 && self.state.origins.length > 1) {
if (dataset.originIndex === 0) {
dataset.fill = 'origin';
dataset.backgroundColor = hexToRGBA(MyCOLORS[0], 0.4);
dataset.borderColor = hexToRGBA(MyCOLORS[0], 1);
} else if (dataset.originIndex === 1) {
dataset.borderColor = hexToRGBA(MyCOLORS[1], 1);
} else {
dataset.borderColor = self._getMyColor(index);
}
} else {
dataset.borderColor = self._getMyColor(index);
}
if (data.labels.length === 1) {
// shift of the real value to right. This is done to center the points in the chart
// See data.labels below in Chart parameters
dataset.data.unshift(undefined);
}
dataset.pointBackgroundColor = dataset.borderColor;
dataset.pointBorderColor = 'rgba(0,0,0,0.2)';
});
if (data.datasets.length === 1) {
const dataset = data.datasets[0];
dataset.fill = 'origin';
dataset.backgroundColor = hexToRGBA(MyCOLORS[0], 0.4);
}
// center the points in the chart (without that code they are put on the left and the graph seems empty)
data.labels = data.labels.length > 1 ?
data.labels :
Array.prototype.concat.apply([], [[['']], data.labels, [['']]]);
// prepare options
var options = this._prepareOptions(data.datasets.length);
// create chart
var ctx = document.getElementById(this.chartId);
this.chart = new Chart(ctx, {
type: 'line',
data: data,
options: options,
});
},
});
});

26
code_backend_theme_enterprise/static/src/scss/datetimepicker.scss

@ -4,9 +4,9 @@
> thead {
> tr > .prev {
color: #fff !important;
background-color: $primary_accent !important;
background-color: #556ee6 !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
background-color: darken(#556ee6, 10%) !important;
}
> .fa{
color: #fff !important;
@ -14,9 +14,9 @@
}
> tr > .next {
color: #fff !important;
background-color: $primary_accent !important;
background-color: #556ee6 !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
background-color: darken(#556ee6, 10%) !important;
}
> .fa{
color: #fff !important;
@ -24,18 +24,18 @@
}
> tr > .picker-switch {
color: #fff !important;
background-color: $primary_accent !important;
background-color: #556ee6 !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
background-color: darken(#556ee6, 10%) !important;
}
}
}
> tbody > tr > td {
&.today:before {
border-bottom-color: $primary_accent !important;
border-bottom-color: #556ee6 !important;
}
&.active {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
}
}
@ -45,10 +45,10 @@
margin: 0;
@include transition($btn-transition);
&.primary {
background-color: $primary_accent;
background-color: #556ee6;
color: white;
&:hover {
background-color: darken($primary_accent, 20%);
background-color: darken(#556ee6, 20%);
}
}
}
@ -56,13 +56,13 @@
.daterangepicker .drp-calendar .calendar-table thead tr:first-child {
color: #FFFFFF;
background-color: $primary_accent;
background-color: #556ee6;
}
.daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active, .daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active:hover {
background-color: $primary_accent;
background-color: #556ee6;
}
.daterangepicker .drp-calendar .calendar-table thead tr:first-child th.prev:hover, .daterangepicker .drp-calendar .calendar-table thead tr:first-child th.next:hover {
background-color: darken($primary_accent, 20%);
background-color: darken(#556ee6, 20%);
}

104
code_backend_theme_enterprise/static/src/scss/navigation_bar.scss

@ -15,16 +15,16 @@ margin-right: 30px !important;
color: #ffffff !important;
}
.o_main_navbar, .btn-primary, .btn-primary:active, .o_searchview_facet_label {
background-color: $primary_accent !important;
color: $inverse_accent !important;
background-color: #556ee6 !important;
color: #ffffff !important;
}
.o_search_panel_section_icon {
color: $primary_accent !important;
color: #556ee6 !important;
}
.btn-secondary {
border-radius: 0;
border: solid 1px $primary_accent !important;
color: $primary_accent !important;
border: solid 1px #556ee6 !important;
color: #556ee6 !important;
}
.o_list_renderer .o_list_table thead {
position: sticky;
@ -32,7 +32,7 @@ color: #ffffff !important;
}
.breadcrumb-item > a, .o_menu_item > a {
color: $primary_accent !important;
color: #556ee6 !important;
}
.fa-trash {
@ -40,15 +40,15 @@ color: #ffffff !important;
}
.o_main_navbar > a:hover {
background-color: lighten($primary_accent, 10%) !important;
background-color: lighten(#556ee6, 10%) !important;
}
.o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a {
background-color: lighten($primary_accent, 10%) !important;
background-color: lighten(#556ee6, 10%) !important;
}
.o_main_navbar > .o_menu_apps > li > a:hover, .o_main_navbar > .o_menu_apps > li > a:active {
background-color: lighten($primary_accent, 10%) !important;
background-color: lighten(#556ee6, 10%) !important;
}
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show {
@ -56,7 +56,7 @@ color: #ffffff !important;
height: 93vh !important;
}
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show > a {
//border-bottom: 1px solid lighten($primary_accent, 30%);
//border-bottom: 1px solid lighten(#556ee6, 30%);
}
.o_mail_discuss_sidebar {
@ -64,7 +64,7 @@ color: #ffffff !important;
}
.dropdown-toggle:after {
background-color: lighten($primary_accent, 10%) !important;
background-color: lighten(#556ee6, 10%) !important;
}
.o_external_button {
@ -72,25 +72,25 @@ color: #ffffff !important;
}
.o_field_x2many_list_row_add > a {
color: $primary_accent !important;
color: #556ee6 !important;
}
.nav-item > a {
color: $primary_accent !important;
color: #556ee6 !important;
}
.o_main_navbar > .o_menu_apps > li > a > i {
color: $inverse_accent !important;
color: #ffffff !important;
font-size: 16px !important;
}
.o_form_uri > span {
color: $primary_accent !important;
color: #556ee6 !important;
}
.o_required_modifier.o_input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
background-color: #ffffff !important;
color: #556ee6 !important;
border-left: solid 3px #f46a6a !important;
}
@ -102,15 +102,15 @@ color: #ffffff !important;
padding: 0px !important;
}
.o-no-caret > i, button[aria-pressed=true] {
color: $inverse_accent !important;
color: #ffffff !important;
}
.o_loading {
background-color: $primary_accent;
background-color: #556ee6;
}
.fas {
color: $inverse_accent !important;
color: #ffffff !important;
}
.dashboard_mainbar {
@ -127,12 +127,12 @@ color: #ffffff !important;
}
.o_required_modifier.o_input, .o_required_modifier.o_input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
background-color: #ffffff !important;
color: #556ee6 !important;
border-left: solid 3px #f46a6a !important;
}
.o_required_modifier .o_input, .o_required_modifier .o_input {
background-color: $inverse_accent !important;
background-color: #ffffff !important;
}
@ -142,81 +142,81 @@ color: #ffffff !important;
}
.o_required_modifier > .o_input_dropdown > .ui-autocomplete-input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
background-color: #ffffff !important;
color: #556ee6 !important;
border-left: solid 3px #f46a6a !important;
}
.o_datepicker.o_field_date.o_field_widget.o_required_modifier > input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
background-color: #ffffff !important;
color: #556ee6 !important;
border-left: solid 3px #f46a6a !important;
}
.ui-state-active {
background-color: $primary_accent !important;
color: $inverse_accent !important;
background-color: #556ee6 !important;
color: #ffffff !important;
}
.oe_search_bgnd {
background-color: lighten($primary_accent, 20%) !important;
color: $inverse_accent !important;
background-color: lighten(#556ee6, 20%) !important;
color: #ffffff !important;
}
.oe_search_tab {
background-color: $primary_accent !important;
color: $inverse_accent !important;
background-color: #556ee6 !important;
color: #ffffff !important;
}
.o_horizontal_separator {
color: $primary_accent !important
color: #556ee6 !important
}
.o_field_widget.o_field_image .o_form_image_controls {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
.o_field_widget.o_field_image .o_form_image_controls > button {
color: $inverse_accent !important;
color: #ffffff !important;
}
.dropdown-item.o_app.mt0:hover , .dropdown-item.o_app.mt0:hover > .a_app_menu_title{
background-color: $primary_accent !important;
color: $inverse_accent !important;
background-color: #556ee6 !important;
color: #ffffff !important;
}
.o_address_country{
display: none !important;
}
div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
div.o_boolean_toggle.custom-control.o-checkbox > input.custom-control-input:checked + label.form-check-label::before {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
.o_mail_systray_item .o_mail_systray_dropdown .o_mail_systray_dropdown_top .o_filter_button.active {
color: $primary_accent;
color: #556ee6;
text-decoration: none;
}
.o_mail_user_status.o_user_online {
color: #fff !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled::after {
border-left-color: $primary_accent !important;
border-left-color: #556ee6 !important;
}
.btn-link {
font-weight: 400;
color: $primary_accent !important;
color: #556ee6 !important;
text-decoration: none;
}
.o_thread_window_header {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
.o_thread_window_close,.o_thread_window_expand{
color: $inverse_accent !important;
color: #ffffff !important;
}
.o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $primary_accent !important;
background: #556ee6 !important;
}
.fa-building-o{
color: white !important;
@ -266,14 +266,14 @@ border: solid 2px #cf4137 !important;
}
.report_button{
border-radius: 0 !important;
border: solid 2px $primary_accent;
background: $primary_accent !important;
border: solid 2px #556ee6;
background: #556ee6 !important;
}
.report_button:hover,.report_button:active{
border-radius: 0 !important;
border: solid 2px $primary_accent !important;
color: $primary_accent !important;
background: $inverse_accent !important;
border: solid 2px #556ee6 !important;
color: #556ee6 !important;
background: #ffffff !important;
}
.btn-primary{
border-radius: 0 !important;
@ -415,7 +415,7 @@ ul.o_menu_sections{
.o_menu_toggle{
scale: 1.5;
color: $f_color;
color: #555b6d;
margin-top: 1px;
}
nav.o_main_navbar.small_nav {

104
code_backend_theme_enterprise/static/src/scss/theme.scss

@ -51,7 +51,7 @@ button.o_hr_attendance_sign_in_out_icon{
}
.o_main_navbar .dropdown .dropdown-toggle:hover, .o_main_navbar .o_nav_entry:hover, .o_main_navbar > .o_menu_sections > div:hover, .o_main_navbar > .o_menu_sections > div > a:hover, .o_main_navbar .o_menu_systray > div:hover, .o_main_navbar .o_menu_systray > div > a:hover, .o_main_navbar .o_menu_toggle:hover, .o_main_navbar .o_navbar_apps_menu:hover, .o_main_navbar .o_menu_brand:hover, .o_main_navbar .dropdown .dropdown-toggle:focus, .o_main_navbar .o_nav_entry:focus, .o_main_navbar > .o_menu_sections > div:focus, .o_main_navbar > .o_menu_sections > div > a:focus, .o_main_navbar .o_menu_systray > div:focus, .o_main_navbar .o_menu_systray > div > a:focus, .o_main_navbar .o_menu_toggle:focus, .o_main_navbar .o_navbar_apps_menu:focus, .o_main_navbar .o_menu_brand:focus, .o_main_navbar .dropdown .focus.dropdown-toggle, .o_main_navbar .focus.o_nav_entry, .o_main_navbar > .o_menu_sections > div.focus, .o_main_navbar > .o_menu_sections > div > a.focus, .o_main_navbar .o_menu_systray > div.focus, .o_main_navbar .o_menu_systray > div > a.focus, .o_main_navbar .focus.o_menu_toggle, .o_main_navbar .focus.o_navbar_apps_menu, .o_main_navbar .focus.o_menu_brand {
color: $f_color;
color: #555b6d;
}
//Top Bar
body {
@ -59,10 +59,10 @@ body {
background-color: #f8f8fb;
}
a {
color: $primary_accent;
color: #556ee6;
}
a:hover {
color: $primary_hover;
color: #485ec4;
}
a.btn {
height: auto !important;
@ -71,20 +71,20 @@ a.btn {
.o_main_navbar, .o_searchview_facet_label {
background-color: transparent !important;
color: $f_color !important;
color: #555b6d !important;
border:1px !important;
}
.o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $bg_white !important;
background: #ffffff !important;
}
.oe_title{
padding: 10px;
}
.oe_topbar_name {
color: $f_color !important;
color: #555b6d !important;
}
.o_main_navbar > .o_menu_apps > li > a > i {
color: $f_color !important;
color: #555b6d !important;
font-size: 16px !important;
}
.o_main_navbar {
@ -114,18 +114,18 @@ background: $bg_white !important;
.top_heading li {
list-style: none;
}
//herereed
.o-no-caret > i, button[aria-pressed="true"] {
color: $f_color !important;
color: #555b6d !important;
}
.o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label {
height: 46px;
padding: 0 5px;
color: $f_color !important;
color: #555b6d !important;
line-height: 46px;
}
.o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a {
background-color: $bg_white !important;
background-color: #ffffff !important;
}
@ -214,7 +214,7 @@ background: $bg_white !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before {
right: -11px;
border-left-color: $primary_accent !important;
border-left-color: #556ee6 !important;
}
//Top Bar End
@ -244,14 +244,14 @@ background: $bg_white !important;
}
.btn-primary {
color: #fff !important;
background-color: $primary_accent !important;
border-color: $primary_accent !important;
background-color: #556ee6 !important;
border-color: #556ee6 !important;
min-height:auto;
margin: 0.25rem;
}
.btn-primary:hover {
color: #fff !important;
background-color: $primary_hover !important;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
}
.btn-primary:active {
@ -561,7 +561,7 @@ th.o_list_record_selector {
.o-checkbox .form-check-input:disabled:checked ~ .form-check-label::before {
background-color: $primary_accent;
background-color: #556ee6;
}
.o-checkbox input:checked + label::after {
@ -618,7 +618,7 @@ th.o_list_record_selector {
vertical-align: middle;
border: 1px solid rgba(85,110,230,.25)!important;
background-color: rgba(85,110,230,.25)!important;
color: $primary_accent !important;
color: #556ee6 !important;
border-radius: 5px;
}
.o_radio_input{
@ -639,10 +639,10 @@ th.o_list_record_selector {
border: #adb5bd solid 1px !important;
}
.form-check-input:checked{
background: $primary_accent !important;
background: #556ee6 !important;
}
.o_radio_input .form-check-input:checked ~ .form-check-label::after {
background: $primary_accent !important;
background: #556ee6 !important;
border-radius: 30px;
}
// Checkbox End
@ -668,6 +668,14 @@ th.o_list_record_selector {
padding-left: 16px;
border-radius: 5px;
}
.o_field_widget {
display: inline;
}
.o_field_radio .o_vertical{
display: flex !important;
}
.o_form_view .o_form_statusbar {
position: relative;
display: -webkit-box;
@ -736,10 +744,10 @@ th.o_list_record_selector {
color: #34c38f;
}
.o_Message_prettyBody table th {
color: $primary_accent !important;
color: #556ee6 !important;
}
.o_Message_prettyBody table thead tr td {
background-color: $primary_hover !important;
background-color: #485ec4 !important;
}
// Discuss End
@ -758,7 +766,7 @@ th.o_list_record_selector {
border-radius: 5px;
}
.o_Discuss .o_Message .o_Message_prettyBody p a {
background: $primary_accent !important;
background: #556ee6 !important;
}
.o_Message.o-not-discussion {
background-color: #eff2f7;
@ -806,7 +814,7 @@ i.o_PartnerImStatusIcon_outerBackground.fa.fa-circle.fa-stack-1x {
border: none;
border-bottom: solid;
font-weight: bold;
background: $primary_accent !important;
background: #556ee6 !important;
color: #ffffff !important;
border-radius: 5px;
}
@ -847,7 +855,7 @@ ul.sidebar_menu .nav-link:hover,ul.sidebar_menu .nav-link:focus {
}
.btn-link {
font-weight: 400;
color: $primary_accent !important;
color: #556ee6 !important;
text-decoration: none;
}
.o_activity_view .o_record_selector {
@ -905,6 +913,11 @@ select {
bottom: auto;
right: 9px;
}
.o_field_widget.o_field_many2many_tags .badge, .o_field_widget.o_field_many2many_tags_avatar .badge{
height: 27px !important;
}
.o_datepicker .o_datepicker_button {
position: absolute;
top: 6px;
@ -1127,21 +1140,21 @@ div[name="options"] .o_field_boolean .form-check{
box-shadow: none !important;
}
.o_inner_box {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
border-radius: 5px;
}
.o_inner_box:hover {
background-color: $primary_hover !important;
background-color: #485ec4 !important;
}
//Website app ends
//Purchase app starts
td.o_main {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
border-radius: 5px;
}
td.o_main:hover {
background-color: $primary_hover !important;
background-color: #485ec4 !important;
}
.o_purchase_dashboard .table > thead > tr > td,
.o_purchase_dashboard .table tbody > tr > td {
@ -1255,12 +1268,12 @@ select, input {
.o_hr_attendance_sign_in_out_icon {
color: #fff !important;
background-color: $primary_accent !important;
border-color: $primary_accent !important;
background-color: #556ee6 !important;
border-color: #556ee6 !important;
}
.o_hr_attendance_sign_in_out_icon:hover {
color: #fff !important;
background-color: $primary_hover !important;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
}
.o_hr_attendance_sign_in_out_icon:active {
@ -1276,7 +1289,7 @@ select, input {
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.o_hr_attendance_kiosk_mode h3.mt0.mb0.text-muted {
color: $primary_accent !important;
color: #556ee6 !important;
}
.o_hr_attendance_button_employees div.mb16.mt16 {
margin-top: 4px !important;
@ -1303,10 +1316,10 @@ select, input {
//sale status icon starts
.bg-primary {
background-color: $primary_accent !important;
background-color: #556ee6 !important;
}
.bg-secondary {
background-color: $secondary_accent !important;
background-color: #334332 !important;
}
.bg-success-light, .text-bg-success {
color: #1f7556 !important;
@ -1574,16 +1587,12 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
}
//groupby color ends
//Mee
.o_dropdown .o_dropdown_title{
padding : 0px;
}
.o_searchview .o_searchview_input_container .o_searchview_facet {
display: -webkit-box;
display: -webkit-flex;
@ -1609,10 +1618,6 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
color: #555b6d !important;
}
.o_content > .o_list_renderer > .table:not(.o_list_table_grouped) > tbody > tr:not(.o_list_table_grouped) > td {
padding: 10px 4px;
}
@ -1630,6 +1635,9 @@ div.dropdown-menu.bootstrap-datetimepicker-widget{
padding: 0 15px;
}
.o_form_view .o_field_widget{
margin-bottom: 0px !important;
}
.reminder_day {
display: flex;
@ -1907,7 +1915,7 @@ nav.o_main_navbar {
padding: 8px;
}
.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header {
background: $primary_accent;
background: #556ee6;
}
.o_form_view .o_group .o_group_col_6 {
width: 100%;
@ -1955,7 +1963,7 @@ nav.o_main_navbar {
.o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle, .o_main_navbar .o_nav_entry, .o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_systray .o_nav_entry, .o_main_navbar > .o_menu_sections > div, .o_main_navbar > .o_menu_sections > div > a, .o_main_navbar .o_menu_systray > div, .o_main_navbar .o_menu_systray > div > a, .o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu, .o_main_navbar .o_menu_brand
{
color:$f_color;
color:#555b6d;
}
@ -1964,13 +1972,13 @@ color:$f_color;
}
.o_main_navbar .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle, .o_main_navbar > .o_menu_sections > div.show > a, .o_main_navbar .o_menu_systray > div.show > a, .o_main_navbar .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:hover, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:hover, .o_main_navbar > .o_menu_sections > div.show > a:hover, .o_main_navbar .o_menu_systray > div.show > a:hover, .o_main_navbar .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_sections .dropdown.show > .dropdown-toggle:focus, .o_main_navbar .o_menu_systray .dropdown.show > .dropdown-toggle:focus, .o_main_navbar > .o_menu_sections > div.show > a:focus, .o_main_navbar .o_menu_systray > div.show > a:focus{
color:$f_color;
color:#555b6d;
}
.o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu{
color:$f_color;
color:#555b6d;
}
.o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle, .o_main_navbar .o_menu_systray .dropdown .dropdown-toggle{
color:$f_color;
color:#555b6d;
}
.side_bar_icon{
margin:0.5%;
@ -1980,5 +1988,5 @@ color:$f_color;
justify-content:end;
}
.o_searchview .o_searchview_facet .o_facet_values{
border :1px solid white;
border :1px solid #f8f8fb;
}

85
code_backend_theme_enterprise/static/src/xml/sidebar.xml

@ -1,72 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<xpath expr="//nav[hasclass('o_main_navbar')]" position="replace">
<nav class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar">
<div class="top_heading">
<!-- Apps Menu -->
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<!-- App Brand -->
<MenuItem t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
</div>
<!-- Current App Sections -->
<t t-if="currentAppSections.length" t-call="web.NavBar.SectionsMenu">
<t t-set="sections" t-value="currentAppSections" />
</t>
<!-- Systray -->
<div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item_index">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props" />
</ErrorHandler>
</NotUpdatable>
</t>
</div>
</nav>
<div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar">
<div class="sidebar_close">
<a id="closeSidebar" style="cursor: pointer;">
<img src="/code_backend_theme_enterprise/static/src/img/icons/close.png"/>
</a>
</div>
<div class="sidebar_logo">
<img src="/web/binary/company_logo" class="logo_img"/>
</div>
<h6 class="sidebar_head">MENU</h6>
<ul class="sidebar_menu">
<t t-foreach="menuService.getApps()" t-as="app" t-key="app.id">
<li>
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="nav-link">
<img class="sidebar_img"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<span class="sidebar_app_name">
<t t-esc="app.name"/>
</span>
</a>
</li>
</t>
</ul>
</div>
</div>
</xpath>
</t>
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<xpath expr="//nav[hasclass('o_main_navbar')]" position="after">
<div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar">
<div class="sidebar_close">
<a id="closeSidebar" style="cursor: pointer;">
<img src="/code_backend_theme_enterprise/static/src/img/icons/close.png"/>
</a>
</div>
<div class="sidebar_logo">
<img src="/web/binary/company_logo" class="logo_img"/>
</div>
</div>
</div>
</xpath>
</t>
</templates>

51
code_backend_theme_enterprise/static/src/xml/top_bar.xml

@ -1,41 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar" t-inherit-mode="extension"
owl="1">
<xpath expr="//t[@t-call='web.NavBar.AppsMenu']" position="replace">
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<MenuItem
t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
</xpath>
</t>
<t t-inherit="web_enterprise.EnterpriseNavBar" t-inherit-mode="extension"
owl="1">
<xpath expr="//a" position="replace">
<span class="side_bar_icon">
<a id="openSidebar"
style="display: block; cursor: pointer;">
<i class="fa fa-arrow-circle-right fa-2x"/>
</a>
<a id="closeSidebar"
style="display: none; cursor: pointer;">
<i class="fa fa-arrow-circle-left fa-2x"/>
</a>
</span>
<span>
<a href="#" class="fa o_menu_toggle fa-th" accesskey="h"
t-ref="menuApps" t-on-click.prevent="() => this.hm.toggle()"/>
</span>
<a href="#" class="o_menu_toggle" accesskey="h" t-ref="menuApps" t-on-click.prevent="() => this.hm.toggle()">
<svg width="14px" height="14px" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg" >
<g t-foreach="[0, 5, 10]" t-as="Y" t-att-id="'o_menu_toggle_row_' + Y_index" fill="currentColor" t-key="'o_menu_toggle_row_' + Y_index">
<rect t-foreach="[0, 5, 10]" t-as="X" width="4" height="4" t-att-x="X" t-att-y="Y" t-key="'o_menu_toggle_cell_' + X_index"/>
</g>
</svg>
</a>
<span class="side_bar_icon">
<a id="openSidebar"
style="display: block; cursor: pointer;">
<i class="fa fa-arrow-circle-right fa-2x"/>
</a>
<a id="closeSidebar"
style="display: none; cursor: pointer;">
<i class="fa fa-arrow-circle-left fa-2x"/>
</a>
</span>
</xpath>
<xpath expr="//nav" position="after">
@ -69,5 +53,4 @@
</span>
</xpath>
</t>
</templates>

102
code_backend_theme_enterprise/static/src/xml/web_navbar.xml

@ -1,52 +1,39 @@
<?xml version="1.0" encoding="UTF-8" ?>
<templates xml:space="preserve">
<t t-name="web.NavBar" owl="1">
<header>
<nav
class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar"
>
<nav class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar">
<!-- Apps Menu -->
<t t-call="web.NavBar.AppsMenu">
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<!-- App Brand -->
<MenuItem
t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
<!-- Current
App Sections -->
<t t-if="currentAppSections.length"
t-call="web.NavBar.SectionsMenu">
<!-- App Brand -->
<DropdownItem
t-if="currentApp"
href="getMenuItemHref(currentApp)"
t-esc="currentApp.name"
class="'o_menu_brand d-none d-md-block'"
dataset="{ menuXmlid: currentApp.xmlid, section: currentApp.id }"
onSelected="() => this.onNavBarDropdownItemSelection(currentApp)"/>
<!-- Current App Sections -->
<t t-if="currentAppSections.length"
t-call="web.NavBar.SectionsMenu">
<t t-set="sections" t-value="currentAppSections"/>
</t>
<!-- Systray -->
<div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item.key">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props"/>
</ErrorHandler>
</NotUpdatable>
</t>
</div>
</nav>
</header>
</t>
<t t-name="web.NavBar.AppsMenu" owl="1">
<Dropdown hotkey="'h'" title="'Home Menu'" class="o_navbar_apps_menu">
<t t-set-slot="toggler">
@ -58,59 +45,50 @@
<i class="fa fa-search"/>
</div>
</div>
<!-- <button t-on-click.prevent="menuService.valueChage" class="main_dino" value="click">Click</button>-->
<!-- </button>-->
<input type="search"
autocomplete="off"
t-on-input="valueChage"
placeholder="Search menus..." class="hi_dino"/>
</div>
<MenuItem
<DropdownItem
t-foreach="apps"
t-as="app"
t-key="app.id"
class="o_app"
t-att-class="{ focus: menuService.getCurrentApp() === app }"
href="getMenuItemHref(app)"
payload="app"
t-esc="app.name"
/>
dataset="{ menuXmlid: app.xmlid, section: app.id }"
onSelected="() => this.onNavBarDropdownItemSelection(app)"/>
</Dropdown>
</t>
<t t-name="web.NavBar.SectionsMenu" owl="1">
<div class="o_menu_sections" t-ref="appSubMenus" role="menu">
<t t-foreach="sections" t-as="section" t-key="section.id">
<t
t-set="sectionsVisibleCount"
t-value="(sections.length - currentAppSectionsExtra.length)"
/>
<t t-set="sectionsVisibleCount"
t-value="(sections.length - currentAppSectionsExtra.length)"/>
<t t-if="section_index lt Math.min(10, sectionsVisibleCount)">
<t t-set="hotkey" t-value="((section_index + 1) % 10).toString()"/>
</t>
<t t-else="">
<t t-set="hotkey" t-value="undefined"/>
</t>
<t t-if="!section.childrenTree.length">
<MenuItem
<DropdownItem
title="section.name"
class="o_nav_entry"
payload="section"
href="getMenuItemHref(section)"
hotkey="hotkey"
t-esc="section.name"
/>
dataset="{ menuXmlid: currentApp.xmlid, section: currentApp.id }"
onSelected="() => this.onNavBarDropdownItemSelection(currentApp)"/>
</t>
<t t-else="">
<MenuDropdown
hotkey="hotkey"
title="section.name"
xmlid="section.xmlid"
>
xmlid="section.xmlid">
<t t-set-slot="toggler">
<span t-esc="section.name" t-att-data-section="section.id"/>
</t>
@ -120,7 +98,6 @@
</MenuDropdown>
</t>
</t>
<t t-if="currentAppSectionsExtra.length"
t-call="web.NavBar.SectionsMenu.MoreDropdown">
<t t-set="sections" t-value="currentAppSectionsExtra"/>
@ -129,55 +106,47 @@
t-value="(sectionsVisibleCount + 1 % 10).toString()"/>
</t>
</t>
</div>
</t>
<t t-name="web.NavBar.SectionsMenu.Dropdown.MenuSlot" owl="1">
<t t-foreach="items" t-as="item" t-key="item.id">
<MenuItem
<DropdownItem
t-if="!item.childrenTree.length"
payload="item"
href="getMenuItemHref(item)"
class="dropdown-item"
t-esc="item.name"
/>
dataset="{ menuXmlid: item.xmlid, section: item.id }"
onSelected="() => this.onNavBarDropdownItemSelection(item)"/>
<t t-else="">
<div class="dropdown-menu_group dropdown-header" t-esc="item.name"/>
<MenuItem
<DropdownItem
t-foreach="item.childrenTree"
t-as="subItem"
t-key="subItem.id"
class="o_dropdown_menu_group_entry dropdown-item"
payload="subItem"
href="getMenuItemHref(subItem)"
t-esc="subItem.name"
/>
dataset="{ menuXmlid: subItem.xmlid, section: subItem.id }"
onSelected="() => this.onNavBarDropdownItemSelection(subItem)"/>
</t>
</t>
</t>
<t t-name="web.NavBar.SectionsMenu.MoreDropdown" owl="1">
<Dropdown class="o_menu_sections_more" title="'More Menu'" hotkey="hotkey">
<t t-set-slot="toggler">
<i class="fa fa-plus"/>
</t>
<t t-foreach="sections" t-as="section" t-key="section.id">
<t t-if="!section.childrenTree.length">
<MenuItem
<DropdownItem
class="o_more_dropdown_section"
payload="section"
href="getMenuItemHref(section)"
t-esc="section.name"
/>
dataset="{ menuXmlid: section.xmlid, section: section.id }"
onSelected="() => this.onNavBarDropdownItemSelection(section)"/>
</t>
<t t-else="">
<div
class="o_more_dropdown_section o_more_dropdown_section_group dropdown-header bg-100"
t-esc="section.name"
/>
<div class="o_more_dropdown_section o_more_dropdown_section_group dropdown-header bg-100"
t-esc="section.name"/>
<t t-call="web.NavBar.SectionsMenu.Dropdown.MenuSlot">
<t t-set="items" t-value="section.childrenTree"/>
</t>
@ -185,5 +154,4 @@
</t>
</Dropdown>
</t>
</templates>

Loading…
Cancel
Save