[MERGE] *: use SCSS as language for design (instead of LESS)

The main reason this is done is to prepare the migration to bootstrap 4.
It has other advantages though, like speed to compute the css and more
convenient language features (if/else/maps/...).

Detailed information about this merge can be found in the merge's
sub-commits.
This commit is contained in:
qsm-odoo
2018-04-18 16:14:28 +02:00
470 changed files with 18803 additions and 20167 deletions
+1 -2
View File
@@ -13,7 +13,6 @@ recursive-include odoo *.ico
recursive-include odoo *.jpeg
recursive-include odoo *.jpg
recursive-include odoo *.js
recursive-include odoo *.less
recursive-include odoo *.md
recursive-include odoo *.mp3
recursive-include odoo *.ogg
@@ -26,7 +25,7 @@ recursive-include odoo *.po
recursive-include odoo *.rml
recursive-include odoo *.rng
recursive-include odoo *.rst
recursive-include odoo *.sass
recursive-include odoo *.scss
recursive-include odoo *.sql
recursive-include odoo *.svg
recursive-include odoo *.template
-9
View File
@@ -1,9 +0,0 @@
# NOTE: please keep your version of sass up to date: sudo gem update
.PHONY: watch css
SASS_FILES=$(wildcard addons/*/static/src/css/*.sass openerp/addons/*/static/src/css/*.sass)
CSS_FILES=$(patsubst %.sass,%.css,${SASS_FILES})
css: ${CSS_FILES}
%.css: %.sass
sass -t expanded --compass --unix-newlines --sourcemap=none $< $@
watch:
sass -t expanded --compass --unix-newlines --sourcemap=none --watch .:.
@@ -1,24 +1,24 @@
.o_kanban_view.o_kanban_dashboard.o_account_kanban {
&.o_kanban_ungrouped .o_account_dashboard_header {
margin: (0 - @o-kanban-record-margin) (@o-kanban-record-margin - @odoo-horizontal-padding) @o-kanban-record-margin;
margin: (0 - $o-kanban-record-margin) ($o-kanban-record-margin - $o-horizontal-padding) $o-kanban-record-margin;
}
.o_account_dashboard_header {
.o-flex(1, 0, 100%);
.o-flex-flow(column, nowrap);
.o-align-self(flex-start);
@include o-flex(1, 0, 100%);
@include o-flex-flow(column, nowrap);
@include o-align-self(flex-start);
width: 100%;
height: auto; // cancel o_form_view height 100%, which hides the help tip message at the bottom of the screen
min-height: 0%; // cancel o_form_view min-height 100%, which hides the help tip message at the bottom of the screen
background-color: @odoo-view-background-color;
background-color: $o-view-background-color;
.o_form_statusbar {
padding-right: @odoo-horizontal-padding;
padding-right: $o-horizontal-padding;
}
h4 {
font-size: @font-size-base;
font-size: $font-size-base;
font-weight: 500;
}
@@ -30,31 +30,31 @@
}
.o_arrow_button.btn-default {
color: @text-muted;
color: $text-muted;
text-transform: none;
font-weight: 500;
.o_account_dashboard_index {
color: @gray-dark;
color: $gray-dark;
}
&.o_action_done {
color: @gray-dark;
background-color: @gray-lighter;
color: $gray-dark;
background-color: $gray-lighter;
&:after {
border-left-color: @gray-lighter;
border-left-color: $gray-lighter;
}
.fa-check {
color: @brand-success;
color: $brand-success;
}
}
&:last-of-type {
margin-left: @odoo-horizontal-padding;
padding-left: @odoo-horizontal-padding*.5;
border-left: 1px solid @gray-lighter-dark;
margin-left: $o-horizontal-padding;
padding-left: $o-horizontal-padding*.5;
border-left: 1px solid $gray-lighter-dark;
}
}
}
@@ -6,17 +6,17 @@
}
.o_kanban_card_settings {
padding-top: @odoo-horizontal-padding/2;
padding-bottom: @odoo-horizontal-padding/2;
padding-top: $o-horizontal-padding/2;
padding-bottom: $o-horizontal-padding/2;
border-top: 1px solid;
border-color: @odoo-brand-lightsecondary;
border-color: $o-brand-lightsecondary;
}
.o_dashboard_star {
font-size: 12px;
&.fa-star-o {
color: @odoo-main-color-muted;
color: $o-main-color-muted;
&:hover {
color: gold;
}
@@ -27,7 +27,7 @@
}
.o_dashboard_graph {
margin-bottom: -@odoo-horizontal-padding/2;
margin-bottom: -$o-horizontal-padding/2;
}
}
@@ -58,7 +58,7 @@
}
g.tick.major {
// Don't know why, but leads to strange bold text
// stroke: @odoo-brand-primary;
// stroke: $o-brand-primary;
line {
display: none;
@@ -72,13 +72,13 @@
g.nv-linesWrap {
g.nv-group.nv-series-0 {
fill-opacity: 0.3 !important;
fill: @odoo-brand-primary !important;
stroke: @odoo-brand-primary !important;
fill: $o-brand-primary !important;
stroke: $o-brand-primary !important;
.nv-point {
visibility: hidden;
r: 3;
stroke: @odoo-brand-primary !important;
stroke: $o-brand-primary !important;
fill: white;
stroke-width: 2;
}
@@ -99,11 +99,11 @@
g.nv-group.nv-series-0 {
g.past {
opacity: 0.5;
fill: @odoo-brand-primary !important;
fill: $o-brand-primary !important;
}
g.future {
opacity: 0.5;
fill: @odoo-brand-optional !important;
fill: $o-brand-optional !important;
}
}
}
@@ -1,11 +1,3 @@
@actionColWidth: 15px;
@mainTableBordersPadding: 3px;
@lightBorder: 1px solid #bbb;
@accountingBorder: 1px solid #000;
@initialLineBackground: #f0f0f0;
@infoColor: #44c;
.o_reconciliation {
h1 {
width: 48%;
@@ -16,9 +8,9 @@
height: 1.5em;
line-height: 1.5em;
&.statement_name {
.o-text-overflow();
@include o-text-overflow;
&.editable:hover {
outline: 1px dashed @odoo-brand-optional;
outline: 1px dashed $o-brand-optional;
outline-offset: -1px;
cursor: pointer;
}
@@ -51,7 +43,7 @@
.o_view_noreconciliation {
max-width: none;
padding: 0 10%;
color: @odoo-main-color-muted;
color: $o-main-color-muted;
font-size: 125%;
}
@@ -110,16 +102,16 @@
cursor: pointer;
}
tr.already_reconciled {
color: @infoColor;
color: $o-account-info-color;
}
tr.invalid {
text-decoration: line-through;
}
thead td {
border-top: @lightBorder;
border-top: $o-account-light-border;
padding-top: 4px;
padding-bottom: 5px;
background-color: @initialLineBackground;
background-color: $o-account-initial-line-background;
}
tfoot td {
color: #bbb;
@@ -129,7 +121,7 @@
.cell_action {
width: 15px;
color: @gray;
color: $gray;
background: #fff;
border: 0;
.fa-add-remove:before {
@@ -182,29 +174,19 @@
td {
padding-top: 10px;
text-align: center;
color: @infoColor;
color: $o-account-info-color;
}
}
/* Icons */
.toggle_match, .toggle_create {
.o-transform(rotate(0deg));
.o-transition(transform, 300ms);
@include o-transform(rotate(0deg));
@include o-transition(transform, 300ms);
}
.visible_toggle {
.visible_toggle, &[data-mode="match"] .toggle_match, &[data-mode="create"] .toggle_create {
visibility: visible !important;
.o-transform(rotate(90deg));
}
&[data-mode="match"] {
.toggle_match {
.visible_toggle;
}
}
&[data-mode="create"] {
.toggle_create {
.visible_toggle;
}
@include o-transform(rotate(90deg));
}
/* Match view & Create view */
@@ -214,18 +196,18 @@
overflow: hidden;
margin-top: 5px;
margin-bottom: 5px;
.o-transition(max-height, 250ms);
@include o-transition(max-height, 250ms);
}
&[data-mode="match"] > .match {
max-height: none;
.o-transition(max-height, 400ms);
@include o-transition(max-height, 400ms);
}
&[data-mode="create"] > .create {
max-height: 210px;
.o-transition(max-height, 400ms);
@include o-transition(max-height, 400ms);
}
}
/* Match view */
.match {
@@ -241,7 +223,7 @@
content: "\f067";
}
.match_controls {
padding: 0 0 5px (@actionColWidth+@mainTableBordersPadding);
padding: 0 0 5px ($o-account-action-col-width+$o-account-main-table-borders-padding);
.filter {
width: 240px;
@@ -264,7 +246,7 @@
}
.show_more {
display: inline-block;
margin-left: (@actionColWidth+@mainTableBordersPadding);
margin-left: ($o-account-action-col-width+$o-account-main-table-borders-padding);
margin-top: 5px;
}
}
@@ -272,7 +254,7 @@
/* Create view */
.create {
> div {
margin: 0 @actionColWidth;
margin: 0 $o-account-action-col-width;
padding: 10px;
overflow: auto;
border: 1px solid #ddd;
@@ -304,7 +286,7 @@
.add_line_container {
text-align: center;
clear: both;
color: @infoColor;
color: $o-account-info-color;
cursor: pointer;
}
}
@@ -0,0 +1,5 @@
$o-account-action-col-width: 15px !default;
$o-account-main-table-borders-padding: 3px !default;
$o-account-light-border: 1px solid #bbb !default;
$o-account-initial-line-background: #f0f0f0 !default;
$o-account-info-color: #44c !default;
+9 -3
View File
@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="_assets_backend_helpers" inherit_id="web._assets_backend_helpers">
<xpath expr="//link" position="before">
<link rel="stylesheet" type="text/scss" href="/account/static/src/scss/variables.scss"/>
</xpath>
</template>
<template id="assets_backend" name="account assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/account/static/src/css/account_bank_and_cash.css"/>
<link rel="stylesheet" href="/account/static/src/css/account.css"/>
<link rel="stylesheet" href="/account/static/src/less/account_reconciliation.less"/>
<link rel="stylesheet" href="/account/static/src/less/account_journal_dashboard.less"/>
<link rel="stylesheet" href="/account/static/src/less/account_dashboard.less"/>
<link rel="stylesheet" type="text/scss" href="/account/static/src/scss/account_reconciliation.scss"/>
<link rel="stylesheet" type="text/scss" href="/account/static/src/scss/account_journal_dashboard.scss"/>
<link rel="stylesheet" type="text/scss" href="/account/static/src/scss/account_dashboard.scss"/>
<script type="text/javascript" src="/account/static/src/js/reconciliation/reconciliation_action.js"></script>
<script type="text/javascript" src="/account/static/src/js/reconciliation/reconciliation_model.js"></script>
@@ -29,7 +29,7 @@
</t>
</div>
<t t-if="journal_type == 'bank' || journal_type == 'cash' || journal_type == 'sale' || journal_type == 'purchase'" t-call="JournalBodyGraph"/>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<t t-call="JournalManage"/>
</div>
</div>
@@ -1,9 +1,9 @@
.o_web_client .o_deprec_lines_toggler {
color: @brand-danger;
color: $brand-danger;
&.o_is_posted {
color: @brand-success;
color: $brand-success;
}
&.o_unposted {
color: @brand-warning;
color: $brand-warning;
}
}
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="account assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/account_asset/static/src/less/account_asset.less"/>
<link rel="stylesheet" type="text/scss" href="/account_asset/static/src/scss/account_asset.scss"/>
<script type="text/javascript" src="/account_asset/static/src/js/account_asset.js"></script>
</xpath>
</template>
@@ -27,7 +27,7 @@
<label for="auth_oauth_google_client_id" string="Client ID:" class="col-md-3 o_light_label"/>
<field name="auth_oauth_google_client_id" placeholder="e.g. 1234-xyz.apps.googleusercontent.com"/>
</div>
<a href="https://www.odoo.com/documentation/user/online/general/auth/google.html" target="_blank" class="oe_link"><i class="fa fa-fw fa-arrow-right"/>Tutorial</a>
<a href="https://www.odoo.com/documentation/user/online/general/auth/google.html" target="_blank"><i class="fa fa-fw fa-arrow-right"/>Tutorial</a>
</div>
</div>
</div>
@@ -281,7 +281,7 @@ var DataImport = AbstractAction.extend(ControlPanelMixin, {
// TODO: test that write // succeeded?
this.$el.removeClass('oe_import_preview_error oe_import_error');
this.$el.toggleClass(
'oe_import_noheaders',
'oe_import_noheaders text-muted',
!this.$('input.oe_import_has_header').prop('checked'));
this._rpc({
model: 'base_import.import',
@@ -1,5 +1,5 @@
.oe_import {
.o-webclient-padding(@top: 8px);
@include o-webclient-padding($top: 8px);
background-color: white;
overflow: auto;
position: absolute; // Needed for chrome
@@ -7,7 +7,7 @@
right: 0;
bottom: 0;
left: 0;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
position: static;
}
@@ -29,7 +29,7 @@
.oe_import_box {
padding: 16px;
background: #F0EEEE;
border-radius: @border-radius-base;
border-radius: $border-radius-base;
border: solid 1px #dddddd;
label {
font-weight: normal;
@@ -84,10 +84,6 @@
display: block;
}
.oe_import_noheaders {
.text-muted();
}
/* ------------- ERRORS AND WARNINGS REPORT ------------ */
.oe_import_error_report {
> ul {
@@ -97,19 +93,7 @@
padding: 4px;
margin: 2px 0;
list-style: none;
border-radius: @border-radius-base;
}
.oe_import_report_error {
.bg-danger();
.text-danger();
}
.oe_import_report_warning {
.bg-warning();
.text-warning();
}
.oe_import_report_info {
.bg-info();
.text-info();
border-radius: $border-radius-base;
}
}
@@ -136,7 +120,7 @@
/* Field dropdown */
.oe_import_selector {
font-size: @font-size-small;
font-size: $font-size-small;
ul, li {
margin: 0; padding: 0;
}
@@ -68,7 +68,7 @@
Track history during import
</label>
</div>
<div title="If the model uses parent/child relations, computing the
<div title="If the model uses parent/child relations, computing the
parent / child relation occurs on every line, and lead to a slower import.
Defering it can speed up import."
class="oe_import_deferparentstore">
@@ -84,7 +84,7 @@
<input type="checkbox" class="oe_import_advanced_mode" checked="checked"
id="oe_import_advanced_mode"/>
<label for="oe_import_advanced_mode">Show fields of relation fields (advanced)</label>
<p class="oe_import_noheaders">If the file contains
<p class="oe_import_noheaders text-muted">If the file contains
the column names, Odoo can try auto-detecting the
field corresponding to the column. This makes imports
simpler especially when the file has many columns.</p>
@@ -124,7 +124,7 @@
</tbody>
</t>
<t t-name="ImportView.preview.error">
<div class="oe_import_report oe_import_report_error">
<div class="oe_import_report bg-danger text-danger">
<p>Import preview failed due to: <t t-esc="error"/>.</p>
<p>For CSV files, the issue could be an incorrect encoding.</p>
<p t-if="preview">Here is the start of the file we could not import:</p>
@@ -133,7 +133,7 @@
</t>
<ul t-name="ImportView.error">
<li t-foreach="errors" t-as="error"
t-attf-class="oe_import_report oe_import_report_#{error_value[0].type}">
t-attf-class="oe_import_report bg-#{error_value[0].type} text-#{error_value[0].type}">
<t t-call="ImportView.error.each">
<t t-set="error" t-value="error_value[0]"/>
</t>
@@ -3,7 +3,7 @@
<data>
<template id="assets_backend" name="base_import assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/base_import/static/src/less/base_import.less"/>
<link rel="stylesheet" type="text/scss" href="/base_import/static/src/scss/base_import.scss"/>
<script type="text/javascript" src="/base_import/static/lib/javascript-state-machine/state-machine.js"></script>
<script type="text/javascript" src="/base_import/static/src/js/import_action.js"></script>
<script type="text/javascript" src="/base_import/static/src/js/import_buttons.js"></script>
@@ -148,5 +148,5 @@
// Favorites menu in control panel
.o_add_to_dashboard {
display: none; // hidden by default
.o-search-options-dropdown-custom-li;
@include o-search-options-dropdown-custom-li;
}
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="board assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/board/static/src/less/dashboard.less"/>
<link rel="stylesheet" type="text/scss" href="/board/static/src/scss/dashboard.scss"/>
<script type="text/javascript" src="/board/static/src/js/action_manager_board_action.js"></script>
<script type="text/javascript" src="/board/static/src/js/board_view.js"></script>
<script type="text/javascript" src="/board/static/src/js/favorite_menu.js"></script>
@@ -5,15 +5,15 @@
border-radius: 5px;
&.accepted {
background-color: @brand-success;
background-color: $brand-success;
}
&.needsAction {
background-color: @odoo-brand-secondary;
background-color: $o-brand-secondary;
}
&.declined {
background-color: @brand-danger;
background-color: $brand-danger;
}
}
@@ -42,11 +42,11 @@
}
.o_calendar_invitation_page {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
width: 50%;
margin: 30px auto 0;
.o-webclient-padding(@top: 10px, @bottom: 10px);
background-color: @odoo-view-background-color;
@include o-webclient-padding($top: 10px, $bottom: 10px);
background-color: $o-view-background-color;
.o_logo {
width: 15%;
@@ -71,9 +71,9 @@
}
.o_accepted {
color: @brand-success;
color: $brand-success;
}
.o_declined {
color: @brand-danger;
color: $brand-danger;
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="calendar assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/calendar/static/src/less/calendar.less"/>
<link rel="stylesheet" type="text/scss" href="/calendar/static/src/scss/calendar.scss"/>
<script type="text/javascript" src="/calendar/static/src/js/base_calendar.js"></script>
<script type="text/javascript" src="/calendar/static/src/js/mail_activity.js"></script>
</xpath>
@@ -4,13 +4,13 @@
position: relative;
padding: 0;
.o-flex-display();
@include o-flex-display;
.o_event_left {
.o-flex(1, 1, 25%);
@include o-flex(1, 1, 25%);
text-align: center;
color: white;
background-color: @odoo-brand-optional;
background-color: $o-brand-optional;
padding: 8px;
.o_day {
@@ -19,7 +19,7 @@
}
.o_event_right {
.o-flex(1, 1, 75%);
@include o-flex(1, 1, 75%);
padding: 8px;
margin-left: 8px;
}
+1 -1
View File
@@ -3,7 +3,7 @@
<data>
<template id="assets_backend" name="event assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/event/static/src/less/event.less"/>
<link rel="stylesheet" type="text/scss" href="/event/static/src/scss/event.scss"/>
</xpath>
</template>
</data>
+1 -1
View File
@@ -1,7 +1,7 @@
<odoo>
<template id="assets_backend" name="gamification assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/gamification/static/src/less/gamification.less"/>
<link rel="stylesheet" type="text/scss" href="/gamification/static/src/scss/gamification.scss"/>
</xpath>
</template>
</odoo>
@@ -8,5 +8,5 @@
img.calendar_img_tuto {
margin: 0 0 10px 50px;
border: 2px solid @odoo-brand-secondary;
border: 2px solid $o-brand-secondary;
}
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="google_calendar assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/google_calendar/static/src/less/google_calendar.less"/>
<link rel="stylesheet" type="text/scss" href="/google_calendar/static/src/scss/google_calendar.scss"/>
<script type="text/javascript" src="/google_calendar/static/src/js/google_calendar.js"></script>
</xpath>
</template>
@@ -3,7 +3,7 @@
<template id="assets_backend" name="google_drive assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/google_drive/static/src/css/google_drive.css" />
<link rel="stylesheet" href="/google_drive/static/src/css/google_drive.css"/>
<script type="text/javascript" src="/google_drive/static/src/js/gdrive.js"></script>
</xpath>
</template>
+1 -1
View File
@@ -3,7 +3,7 @@
<template id="assets_backend" name="hr assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/hr/static/src/less/hr.less"/>
<link rel="stylesheet" type="text/scss" href="/hr/static/src/scss/hr.scss"/>
</xpath>
</template>
+1 -1
View File
@@ -554,7 +554,7 @@
<div class="col-xs-6 o_kanban_primary_right">
</div>
</div>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div class="row">
<div class="col-xs-4 o_kanban_card_manage_section o_kanban_manage_to_do">
<div class="o_kanban_card_manage_title">
@@ -14,12 +14,12 @@
}
#oe_hr_attendance_status {
color: @odoo-brand-secondary;
color: $o-brand-secondary;
&.oe_hr_attendance_status_green {
color: @brand-success;
color: $brand-success;
}
&.oe_hr_attendance_status_red {
color: @brand-danger;
color: $brand-danger;
}
}
@@ -35,7 +35,7 @@
top: 0px;
bottom: auto;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
transform: translate(50%, -50%);
}
}
@@ -60,18 +60,18 @@
}
.o_hr_attendance_kiosk_mode_container {
.o-flex-display();
.o-flex-flow(column, nowrap);
.o-justify-content(center);
.o-align-items(center);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
@include o-justify-content(center);
@include o-align-items(center);
@media (min-width: @screen-sm-min) {
.o-position-absolute(0, 0, 0, 0);
@media (min-width: $screen-sm-min) {
@include o-position-absolute(0, 0, 0, 0);
}
}
.o_hr_attendance_warning_message {
color: @brand-warning;
color: $brand-warning;
}
.o_hr_attendance_random_message {
font-style: italic;
@@ -113,7 +113,7 @@
margin-bottom: 0;
}
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
flex: 0 0 auto;
width: 550px;
border-radius: 10px;
@@ -131,7 +131,7 @@
top: 20px;
right: 20px;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
flex: 0 0 auto;
border-radius: 3px;
background-color: rgba(255,255,255,0.5);
@@ -140,13 +140,13 @@
}
.o_hr_attendance_message_container {
.o-flex-display();
.o-flex-flow(column, nowrap);
.o-justify-content(center);
.o-align-items(center);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
@include o-justify-content(center);
@include o-align-items(center);
@media (min-width: @screen-sm-min) {
.o-position-absolute(0, 0, 0, 0);
@media (min-width: $screen-sm-min) {
@include o-position-absolute(0, 0, 0, 0);
}
}
@@ -186,7 +186,7 @@
margin-bottom: 0;
}
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
flex: 0 0 auto;
width: 550px;
border-radius: 10px;
@@ -7,7 +7,7 @@
<script type="text/javascript" src="/hr_attendance/static/src/js/kiosk_mode.js"></script>
<script type="text/javascript" src="/hr_attendance/static/src/js/kiosk_confirm.js"></script>
<script type="text/javascript" src="/hr_attendance/static/src/js/my_attendances.js"></script>
<link rel="stylesheet" href="/hr_attendance/static/src/less/hr_attendance.less"/>
<link rel="stylesheet" type="text/scss" href="/hr_attendance/static/src/scss/hr_attendance.scss"/>
</xpath>
</template>
@@ -1,67 +1,51 @@
@o-org-chart-bg: white;
@o-org-chart-border-color: @odoo-brand-secondary;
@o-org-chart-entry-v-gap: 6px;
@o-org-chart-entry-pic-size: 46px;
@o-org-chart-entry-line-w: 1px;
@o-org-chart-entry-border-color: darken(@o-org-chart-bg, 25%);
// MIXINS
.o-org-chart-line() {
content: '';
background-color: @o-org-chart-bg;
border: 0px solid @o-org-chart-entry-border-color;
}
// MOBILE LAYOUT CUSTOMIZATIONS
@media screen and (max-width: @screen-xs-max) {
@media screen and (max-width: $screen-xs-max) {
#o_employee_right {
.o_org_chart_title {
font-size: 20px;
padding: 5px 0;
border-bottom: 1px solid @o-org-chart-border-color;
border-bottom: 1px solid $o-hr-org-chart-border-color;
}
}
}
// SMALL DESKTOP LAYOUT
@media screen and (min-width: @screen-sm-min) {
@media screen and (min-width: $screen-sm-min) {
#o_employee_container {
.o-flex-display();
@include o-flex-display;
width: 100%;
}
#o_employee_main {
.o-flex(1, 1, 60%);
@include o-flex(1, 1, 60%);
}
#o_employee_right {
.o-flex(0, 1, 35%);
@include o-flex(0, 1, 35%);
margin-left: 2%;
padding-left: 2%;
border-left: 1px solid @o-org-chart-border-color;
border-left: 1px solid $o-hr-org-chart-border-color;
.o_org_chart_title {
color: @gray-light
color: $gray-light
}
}
}
// MEDIUM DESKTOP LAYOUT
@media screen and (min-width: @screen-md-min){
@media screen and (min-width: $screen-md-min){
#o_employee_right {
.o-flex(0, 1, 33%);
@include o-flex(0, 1, 33%);
}
}
// LARGE DESKTOP LAYOUT
@media screen and (min-width: @screen-lg-min){
@media screen and (min-width: $screen-lg-min){
#o_employee_right {
.o-flex(0, 1, 30%);
@include o-flex(0, 1, 30%);
}
}
#o_employee_right {
@tmp-gap-base: @o-org-chart-entry-pic-size*0.7;
$tmp-gap-base: $o-hr-org-chart-entry-pic-size*0.7;
// ORGANIGRAM LINES
.o_field_widget, .o_org_chart_group_up, .o_org_chart_group_down {
@@ -70,56 +54,56 @@
.o_org_chart_group_up {
&:before {
.o-org-chart-line();
border-left-width: @o-org-chart-entry-line-w;
height: calc(100% ~'+' @o-org-chart-entry-pic-size*0.5) ;
.o-position-absolute(
@top: @o-org-chart-entry-pic-size*0.1 + 5px,
@left: @o-org-chart-entry-pic-size*0.5 - @o-org-chart-entry-line-w*0.5
@include o-hr-org-chart-line;
border-left-width: $o-hr-org-chart-entry-line-w;
height: calc(100% + #{$o-hr-org-chart-entry-pic-size*0.5}) ;
@include o-position-absolute(
$top: $o-hr-org-chart-entry-pic-size*0.1 + 5px,
$left: $o-hr-org-chart-entry-pic-size*0.5 - $o-hr-org-chart-entry-line-w*0.5
);
}
.o_org_chart_entry:last-of-type {
&:before {
.o-org-chart-line();
border-width: 0 0 @o-org-chart-entry-line-w @o-org-chart-entry-line-w;
.size((@o-org-chart-entry-pic-size*0.5) - (@o-org-chart-entry-v-gap*2), @o-org-chart-entry-pic-size*0.5 + @o-org-chart-entry-v-gap*2 );
.o-position-absolute(
@left: @o-org-chart-entry-pic-size*0.5 - @o-org-chart-entry-line-w*0.5,
@top: 100%
@include o-hr-org-chart-line;
border-width: 0 0 $o-hr-org-chart-entry-line-w $o-hr-org-chart-entry-line-w;
@include size(($o-hr-org-chart-entry-pic-size*0.5) - ($o-hr-org-chart-entry-v-gap*2), $o-hr-org-chart-entry-pic-size*0.5 + $o-hr-org-chart-entry-v-gap*2 );
@include o-position-absolute(
$left: $o-hr-org-chart-entry-pic-size*0.5 - $o-hr-org-chart-entry-line-w*0.5,
$top: 100%
);
}
}
}
.o_org_chart_group_up + .o_org_chart_entry_self {
margin-left: @tmp-gap-base;
margin-left: $tmp-gap-base;
& + .o_org_chart_group_down {
margin-left: @tmp-gap-base*2;
margin-left: $tmp-gap-base*2;
}
}
.o_org_chart_group_down {
margin-left: @tmp-gap-base;
margin-left: $tmp-gap-base;
&:before {
.o-org-chart-line();
border-left-width: @o-org-chart-entry-line-w;
@include o-hr-org-chart-line;
border-left-width: $o-hr-org-chart-entry-line-w;
height: 100%;
.o-position-absolute(
@top: @o-org-chart-entry-v-gap*-1,
@left: @tmp-gap-base*-0.5 + @o-org-chart-entry-pic-size*0.1 + @o-org-chart-entry-line-w*0.5
@include o-position-absolute(
$top: $o-hr-org-chart-entry-v-gap*-1,
$left: $tmp-gap-base*-0.5 + $o-hr-org-chart-entry-pic-size*0.1 + $o-hr-org-chart-entry-line-w*0.5
);
}
.o_org_chart_entry {
&:before {
.o-org-chart-line();
border-top-width: @o-org-chart-entry-line-w;
.size(@tmp-gap-base, 0);
.o-position-absolute(
@left: @tmp-gap-base*-0.5 + @o-org-chart-entry-pic-size*0.1 + @o-org-chart-entry-line-w*0.5,
@top: @o-org-chart-entry-pic-size*0.5
@include o-hr-org-chart-line;
border-top-width: $o-hr-org-chart-entry-line-w;
@include size($tmp-gap-base, 0);
@include o-position-absolute(
$left: $tmp-gap-base*-0.5 + $o-hr-org-chart-entry-pic-size*0.1 + $o-hr-org-chart-entry-line-w*0.5,
$top: $o-hr-org-chart-entry-pic-size*0.5
);
}
@@ -131,7 +115,7 @@
}
&.o_org_chart_more {
margin-top: @o-org-chart-entry-v-gap;
margin-top: $o-hr-org-chart-entry-v-gap;
&:before {
top: 15px;
@@ -142,7 +126,7 @@
// ORGANIGRAM DESIGN
.o_org_chart_entry {
margin-bottom: @o-org-chart-entry-v-gap;
margin-bottom: $o-hr-org-chart-entry-v-gap;
overflow: visible;
margin-top: 0;
@@ -157,12 +141,12 @@
float: right;
cursor: pointer;
margin-right: 5px;
color: @gray-light;
background: @o-org-chart-bg;
border: 1px solid @gray-light;
color: $gray-light;
background: $o-hr-org-chart-bg;
border: 1px solid $gray-light;
&:hover {
color: @odoo-brand-optional;
border-color: @odoo-brand-optional;
color: $o-brand-optional;
border-color: $o-brand-optional;
}
&:focus {
outline: none;
@@ -173,14 +157,14 @@
display: block;
line-height: 1.2;
font-size: 11px;
color: lighten(@gray-light, 15%);
color: lighten($gray-light, 15%);
}
}
.media-object {
.square(@o-org-chart-entry-pic-size*0.8);
margin: @o-org-chart-entry-pic-size*0.1;
box-shadow: 0 0 0 @o-org-chart-entry-line-w darken(@o-org-chart-bg, 20%);
@include square($o-hr-org-chart-entry-pic-size*0.8);
margin: $o-hr-org-chart-entry-pic-size*0.1;
box-shadow: 0 0 0 $o-hr-org-chart-entry-line-w darken($o-hr-org-chart-bg, 20%);
background-size: cover;
background-position: center center;
@@ -190,15 +174,15 @@
border-color: transparent;
padding: 0;
position: relative;
color: @text-color;
color: $text-color;
.o_org_chart_show_more {
line-height: 13px;
}
&:hover {
border-color: @o-org-chart-entry-border-color;
color:@odoo-brand-optional;
border-color: $o-hr-org-chart-entry-border-color;
color:$o-brand-optional;
}
}
}
@@ -209,25 +193,25 @@
}
.media-body > a {
padding-left: 10px;
max-width: calc(100% ~'-' 40px);
max-width: calc(100% - 40px);
display: block;
.media-heading {
color: lighten(@gray-light, 5%);
color: lighten($gray-light, 5%);
font-size: 13px;
}
}
&:hover {
.media-object {
box-shadow: 0 0 0 @o-org-chart-entry-line-w*2 fade(@odoo-brand-optional, 60%);
box-shadow: 0 0 0 $o-hr-org-chart-entry-line-w*2 rgba($o-brand-optional, 0.6);
}
.media-body > a {
.media-heading {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
strong {
color: lighten(@gray-light, 5%);
color: lighten($gray-light, 5%);
}
}
}
@@ -235,18 +219,18 @@
&.o_org_chart_entry_self {
&:not(:first-child) {
margin-top: @o-org-chart-entry-v-gap*1.5;
margin-top: $o-hr-org-chart-entry-v-gap*1.5;
}
strong {
color: @text-muted;
color: $text-muted;
}
.media-object {
.square(@o-org-chart-entry-pic-size);
@include square($o-hr-org-chart-entry-pic-size);
margin: 0;
border: @o-org-chart-entry-line-w*2 solid @odoo-brand-optional;
box-shadow: inset 0 0 0 @o-org-chart-entry-line-w*2 white;
border: $o-hr-org-chart-entry-line-w*2 solid $o-brand-optional;
box-shadow: inset 0 0 0 $o-hr-org-chart-entry-line-w*2 white;
}
.media-body {
@@ -266,11 +250,11 @@
padding-right: 50px;
> a {
.o-position-absolute(@right: 14px);
@include o-position-absolute($right: 14px);
}
span {
.size(30px, 30px);
@include size(30px, 30px);
margin-right: 10px;
border-radius: 100%;
background-position: center;
@@ -283,4 +267,3 @@
margin-bottom: 0;
}
}
@@ -0,0 +1,14 @@
$o-hr-org-chart-bg: white !default;
$o-hr-org-chart-border-color: $o-brand-secondary !default;
$o-hr-org-chart-entry-v-gap: 6px !default;
$o-hr-org-chart-entry-pic-size: 46px !default;
$o-hr-org-chart-entry-line-w: 1px !default;
$o-hr-org-chart-entry-border-color: darken($o-hr-org-chart-bg, 25%) !default;
// MIXINS
@mixin o-hr-org-chart-line {
content: '';
background-color: $o-hr-org-chart-bg;
border: 0px solid $o-hr-org-chart-entry-border-color;
}
+7 -1
View File
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="_assets_backend_helpers" inherit_id="web._assets_backend_helpers">
<xpath expr="//link" position="before">
<link rel="stylesheet" type="text/scss" href="/hr_org_chart/static/src/scss/variables.scss"/>
</xpath>
</template>
<template id="assets_backend" name="hr_org_chart_assets_backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" type="text/less" href="/hr_org_chart/static/src/less/hr_org_chart.less"/>
<link rel="stylesheet" type="text/scss" href="/hr_org_chart/static/src/scss/hr_org_chart.scss"/>
<script type="text/javascript" src="/hr_org_chart/static/src/js/hr_org_chart.js"></script>
</xpath>
</template>
@@ -1,5 +1,5 @@
.o_kanban_view.o_kanban_ungrouped {
.o-flex-display();
@include o-flex-display;
.o_kanban_record {
width: 350px;
}
@@ -7,24 +7,24 @@
.o_kanban_view.o_kanban_dashboard {
.o_recruitment_kanban_boxes {
.o-flex-display();
.o-flex-flow(row, nowrap);
@include o-flex-display;
@include o-flex-flow(row, nowrap);
.o_recruitment_kanban_box {
position: relative;
text-align: center;
padding: 0 0 0 0;
.o-flex(1, 1, auto);
.o-flex-display();
.o-flex-flow(row, nowrap);
.o-justify-content(center);
@include o-flex(1, 1, auto);
@include o-flex-display;
@include o-flex-flow(row, nowrap);
@include o-justify-content(center);
&:first-child {
.o-justify-content(flex-start);
@include o-justify-content(flex-start);
padding-left: 16px;
}
&:last-child {
.o-justify-content(flex-end);
@include o-justify-content(flex-end);
padding-right: 16px;
}
@@ -39,7 +39,7 @@
font-size: small;
font-weight: 400;
margin-left: 4px;
.o-hover-opacity(0.5, 1);
@include o-hover-opacity(0.5, 1);
&:before {
content: "/ ";
+1 -1
View File
@@ -68,7 +68,7 @@
</div>
</div>
</t>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div t-if="widget.editable" class="o_kanban_card_manage_settings row">
<div class="col-xs-8">
<ul class="oe_kanban_colorpicker" data-field="color"/>
@@ -3,7 +3,7 @@
<data>
<template id="assets_backend" name="hr_recruitment assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/hr_recruitment/static/src/less/hr_job.less"/>
<link rel="stylesheet" type="text/scss" href="/hr_recruitment/static/src/scss/hr_job.scss"/>
<script type="text/javascript" src="/hr_recruitment/static/src/js/tour.js"></script>
</xpath>
</template>
+1
View File
@@ -35,6 +35,7 @@ def _guess_mimetype(ext=False, default='text/html'):
exts = {
'.css': 'text/css',
'.less': 'text/less',
'.scss': 'text/scss',
'.js': 'text/javascript',
'.xml': 'text/xml',
'.csv': 'text/csv',
@@ -1,32 +0,0 @@
// bootstrap variables and vendor prefixes needed to embed im_livechat in external pages
@gray-light: lighten(#000, 46.7%); // #777
@gray-lighter: lighten(#000, 93.5%); // #eee
@screen-xs-max: 767px;
@navbar-height: 44px;
.text-muted {
color: @gray-light;
}
.box-sizing(@boxmodel) {
-webkit-box-sizing: @boxmodel;
-moz-box-sizing: @boxmodel;
box-sizing: @boxmodel;
}
.o_chat_window {
&,* {
.box-sizing(border-box);
}
.o_chat_header {
height: 28px;
.fa-close {
text-decoration: none;
font-weight: bold;
&:before {
content: "X";
}
}
> span {
margin: auto 0;
}
}
}
@@ -2,10 +2,10 @@
.o_field_copy {
position: relative;
border-radius: 5px;
border: 1px solid @btn-primary-border;
font-size: @font-size-small;
color: @odoo-brand-optional;
font-weight: @badge-font-weight;
border: 1px solid $btn-primary-border;
font-size: $font-size-small;
color: $o-brand-optional;
font-weight: $badge-font-weight;
text-align: center;
.o_clipboard_button {
&.o_btn_text_copy {
@@ -27,7 +27,7 @@
.o_livechat_rating {
/* Livechat Rating : feedback smiley */
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
overflow: auto;
padding: 15px;
@@ -0,0 +1,23 @@
.text-muted {
color: $gray-light;
}
.o_chat_window {
&,* {
@include box-sizing(border-box);
}
.o_chat_header {
height: 28px;
.fa-close {
text-decoration: none;
font-weight: bold;
&:before {
content: "X";
}
}
> span {
margin: auto 0;
}
}
}
@@ -9,7 +9,7 @@
<xpath expr="." position="inside">
<script type="text/javascript" src="/im_livechat/static/src/js/im_livechat_backend.js"></script>
<script type="text/javascript" src="/im_livechat/static/src/js/copy_clipboard.js"></script>
<link rel="stylesheet" href="/im_livechat/static/src/less/copy_clipboard.less"/>
<link rel="stylesheet" type="text/scss" href="/im_livechat/static/src/scss/copy_clipboard.scss"/>
</xpath>
</template>
@@ -148,11 +148,11 @@
<script type="text/javascript" src="/mail/static/src/js/thread.js"></script>
<script type="text/javascript" src="/mail/static/src/js/document_viewer.js"></script>
<script type="text/javascript" src="/im_livechat/static/src/js/im_livechat.js"></script>
<t t-call="web.less_helpers"/>
<link rel="stylesheet" href="/im_livechat/static/src/less/im_livechat_bootstrap.less"/>
<link rel="stylesheet" href="/mail/static/src/less/chat_window.less"></link>
<link rel="stylesheet" href="/mail/static/src/less/thread.less"></link>
<link rel="stylesheet" href="/im_livechat/static/src/less/im_livechat.less"/>
<t t-call="web._assets_helpers"/>
<link rel="stylesheet" type="text/scss" href="/im_livechat/static/src/scss/im_livechat_bootstrap.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/chat_window.scss"></link>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/thread.scss"></link>
<link rel="stylesheet" type="text/scss" href="/im_livechat/static/src/scss/im_livechat.scss"/>
</template>
<!-- the js code to initialize the LiveSupport object -->
+1 -1
View File
@@ -33,7 +33,7 @@
<template id="assets_common" name="l10n_ch_isr_report" inherit_id="web.report_assets_common">
<xpath expr="." position="inside">
<link href="/l10n_ch/static/src/less/report_isr.less" rel="stylesheet"/>
<link rel="stylesheet" type="text/scss" href="/l10n_ch/static/src/scss/report_isr.scss"/>
</xpath>
</template>
@@ -7,7 +7,7 @@
padding: 5px 0;
+ .o_lunch_vignette {
border-top: 1px solid @odoo-brand-lightsecondary;
border-top: 1px solid $o-brand-lightsecondary;
}
}
}
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="lunch assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/lunch/static/src/less/lunch.less"/>
<link rel="stylesheet" type="text/scss" href="/lunch/static/src/scss/lunch.scss"/>
<script type="text/javascript" src="/lunch/static/src/js/lunch.js"></script>
</xpath>
</template>
@@ -1,25 +1,20 @@
@o-chat-window-bg: #FAFAFA;
@o-chat-window-width: 325px;
@o-mail-chatter-gap: 10px; // has to be defined here as this file is both in
// backend and other assets (livechat)
@o-chat-header-height: 46px;
@o-chat-window-zindex: @zindex-modal + 1;
$o-mail-chat-window-zindex: $zindex-modal + 1 !default;
.o_chat_window {
.o-flex-display();
.o-flex-flow(column, nowrap);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
position: fixed;
width: @o-chat-window-width;
width: $o-mail-chat-window-width;
max-width: 100%;
height: 400px;
max-height: 100%;
font-size: 12px;
background-color: @o-chat-window-bg;
background-color: $o-mail-chat-window-bg;
border-radius: 6px 6px 0 0;
z-index: @o-chat-window-zindex;
box-shadow: -5px -5px 10px fade(black, 18%);
z-index: $o-mail-chat-window-zindex;
box-shadow: -5px -5px 10px rgba(black, 0.18);
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
width: 100%;
height: 100%!important;
box-shadow: none;
@@ -33,17 +28,17 @@
}
.o_chat_header {
.o-flex-display();
.o-flex(0, 0, auto);
@include o-flex-display;
@include o-flex(0, 0, auto);
color: white;
padding: @o-mail-chatter-gap*0.5 @o-mail-chatter-gap;
padding: $o-mail-chatter-gap*0.5 $o-mail-chatter-gap;
border-radius: 3px 3px 0 0;
border-bottom: 1px solid @gray-lighter-dark;
background-color: @odoo-brand-primary;
border-bottom: 1px solid $gray-lighter-dark;
background-color: $o-brand-primary;
padding: 8px;
@media (max-width: @screen-xs-max) {
height: @o-chat-header-height;
@media (max-width: $screen-xs-max) {
height: $o-mail-chat-header-height;
padding-top: 12px;
border-radius: 0px;
.o_chat_title {
@@ -59,30 +54,30 @@
.o_chat_title {
cursor: pointer;
.o-flex(1, 1, auto);
.o-text-overflow();
@include o-flex(1, 1, auto);
@include o-text-overflow;
}
.o_chat_window_buttons {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
.o_chat_window_close, .o_chat_window_expand {
color: white;
padding: 3px;
margin-left: 5px;
.o-hover-opacity(0.7, 1);
@include o-hover-opacity(0.7, 1);
}
}
}
.o_mail_thread {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
overflow: auto;
-webkit-overflow-scrolling: touch; // smooth scrolling in iOS app (Safari)
.o_thread_date_separator {
margin: 0px 0px 15px 0px;
.o_thread_date {
background-color: @o-chat-window-bg;
background-color: $o-mail-chat-window-bg;
}
}
.o_thread_message {
@@ -102,11 +97,11 @@
width: auto;
height: 28px;
color: white;
background-color: @gray-dark;
background-color: $gray-dark;
cursor: pointer;
box-shadow: none;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
display: none;
}
@@ -118,8 +113,8 @@
padding: 5px;
.o_total_unread_counter {
.o-position-absolute(-10px, 0, auto, auto);
background-color: @odoo-brand-optional;
@include o-position-absolute(-10px, 0, auto, auto);
background-color: $o-brand-optional;
padding: 0 2px;
font-size: smaller;
}
@@ -129,7 +124,7 @@
}
> ul {
max-width: @o-chat-window-width;
max-width: $o-mail-chat-window-width;
padding: 0;
> li.o_chat_header {
@@ -139,7 +134,7 @@
border-top: 1px solid white;
}
&:hover {
background-color: darken(@odoo-brand-primary, 10%);
background-color: darken($o-brand-primary, 10%);
}
}
}
@@ -10,34 +10,34 @@
}
.o_chatter_topbar {
height: @odoo-statusbar-height;
height: $o-statusbar-height;
position: relative;
margin: @grid-gutter-width*0.5 0 0;
margin: $grid-gutter-width*0.5 0 0;
padding: 0;
.o-flex-display();
@include o-flex-display;
> .btn {
height: @odoo-statusbar-height + 1;
height: $o-statusbar-height + 1;
border: 1px solid transparent;
}
> .o_followers {
height: @odoo-statusbar-height + 1;
height: $o-statusbar-height + 1;
border-bottom: 1px solid transparent;
.o-flex(1,1,auto);
@include o-flex(1,1,auto);
}
}
&.o_chatter_composer_active .o_chatter_topbar {
> .btn, > .o_followers{
border-radius: @border-radius-small @border-radius-small 0 0;
border-radius: $border-radius-small $border-radius-small 0 0;
border-width: 0 0 1px;
border-bottom-color: @gray-lighter-dark;
border-bottom-color: $gray-lighter-dark;
&.o_active {
color: @odoo-brand-primary;
background-color: @gray-lighter;
border-color: @gray-lighter-dark;
color: $o-brand-primary;
background-color: $gray-lighter;
border-color: $gray-lighter-dark;
border-width: 1px 1px 0;
}
}
@@ -1,7 +1,7 @@
@font-face {
font-family: 'emojifont';
src: local('Segoe UI'),
local('Apple Color Emoji'),
src: local('Segoe UI'),
local('Apple Color Emoji'),
local('Android Emoji'),
local('Noto Color Emoji'),
local('Twitter Color Emoji'),
@@ -14,11 +14,11 @@
.o_chat_composer {
position: relative;
.o-flex(0, 0, auto);
.o-flex-display();
@include o-flex(0, 0, auto);
@include o-flex-display;
margin: 1px 0;
border-top: none;
background: @gray-lighter;
background: $gray-lighter;
.o_composer, .o_composer_subject {
position: relative;
@@ -30,11 +30,11 @@
}
.o_composer_subject {
.o-flex-display();
@include o-flex-display;
padding-bottom: 5px;
> input {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
padding: 5px;
margin-right: 30px;
}
@@ -52,7 +52,7 @@
word-break: break-all;
}
.o_composer_mention_dropdown .o_mention_proposition > a {
.o-text-overflow();
@include o-text-overflow;
width: 100%;
padding: 3px 15px;
.o_mention_name {
@@ -67,26 +67,26 @@
resize: none;
}
.btn-icon {
.o-hover-opacity(@default-opacity: 0.8, @hover-opacity: 1);
@include o-hover-opacity($default-opacity: 0.8, $hover-opacity: 1);
border: none;
}
.o_composer_button_full_composer {
.o-position-absolute(auto, 0);
@include o-position-absolute(auto, 0);
}
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
.o_composer_button_send {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
}
}
.o_mail_emoji_container {
padding: 0 @o-mail-chatter-gap @o-mail-chatter-gap 0;
border: 1px solid @gray-lighter-dark;
background-color: @gray-lighter;
padding: 0 $o-mail-chatter-gap $o-mail-chatter-gap 0;
border: 1px solid $gray-lighter-dark;
background-color: $gray-lighter;
.o_mail_emoji {
margin: @o-mail-chatter-gap 0 0 @o-mail-chatter-gap;
margin: $o-mail-chatter-gap 0 0 $o-mail-chatter-gap;
cursor: pointer; // only in the popover
min-width: 20px;
min-height: 20px;
@@ -95,18 +95,18 @@
// Both inline and not-inline design. Mini-composer disabled.
&:not(.o_chat_mini_composer) {
padding: @mail-thread-avatar-size*0.5;
padding-left: @grid-gutter-width*0.5 + @mail-thread-avatar-size + @o-mail-chatter-gap;
border: 1px solid @gray-lighter-dark;
padding: $o-mail-thread-avatar-size*0.5;
padding-left: $grid-gutter-width*0.5 + $o-mail-thread-avatar-size + $o-mail-chatter-gap;
border: 1px solid $gray-lighter-dark;
border-top: none;
.o_chatter_avatar {
.o-position-absolute(0, @left: -@mail-thread-avatar-size - @o-mail-chatter-gap);
@include o-position-absolute(0, $left: -$o-mail-thread-avatar-size - $o-mail-chatter-gap);
}
.o_chatter_composer_info, .o_composer_suggested_partners {
.o-flex(0, 0, 100%);
margin-bottom: @o-mail-chatter-gap*0.5;
@include o-flex(0, 0, 100%);
margin-bottom: $o-mail-chatter-gap*0.5;
}
.o_composer_container {
@@ -119,10 +119,10 @@
}
.o_composer, .o_composer_subject {
border: 1px solid @gray-lighter-dark;
border: 1px solid $gray-lighter-dark;
input {
padding: 0 0 @o-mail-chatter-gap;
padding: 0 0 $o-mail-chatter-gap;
border: none;
}
}
@@ -132,34 +132,34 @@
}
.o_chatter_composer_tools {
border-top: 1px solid @gray-lighter-dark;
@media (max-width: @screen-xs-max) {
border-top: 1px solid $gray-lighter-dark;
@media (max-width: $screen-xs-max) {
margin-top: 10px;
}
}
&:not(.o_chat_inline_composer) {
.o-flex-flow(row, wrap);
@include o-flex-flow(row, wrap);
.o_composer_container, .o_composer_button_send {
.o-flex(1, 0, 100%);
@include o-flex(1, 0, 100%);
}
.o_composer, .o_composer_subject {
padding: @o-mail-chatter-gap @o-mail-chatter-gap 0;
padding: $o-mail-chatter-gap $o-mail-chatter-gap 0;
}
.o_composer_send {
margin-top: @o-mail-chatter-gap;
margin-top: $o-mail-chatter-gap;
}
}
&.o_chat_inline_composer {
.o_composer_container {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
}
.o_composer {
display: flex;
min-height: 40px;
padding: @o-mail-chatter-gap @o-mail-chatter-gap 0 @o-mail-chatter-gap;
padding: $o-mail-chatter-gap $o-mail-chatter-gap 0 $o-mail-chatter-gap;
border-radius: 2px 0 0 2px;
border-right-width: 0;
}
@@ -168,32 +168,32 @@
border-width: 1px;
}
.o_composer_input {
.o-flex-flow(row, wrap);
@include o-flex-flow(row, wrap);
}
.o_composer_text_field {
.o-flex(1, 1, 50%);
@include o-flex(1, 1, 50%);
margin: -4px 7px 5px 0px;
padding: 2.5px 0px 0px 5px;
}
.o_chatter_composer_tools {
.o-flex(0, 1, auto);
@include o-flex(0, 1, auto);
}
.o_composer_attachments_list {
.o-flex(1, 0, 100%);
@include o-flex(1, 0, 100%);
}
.o_chatter_composer_tools {
border: none;
border-left: 1px solid @gray-lighter-dark;
padding-left: @o-mail-chatter-gap*0.5;
.o-transform(translateY(-@o-mail-chatter-gap*0.5));
border-left: 1px solid $gray-lighter-dark;
padding-left: $o-mail-chatter-gap*0.5;
@include o-transform(translateY(-$o-mail-chatter-gap*0.5));
}
.o_composer_button_send {
border-radius: 0 3px 3px 0;
// Make the button appear as the same size as the subject input
padding: 10px @padding-base-horizontal;
border: 1px solid darken(@odoo-brand-optional, 5%);
padding: 10px $padding-base-horizontal;
border: 1px solid darken($o-brand-optional, 5%);
border-left-width: 0;
}
}
@@ -202,24 +202,24 @@
// Mini-composer enabled
&.o_chat_mini_composer {
.o_composer_container {
border-top: 1px solid @gray-lighter-dark;
border-top: 1px solid $gray-lighter-dark;
width: 100%;
}
.o_mail_emoji_container {
.o-position-absolute(auto, 0, 100%, 0);
@include o-position-absolute(auto, 0, 100%, 0);
border-bottom-width: 1px;
}
.o_composer_input {
.o-flex-flow(row, nowrap);
@include o-flex-flow(row, nowrap);
.o_chatter_composer_tools {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
}
}
.o_composer_button_send, .o_chatter_avatar {
display: none;
}
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
.o_composer_button_send {
display: inline-block;
}
@@ -228,7 +228,7 @@
}
.o_composer_attachments_list:not(:empty) {
margin-top: @o-mail-chatter-gap;
margin-top: $o-mail-chatter-gap;
text-align: justify;
}
@@ -245,34 +245,34 @@
// Attachment Icons (common for chat thread and chat composer)
// ------------------------------------------------------------------
@o-mail-attachment-image-size: 38px;
@o-mail-attachment-margin: 5px;
$o-mail-attachment-image-size: 38px;
$o-mail-attachment-margin: 5px;
.o_attachments_list, .o_attachments_previews {
margin: 0 -@o-mail-attachment-margin 0;
.o-flex-display();
.o-flex-flow(row, wrap);
margin: 0 (-$o-mail-attachment-margin) 0;
@include o-flex-display;
@include o-flex-flow(row, wrap);
}
.o_attachment {
position: relative;
width: 100%;
padding: @o-mail-attachment-margin;
padding: $o-mail-attachment-margin;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
width: 50%;
}
@media (min-width: @screen-md-min) {
width: percentage(1/4);
@media (min-width: $screen-md-min) {
width: 25%;
}
.o_attachment_wrap {
overflow: hidden;
position: relative;
border-bottom: 1px solid fade(black, 10%);
border-bottom: 1px solid rgba(black, 0.1);
border-radius: 2px;
padding: 4px 6px 0 4px;
background-color: fade(black, 5%);
background-color: rgba(black, 0.05);
}
&.o_attachment_editable .o_attachment_wrap {
@@ -280,10 +280,11 @@
}
.o_image {
.square(@o-mail-attachment-image-size);
width: $o-mail-attachment-image-size;
height: $o-mail-attachment-image-size;
image-orientation: from-image; // Only supported in Firefox
&.o_hover {
.o-hover-opacity(@default-opacity: 1, @hover-opacity: 0.7);
@include o-hover-opacity($default-opacity: 1, $hover-opacity: 0.7);
}
}
@@ -292,10 +293,10 @@
}
.caption {
.o-text-overflow(block);
@include o-text-overflow(block);
a {
.o-hover-text-color(@default-color: @odoo-main-text-color, @hover-color: @headings-color);
@include o-hover-text-color($default-color: $o-main-text-color, $hover-color: $headings-color);
}
}
@@ -304,23 +305,23 @@
}
.o_attachment_uploaded, .o_attachment_delete {
.o-position-absolute(0,0,0, @left: auto);
.o-flex-display();
.o-align-items(center);
.o-justify-content(center);
@include o-position-absolute(0, 0, 0, $left: auto);
@include o-flex-display();
@include o-align-items(center);
@include o-justify-content(center);
width: 45px;
}
.o_attachment_delete {
background: desaturate(@brand-primary, 50%);
background: desaturate($brand-primary, 50%);
color: white;
cursor: pointer;
font-size: 20px;
.o-transform(translateX(100%));
.o-transition(all, 0.3s);
@include o-transform(translateX(100%));
@include o-transition(all, 0.3s);
&:hover {
background: @brand-primary;
background: $brand-primary;
}
}
@@ -343,8 +344,8 @@
}
&:hover .o_attachment_delete {
.o-transition(all, 0.1s);
.o-transform(translateX(0));
@include o-transition(all, 0.1s);
@include o-transform(translateX(0));
}
}
@@ -352,20 +353,20 @@
> .o_attachment {
width: 50%;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
width: percentage(1/3);
}
@media (min-width: @screen-md-min) {
@media (min-width: $screen-md-min) {
width: percentage(1/4);
}
@media (min-width: @screen-lg-min) {
@media (min-width: $screen-lg-min) {
width: percentage(1/6);
}
.o_attachment_wrap {
padding: 0;
border-radius: 2px;
border: 1px solid @gray-lighter-darker;
border: 1px solid $gray-lighter-darker;
}
.o_image_box {
@@ -373,94 +374,98 @@
padding-top: 75%;
.o_attachment_image {
.o-position-absolute(0,0,0,0);
@include o-position-absolute(0, 0, 0, 0);
background-size: cover;
background-position: center;
.o-transform(scale(1.05));
.o-transition(all, 0.3s);
@include o-transform(scale(1.05));
@include o-transition(all, 0.3s);
}
&:hover .o_attachment_image {
.o-transform(scale(1));
@include o-transform(scale(1));
}
}
.o_image_overlay {
.o-position-absolute(@top: 0, @left: 0, @right:0, @bottom:0);
.o-hover-opacity(@default-opacity: 0, @hover-opacity: 1);
.o-linear-gradient(180deg, fade(black, 20%), fade(black, 90%));
.o-transition(all, 0.3s);
@include o-position-absolute($top: 0, $left: 0, $right:0, $bottom:0);
@include o-hover-opacity($default-opacity: 0, $hover-opacity: 1);
@include o-linear-gradient(180deg, rgba(black, 0.2), rgba(black, 0.9));
@include o-transition(all, 0.3s);
padding: 10px;
.o_attachment_title {
.o-position-absolute(@bottom: 7px);
@include o-position-absolute($bottom: 7px);
width: 80%;
.o-text-overflow(inline-block);
font-size: @font-size-small;
@include o-text-overflow(inline-block);
font-size: $font-size-small;
}
.o_attachment_download {
.o-position-absolute(@right: 7px, @bottom:7px);
@include o-position-absolute($right: 7px, $bottom:7px);
}
}
}
}
.o_modal_fullscreen {
z-index: @o-chat-window-zindex + 1;
.o-viewer-black-btn () {
background-color: fade(black, 40%);
color: fade(@gray-lighter, 70%);
&:hover {
background-color: fade(black,60%);
color: white;
}
@mixin o-viewer-black-btn {
background-color: rgba(black, 0.4);
color: rgba($gray-lighter, 0.7);
&.disabled {
color: @gray-light;
background: none;
}
&:hover {
background-color: rgba(black, 0.6);
color: white;
}
&.disabled {
color: $gray-light;
background: none;
}
}
.o_modal_fullscreen {
z-index: $o-mail-chat-window-zindex + 1;
.o_viewer_content {
.square(100%);
position: relative;
width: 100%;
height: 100%;
.o_viewer-header {
.o-position-absolute(0, 0, @left: 0);
@include o-position-absolute(0, 0, $left: 0);
height: 45px;
padding: @grid-gutter-width*0.5;
background-color: fade(black, 80%);
padding: $grid-gutter-width*0.5;
background-color: rgba(black, 0.8);
z-index: 1;
color: #FFFFFF;
a {
.o-hover-text-color(fade(@gray-lighter,60%), white);
@include o-hover-text-color(rgba($gray-lighter, 0.6), white);
}
.o_close_btn {
.o-position-absolute(-1px, @grid-gutter-width*0.5);
font-size: @font-size-h1;
@include o-position-absolute(-1px, $grid-gutter-width*0.5);
font-size: $font-size-h1;
font-weight: 300;
}
}
.o_loading_img {
.o-position-absolute(@top: 45%, @right: 0, @left: 0);
@include o-position-absolute($top: 45%, $right: 0, $left: 0);
}
.o_viewer_img_wrapper {
cursor: pointer;
.square(100%);
position: fixed;
background-color: fade(black, 70%);
width: 100%;
height: 100%;
background-color: rgba(black, 0.7);
.o_viewer_zoomer {
.square(100%);
.o-flex-display();
.o-justify-content(center);
.o-align-items(center);
width: 100%;
height: 100%;
@include o-flex-display;
@include o-justify-content(center);
@include o-align-items(center);
padding: 45px 0;
img {
@@ -476,7 +481,8 @@
}
.o_viewer_pdf {
.size(80%, 100%);
width: 80%;
height: 100%;
border: 0px;
box-shadow: 1px 1px 20px 1px #000;
}
@@ -488,29 +494,29 @@
}
.o_viewer_toolbar {
.o-position-absolute(@left: 50%, @bottom: @grid-gutter-width*0.5);
.o-transform(translate(-50%, -50%));
@include o-position-absolute($left: 50%, $bottom: $grid-gutter-width*0.5);
@include o-transform(translate(-50%, -50%));
overflow: hidden;
border-radius: 4px;
background-color: fade(black, 40%);
background-color: rgba(black, 0.4);
.o_viewer_toolbar_btn {
.o-viewer-black-btn();
padding-left: 8px;
@include o-viewer-black-btn;
padding-left: 8px;
padding-right: 8px;
}
}
}
.arrow {
.o-position-absolute(50%, @grid-gutter-width*0.5);
@include o-position-absolute(50%, $grid-gutter-width*0.5);
border-radius: 100%;
padding: 12px 16px 11px 18px;
.o-viewer-black-btn();
@include o-viewer-black-btn;
}
.arrow-left {
left: @grid-gutter-width*0.5;
left: $grid-gutter-width*0.5;
right: auto;
padding: 12px 18px 11px 16px;
}
@@ -1,10 +1,9 @@
// ------------------------------------------------------------------
// Layout
// ------------------------------------------------------------------
@mail-chat-sidebar-width: 250px;
.o_mail_chat {
.o-position-absolute(0, 0, 0, 0);
@include o-position-absolute(0, 0, 0, 0);
height: 100%;
overflow: hidden;
@@ -13,13 +12,13 @@
background-color: #DFA941;
color: white;
text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
.o-flex-display();
border-bottom: 1px solid @odoo-main-color-muted;
@include o-flex-display;
border-bottom: 1px solid $o-main-color-muted;
.o_mail_request_permission {
.o-flex-display();
@include o-flex-display;
justify-content: center;
.o-flex(1,1, auto);
@include o-flex(1,1, auto);
}
> span {
font-size: 16px;
@@ -38,19 +37,19 @@
}
.o_mail_chat_sidebar {
width: @mail-chat-sidebar-width;
width: $o-mail-chat-sidebar-width;
height: 100%;
float: left;
overflow: auto;
padding: @odoo-horizontal-padding 0;
padding: $o-horizontal-padding 0;
@media (min-width: @screen-lg-min) {
width: @mail-chat-sidebar-width + 50px;
@media (min-width: $screen-lg-min) {
width: $o-mail-chat-sidebar-width + 50px;
}
.o_mail_sidebar_title {
.o-flex-display();
padding: 6px @odoo-horizontal-padding 0 @odoo-horizontal-padding;
@include o-flex-display;
padding: 6px $o-horizontal-padding 0 $o-horizontal-padding;
align-items: center;
justify-content: space-between;
h4 {
@@ -65,16 +64,16 @@
}
}
.o_mail_chat_channel_item {
.o-flex-display();
@include o-flex-display;
width: 100%;
padding: 2px @odoo-horizontal-padding 2px (@odoo-horizontal-padding + 12px); // compensate icon
padding: 2px $o-horizontal-padding 2px ($o-horizontal-padding + 12px); // compensate icon
.o_channel_name {
.o-flex(1, 1, auto);
.o-text-overflow();
@include o-flex(1, 1, auto);
@include o-text-overflow;
}
.o_mail_sidebar_needaction, .o_mail_partner_unpin, .o_mail_channel_settings {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
}
.o_mail_sidebar_needaction {
margin: 0 0 0 5px;
@@ -87,18 +86,18 @@
}
&.o_mail_chat_title_main {
padding: @padding-base-vertical @odoo-horizontal-padding;
padding: $padding-base-vertical $o-horizontal-padding;
margin-bottom: 2px;
}
}
.o_mail_chat_channel_item + .o_mail_sidebar_title {
margin-top: @padding-base-vertical;
margin-top: $padding-base-vertical;
}
.o_mail_add_channel {
width: 100%;
padding: 5px (@odoo-horizontal-padding + 23px); // compensate icon
padding: 5px ($o-horizontal-padding + 23px); // compensate icon
position: relative;
> input {
@@ -106,27 +105,27 @@
padding: 2px 5px;
}
> span {
.o-position-absolute(7px, @left: 27px);
@include o-position-absolute(7px, $left: 27px);
}
}
}
.o_mail_chat_content {
.o-flex-display();
.o-flex-flow(column, nowrap);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
height: 100%;
margin-left: @mail-chat-sidebar-width;
margin-left: $o-mail-chat-sidebar-width;
position: relative;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
overflow: auto;
}
@media (min-width: @screen-lg-min) {
margin-left: @mail-chat-sidebar-width + 50px;
@media (min-width: $screen-lg-min) {
margin-left: $o-mail-chat-sidebar-width + 50px;
}
.o_mail_thread {
.o-flex(1, 0, 0);
@include o-flex(1, 0, 0);
overflow: auto;
padding: 0 0 15px 0;
-webkit-overflow-scrolling: touch; // smooth scrolling in iOS app (Safari)
@@ -138,11 +137,11 @@
}
.o_mail_snackbar {
.o-position-absolute(15px, 15px);
@include o-position-absolute(15px, 15px);
padding-top: 10px;
padding-bottom: 10px;
cursor: pointer;
background-color: darken(@gray, 8%);
background-color: darken($gray, 8%);
color: white;
}
}
@@ -151,27 +150,26 @@
// ------------------------------------------------------------------
// Style
// ------------------------------------------------------------------
@sidebar-icon-opacity: 0.7;
.o_mail_chat {
.o_mail_chat_sidebar {
background-color: @gray-dark;
color: @gray-lighter-dark;
background-color: $gray-dark;
color: $gray-lighter-dark;
.o_mail_chat_channel_item {
cursor: pointer;
&:hover {
background-color: darken(@gray-dark,2%);
background-color: darken($gray-dark,2%);
.o_mail_partner_unpin, .o_mail_channel_settings {
opacity: @sidebar-icon-opacity;
opacity: $o-mail-sidebar-icon-opacity;
}
}
&.o_active {
background-color: @gray-darker;
box-shadow: inset 3px 0 0 @odoo-brand-optional;
background-color: $gray-darker;
box-shadow: inset 3px 0 0 $o-brand-optional;
}
.o_mail_hash {
@@ -179,7 +177,7 @@
}
.o_mail_partner_unpin, .o_mail_channel_settings {
.o-hover-opacity(@default-opacity: 0, @hover-opacity: 1);
@include o-hover-opacity($default-opacity: 0, $hover-opacity: 1);
}
&.o_unread_message {
color: white;
@@ -188,24 +186,24 @@
> .badge {
color: white;
background-color: @odoo-brand-optional;
background-color: $o-brand-optional;
font-size: 10px;
line-height: 16px;
height: 18px;
}
&.o_mail_chat_title_main {
font-size: @font-size-base;
font-size: $font-size-base;
&.o_mail_chat_title_starred > .badge {
background-color: @gray-light;
border-color: @gray-light;
background-color: $gray-light;
border-color: $gray-light;
}
}
}
> hr {
border-color: @gray;
border-color: $gray;
}
.o_mail_add_channel {
@@ -221,17 +219,17 @@
.o_mail_sidebar_title {
h4 {
margin: 0;
font-size: @font-size-small;
font-size: $font-size-small;
text-transform: uppercase;
color: @gray-light;
color: $gray-light;
&.o_mail_open_channels:hover {
color: white;
}
}
.o_add {
cursor: pointer;
.o-hover-opacity(@sidebar-icon-opacity, 1);
.o-hover-text-color(@gray-light, white);
@include o-hover-opacity($o-mail-sidebar-icon-opacity, 1);
@include o-hover-text-color($gray-light, white);
}
}
}
@@ -244,7 +242,7 @@
.o_thread_message {
opacity: 0.5;
&.o_thread_selected_message {
padding: 4px @odoo-horizontal-padding;
padding: 4px $o-horizontal-padding;
opacity: 1;
background-color: lightgray;
}
@@ -256,10 +254,10 @@
font-size: 1em;
position: relative;
&.o_user_online {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
&.o_user_idle {
color: @brand-warning;
color: $brand-warning;
}
}
@@ -267,14 +265,14 @@
// ------------------------------------------------------------------
// Mobile
// ------------------------------------------------------------------
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
.o_mail_chat {
.o-flex-display();
.o-flex-flow(column, nowrap);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
background: white;
.o_mail_chat_mobile_control_panel {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
padding: 5px;
min-height: 44px;
border-bottom: 1px solid #ebebeb;
@@ -292,7 +290,7 @@
}
.o_enable_searchview, .o_enable_searchview:focus,
.o_enable_searchview:hover, .o_enable_searchview:active {
.o-position-absolute(@right: 5px, @top: 5px);
@include o-position-absolute($right: 5px, $top: 5px);
color: gray;
background: none;
font-size: 15px;
@@ -303,24 +301,24 @@
}
.o_mail_chat_mobile_inbox_buttons {
.o-flex-display();
.o-flex(0, 0, auto);
@include o-flex-display;
@include o-flex(0, 0, auto);
z-index: 2;
box-shadow: 0 2px 4px @gray-lighter-darker;
box-shadow: 0 2px 4px $gray-lighter-darker;
.o_channel_inbox_item {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
width: 50%;
padding: 2%;
&.btn-default {
border-bottom: 1px solid @gray-lighter-darker
border-bottom: 1px solid $gray-lighter-darker
}
}
}
.o_mail_chat_content {
.o-flex(1, 0, 0);
@include o-flex(1, 0, 0);
margin-left: 10px;
margin-right: 10px;
background-color: transparent;
@@ -336,7 +334,7 @@
border: 1px solid #afafaf;
border-radius: 4px;
> span {
.o-position-absolute(@top: 10px, @left: 10px);
@include o-position-absolute($top: 10px, $left: 10px);
}
> input {
border: none;
@@ -346,7 +344,7 @@
}
}
.o_mail_mobile_tabs {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
}
}
}
@@ -356,64 +354,64 @@
// ------------------------------------------------------------------
.o_mail_channel_preview {
.o-flex-display();
background-color: @gray-lighter;
color: @odoo-main-text-color;
@include o-flex-display;
background-color: $gray-lighter;
color: $o-main-text-color;
cursor: pointer;
overflow: hidden;
position: relative;
&:hover {
background-color: @gray-lighter-dark;
background-color: $gray-lighter-dark;
.o_channel_name {
color: @headings-color;
color: $headings-color;
}
}
&:not(:last-child) {
border-bottom: 1px solid @gray-lighter-darker;
border-bottom: 1px solid $gray-lighter-darker;
}
.o_mail_channel_image {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
position: relative;
> img {
.square(100%);
@include square(100%);
border-radius: 50%;
}
&.o_mail_channel_app > img {
border-radius: 2px;
}
.o_mail_user_status {
.o-position-absolute(@bottom: 0px, @right: 0px);
@include o-position-absolute($bottom: 0px, $right: 0px);
}
}
.o_channel_info {
.o-flex(1, 1, 100%);
@include o-flex(1, 1, 100%);
overflow: hidden;
.o_channel_title {
.o-flex-display();
@include o-flex-display;
.o_channel_name {
.o-flex(0, 1, auto);
.o-text-overflow();
@include o-flex(0, 1, auto);
@include o-text-overflow;
}
.o_channel_counter {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
}
.o_last_message_date {
.o-flex(0, 0, auto);
color: @odoo-main-color-muted;
@include o-flex(0, 0, auto);
color: $o-main-color-muted;
font-weight: 500;
}
}
.o_last_message_preview {
width: 100%;
max-height: 20px;
color: @odoo-main-color-muted;
.o-text-overflow();
color: $o-main-color-muted;
@include o-text-overflow;
}
}
&.o_channel_unread {
background-color: transparent;
&:hover {
background-color: @gray-lighter;
background-color: $gray-lighter;
}
.o_channel_info {
.o_channel_title {
@@ -421,29 +419,28 @@
font-weight: 700;
}
.o_last_message_date {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
}
}
}
}
@media (max-width: @screen-xs-max) {
@o-mail-chatter-mobile-gap: 2%;
@media (max-width: $screen-xs-max) {
.o_main_navbar > ul.o_menu_systray > li.open .dropdown-menu {
border: none;
}
.o_mail_channel_preview {
padding: @o-mail-chatter-mobile-gap;
padding: $o-mail-chatter-mobile-gap;
.o_mail_channel_image:not(img) {
width: @o-mail-chatter-mobile-gap*6;
width: $o-mail-chatter-mobile-gap*6;
}
.o_channel_info, .o_last_message_date {
margin-left: @o-mail-chatter-mobile-gap;
margin-left: $o-mail-chatter-mobile-gap;
}
.o_channel_name {
@@ -455,22 +452,22 @@
}
.o_last_message_preview {
margin-top: @o-mail-chatter-mobile-gap*0.5;
margin-top: $o-mail-chatter-mobile-gap*0.5;
}
}
.o_mail_mobile_tabs {
.o-flex-display();
box-shadow: 0 0 8px @gray-lighter-darker;
@include o-flex-display;
box-shadow: 0 0 8px $gray-lighter-darker;
.o_mail_mobile_tab {
.o-flex-display();
.o-flex(1, 1, auto);
@include o-flex-display;
@include o-flex(1, 1, auto);
width: 20%;
.o-flex-flow(column, nowrap);
.o-justify-content(space-between);
padding: @o-mail-chatter-mobile-gap @o-mail-chatter-mobile-gap*2;
box-shadow: 1px 0 0 @gray-lighter-darker;
@include o-flex-flow(column, nowrap);
@include o-justify-content(space-between);
padding: $o-mail-chatter-mobile-gap $o-mail-chatter-mobile-gap*2;
box-shadow: 1px 0 0 $gray-lighter-darker;
text-align: center;
> span {
@@ -479,13 +476,13 @@
font-size: 10px;
&.fa {
padding-bottom: @o-mail-chatter-mobile-gap*2;
padding-bottom: $o-mail-chatter-mobile-gap*2;
font-size: 1.3em;
}
}
&.active > span {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
}
}
@@ -1,23 +1,23 @@
.o_chat_window {
&.o_thread_less {
.o_chat_search_input {
.o-flex-display();
.o-align-items(baseline);
padding: @o-mail-chatter-gap*0.5 @o-mail-chatter-gap;
@include o-flex-display;
@include o-align-items(baseline);
padding: $o-mail-chatter-gap*0.5 $o-mail-chatter-gap;
> span {
.o-flex(0, 0, auto);
@include o-flex(0, 0, auto);
}
> input {
margin-left: 5px;
padding: @o-mail-chatter-gap*0.5;
.o-flex(1, 1, 100%);
padding: $o-mail-chatter-gap*0.5;
@include o-flex(1, 1, 100%);
}
}
.o_mail_thread {
background-color: @odoo-webclient-background-color;
background-color: $o-webclient-background-color;
}
.o_chat_composer {
@@ -33,7 +33,7 @@
padding: 10px;
font-size: 13px;
}
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
width: 70%;
> textarea {
padding: 15px 10px;
@@ -41,14 +41,14 @@
}
}
.o_chatter_composer_tools {
.o-position-absolute(@right: 0px, @top: 0px);
@include o-position-absolute($right: 0px, $top: 0px);
@media (max-width: @screen-xs-max) {
.o-position-absolute(@right: 6px, @top: 0px);
@media (max-width: $screen-xs-max) {
@include o-position-absolute($right: 6px, $top: 0px);
}
button {
padding: 8px;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
padding: 7px 6px 0px 6px;
}
&.btn-icon {
@@ -1,6 +1,6 @@
.o_followers {
float: right;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
display: none !important; // Hide the followers in mobile
}
@@ -38,7 +38,7 @@
.o_followers_follow_button {
width: 85px;
padding-right: 0;
color: @text-color;
color: $text-color;
font-weight: bold;
.o_follow, .o_followers_unfollow, .o_followers_following {
@@ -62,10 +62,10 @@
.fa {
&.fa-times {
color: @brand-warning;
color: $brand-warning;
}
&.fa-check {
color: @brand-success;
color: $brand-success;
}
}
}
@@ -91,26 +91,26 @@
font-size: small;
.o_partner {
@partner_avatar_size: 24px;
position: relative; // required for old design compatibility
> a {
max-width: 160px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
height: @partner_avatar_size;
padding: 3px @partner_avatar_size + 8px;
height: $o-mail-partner-avatar-size;
padding: 3px $o-mail-partner-avatar-size + 8px;
}
> img {
.o-position-absolute();
width: @partner_avatar_size;
@include o-position-absolute;
width: $o-mail-partner-avatar-size;
}
.o_remove_follower {
.o-position-absolute(6px, 5px);
@include o-position-absolute(6px, 5px);
cursor: pointer;
}
.o_edit_subtype {
.o-position-absolute(6px, 18px);
@include o-position-absolute(6px, 18px);
cursor: pointer;
}
}
@@ -16,7 +16,7 @@
&.collapsed {
margin-bottom: 0;
.o-transition(margin, 0.8s);
@include o-transition(margin, 0.8s);
.o_chatter_planned_activities_summary {
display: inline-block;
@@ -44,12 +44,12 @@
margin-bottom: 8px;
img {
.square(31px);
@include square(31px);
}
.o_avatar_icon {
.o-position-absolute(@right: -5px, @bottom: -5px);
.square(25px);
@include o-position-absolute($right: -5px, $bottom: -5px);
@include square(25px);
padding: 6px 5px;
text-align: center;
line-height: 1.2;
@@ -64,12 +64,12 @@
.o_activity_info {
vertical-align: baseline;
padding: 4px 6px;
background: @gray-lighter;
background: $gray-lighter;
border-radius: 2px 2px 0 0;
.o-hover-opacity(1, 1);
@include o-hover-opacity(1, 1);
&.collapsed {
.o-hover-opacity(0.5, 1);
@include o-hover-opacity(0.5, 1);
background: transparent;
}
}
@@ -93,7 +93,7 @@
.o_thread_message_tools {
.o_activity_link {
padding: 0 @padding-base-horizontal;
padding: 0 $padding-base-horizontal;
}
.o_activity_done {
padding-left: 0;
@@ -107,13 +107,13 @@
}
.o_activity_color_planned {
color: @brand-success;
color: $brand-success;
}
.o_activity_color_overdue {
color: @brand-danger;
color: $brand-danger;
}
.o_activity_color_today {
color: @brand-warning;
color: $brand-warning;
}
}
@@ -150,14 +150,14 @@
padding: 0px 0px;
& > li:last-child {
background-color: @odoo-brand-lightsecondary;
color: @gray-dark;
background-color: $o-brand-lightsecondary;
color: $gray-dark;
line-height: 3em;
}
li > ul.o_activity_log {
max-height: 300px;
overflow-y: auto;
color: @text-color;
color: $text-color;
li {
width: 100%;
@@ -166,14 +166,14 @@
&.o_activity_label {
line-height: 2.5em;
padding: 0px 5px;
background-color: @odoo-brand-lightsecondary;
background-color: $o-brand-lightsecondary;
}
&.o_schedule_activity {
padding: 8px 10px 8px 0px;
vertical-align: middle;
&:hover {
background-color: @gray-lighter;
background-color: $gray-lighter;
.o_activity_link_kanban {
visibility: visible;
}
@@ -9,19 +9,19 @@
&.o_no_notification > a {
opacity: 0.5;
> i {
.o-transform(translateY(0px));
@include o-transform(translateY(0px));
}
.o_notification_counter {
display: none;
}
}
&.open .o_mail_navbar_dropdown {
.o-flex-display();
.o-flex-flow(column, nowrap);
@include o-flex-display;
@include o-flex-flow(column, nowrap);
}
.o_notification_counter {
.o-position-absolute(@top: 20%, @right: 1px);
background: @odoo-brand-optional;
@include o-position-absolute($top: 20%, $right: 1px);
background: $o-brand-optional;
color: white;
padding: 0em 0.3em;
font-size: 0.7em;
@@ -31,27 +31,26 @@
padding: 0;
.o_spinner {
.o-flex-display();
.o-align-items(center);
.o-justify-content(center);
color: @odoo-main-text-color;
@include o-flex-display;
@include o-align-items(center);
@include o-justify-content(center);
color: $o-main-text-color;
height: 50px;
}
.o_mail_navbar_dropdown_top {
.o-flex-display();
.o-flex(0, 0, auto);
@include o-flex-display;
@include o-flex(0, 0, auto);
justify-content: space-between;
border-bottom: 1px solid @gray-lighter-darker;
box-shadow: 0 0 2px @gray-lighter-darker;
border-bottom: 1px solid $gray-lighter-darker;
box-shadow: 0 0 2px $gray-lighter-darker;
.o_filter_button, .o_new_message {
.btn-link;
padding: 5px;
}
.o_filter_button {
color: @odoo-main-color-muted;
color: $o-main-color-muted;
&:hover, &.active {
color: @odoo-brand-optional;
color: $o-brand-optional;
}
&.active {
cursor: default;
@@ -61,12 +60,12 @@
}
.o_mail_navbar_dropdown_channels {
.o-flex(0, 1, auto);
@include o-flex(0, 1, auto);
max-height: 400px;
min-height: 50px;
overflow-y: auto;
@media (min-width: @screen-sm-min) {
@media (min-width: $screen-sm-min) {
.o_mail_channel_preview {
height: 50px;
padding: 5px;
@@ -87,12 +86,11 @@
}
}
.o_activity_filter_button {
.btn-link;
padding: 2px;
}
.o_no_activity {
cursor: initial;
.o-align-items(center);
@include o-align-items(center);
color: grey;
opacity: 0.5;
padding: 3px;
@@ -106,7 +104,7 @@
// Mobile rules
// Goal: mock the design of Discuss in mobile
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
.o_mail_navbar_item {
.o_notification_counter {
top: 10%;
@@ -120,7 +118,7 @@
padding: 5px;
height: 44px;
border-bottom: 1px solid #ebebeb;
box-shadow: 0 0 2px @gray-lighter-darker;
box-shadow: 0 0 2px $gray-lighter-darker;
}
.o_mail_navbar_dropdown_channels {
max-height: none;
@@ -132,7 +130,7 @@
left: 0px;
right: 0px;
background-color: white;
color: @odoo-main-text-color;
color: $o-main-text-color;
}
}
}
@@ -1,8 +1,3 @@
@mail-thread-avatar-size: 36px;
@mail-thread-icon-opacity: 0.6;
@mail-thread-side-date-opacity: 0.6;
@mail-thread-note: fade(@gray-lighter-dark, 50%);
.o_mail_thread, .o_mail_activity {
.o_thread_show_more {
text-align: center;
@@ -11,11 +6,11 @@
.o_thread_date_separator {
margin-top: 15px;
margin-bottom: 30px;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
margin-top: 0px;
margin-bottom: 15px;
}
border-bottom: 1px solid @gray-lighter-darker;
border-bottom: 1px solid $gray-lighter-darker;
text-align: center;
.o_thread_date {
@@ -30,42 +25,42 @@
.o_thread_new_messages_separator {
margin-bottom: 15px;
border-bottom: solid lighten(@odoo-brand-primary, 15%) 1px;
border-bottom: solid lighten($o-brand-primary, 15%) 1px;
text-align: right;
.o_thread_separator_label {
position: relative;
top: 8px;
padding: 0 10px;
background: white;
color: lighten(@odoo-brand-primary, 15%);
color: lighten($o-brand-primary, 15%);
font-size: smaller;
}
}
.o_thread_message {
.o-flex-display();
padding: 4px @odoo-horizontal-padding;
@include o-flex-display;
padding: 4px $o-horizontal-padding;
margin-bottom: 0px;
&.o_mail_not_discussion {
background-color: @mail-thread-note;
border-bottom: 1px solid @gray-lighter-darker;
background-color: rgba($gray-lighter-dark, 0.5);
border-bottom: 1px solid $gray-lighter-darker;
}
.o_thread_message_sidebar {
.o-flex(0, 0, @mail-thread-avatar-size);
@include o-flex(0, 0, $o-mail-thread-avatar-size);
margin-right: 10px;
margin-top: 2px;
text-align: center;
font-size: smaller;
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
margin-top: 4px;
font-size: x-small;
}
.o_thread_message_avatar {
max-width: @mail-thread-avatar-size;
max-width: $o-mail-thread-avatar-size;
}
.o_thread_message_side_date {
margin-left: -5px;
@@ -82,17 +77,17 @@
cursor: pointer;
opacity: 0;
&.fa-star {
opacity: @mail-thread-icon-opacity;
opacity: $o-mail-thread-icon-opacity;
color: gold;
}
}
&:hover, &.o_thread_selected_message {
.o_thread_message_side_date {
opacity: @mail-thread-side-date-opacity;
opacity: $o-mail-thread-side-date-opacity;
}
.o_thread_icon {
opacity: @mail-thread-icon-opacity;
opacity: $o-mail-thread-icon-opacity;
&:hover {
opacity: 1;
}
@@ -104,7 +99,7 @@
}
.o_thread_message_core {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
min-width: 0;
max-width: 100%;
word-wrap: break-word;
@@ -114,7 +109,7 @@
text-align: justify;
}
.o_mail_subject {
font-style: italic;
@@ -149,13 +144,9 @@
.o_mail_info {
margin-bottom: 2px;
.text-muted();
.o_mail_mailto, .o_mail_mailto:hover {
.text-muted();
}
strong {
color: @headings-color;
color: $headings-color;
}
}
@@ -179,7 +170,7 @@
.o_attachments_list, .o_attachments_previews {
&:last-child {
margin-bottom: @grid-gutter-width;
margin-bottom: $grid-gutter-width;
}
}
@@ -189,9 +180,9 @@
.o_thread_tooltip_content {
top: 10px;
background: @gray-lighter;
background: $gray-lighter;
padding: 4px;
border: solid @gray-lighter 1px;
border: solid $gray-lighter 1px;
border-radius: 5px;
color: gray;
width: 300px;
@@ -219,7 +210,7 @@
}
.o_mail_no_content {
.o-position-absolute(30%, 0, 0, 0);
@include o-position-absolute(30%, 0, 0, 0);
text-align: center;
font-size: 115%;
}
@@ -231,6 +222,6 @@
.o_web_client.o_touch_device {
.o_mail_thread .o_thread_icon {
opacity: @mail-thread-icon-opacity;
opacity: $o-mail-thread-icon-opacity;
}
}
@@ -0,0 +1,12 @@
$o-mail-thread-avatar-size: 36px !default;
$o-mail-thread-icon-opacity: 0.6 !default;
$o-mail-thread-side-date-opacity: 0.6 !default;
$o-mail-chat-window-bg: #FAFAFA !default;
$o-mail-chat-window-width: 325px !default;
$o-mail-chatter-gap: 10px !default;
$o-mail-chatter-mobile-gap: 2% !default;
$o-mail-chat-header-height: 46px !default;
$o-mail-attachment-image-size: 100px !default;
$o-mail-sidebar-icon-opacity: 0.7 !default;
$o-mail-chat-sidebar-width: 250px !default;
$o-mail-partner-avatar-size: 24px !default;
+1 -1
View File
@@ -23,7 +23,7 @@
</div>
</div>
<div class="o_thread_message_core">
<div class="o_mail_info">
<div class="o_mail_info text-muted">
<strong><span t-attf-class="o_activity_date o_activity_color_#{activity.state}"><t t-esc="activity.label_delay" /></span></strong>:
<strong t-if="activity.summary"> &#8220;<t t-esc="activity.summary"/>&#8221;</strong>
<strong t-if="!activity.summary"> <t t-esc="activity.activity_type_id[1]" /></strong>
+4 -5
View File
@@ -14,11 +14,11 @@
</li>
<li t-if="!widget.isMobile" class="o_mail_navbar_dropdown_top">
<div>
<button type="button" class="btn btn-sm o_filter_button active"> All </button>
<button type="button" class="btn btn-sm o_filter_button" data-filter='chat'> Chat </button>
<button type="button" class="btn btn-sm o_filter_button" data-filter='channels'> Channels </button>
<button type="button" class="btn btn-sm btn-link o_filter_button active"> All </button>
<button type="button" class="btn btn-sm btn-link o_filter_button" data-filter='chat'> Chat </button>
<button type="button" class="btn btn-sm btn-link o_filter_button" data-filter='channels'> Channels </button>
</div>
<button type="button" class="btn btn-sm o_new_message"> New message </button>
<button type="button" class="btn btn-sm btn-link o_new_message"> New message </button>
</li>
<li class="o_mail_navbar_dropdown_channels"/>
<li t-if="widget.isMobile">
@@ -93,4 +93,3 @@
</li>
</t>
</templates>
+3 -3
View File
@@ -142,14 +142,14 @@
t-att-class="'fa o_thread_message_star o_thread_icon ' + (message.is_starred ? 'fa-star' : 'fa-star-o')"
t-att-data-message-id="message.id" title="Mark as Todo"/>
</div>
<div class='o_thread_message_core'>
<p t-if="message.display_author" class="o_mail_info">
<div class="o_thread_message_core">
<p t-if="message.display_author" class="o_mail_info text-muted">
<t t-if="message.is_note">
Note by
</t>
<strong t-if="message.mailto">
<a class="o_mail_mailto" t-attf-href="mailto:#{message.mailto}?subject=Re: #{message.subject}">
<a class="text-muted" t-attf-href="mailto:#{message.mailto}?subject=Re: #{message.subject}">
<t t-esc="message.mailto"/>
</a>
</strong>
+16 -10
View File
@@ -1,6 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="_assets_primary_variables" inherit_id="web._assets_primary_variables">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/variables.scss"/>
</xpath>
</template>
<template id="assets_backend" name="mail assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/mail/static/src/js/many2many_tags_email.js"></script>
@@ -27,16 +33,16 @@
<script type="text/javascript" src="/mail/static/src/js/utils.js"></script>
<script type="text/javascript" src="/mail/static/src/js/activity.js"></script>
<link rel="stylesheet" href="/mail/static/src/less/announcement.less"/>
<link rel="stylesheet" href="/mail/static/src/less/chat_window.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/discuss.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/extended_chat_window.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/composer.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/chatter.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/followers.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/thread.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/systray.less" type="text/less"/>
<link rel="stylesheet" href="/mail/static/src/less/mail_activity.less"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/announcement.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/discuss.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/chat_window.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/extended_chat_window.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/composer.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/chatter.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/followers.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/thread.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/systray.scss"/>
<link rel="stylesheet" type="text/scss" href="/mail/static/src/scss/mail_activity.scss"/>
</xpath>
</template>
@@ -18,7 +18,7 @@
<field name="active_domain" invisible="1"/>
<!-- Various warnings -->
<div colspan="2" class="oe_form_box_info oe_text_center"
<div colspan="2" class="oe_form_box_info bg-info oe_text_center"
attrs="{'invisible': [('active_domain', '=', False)]}">
<p attrs="{'invisible': [('use_active_domain', '=', False)]}">
<strong>
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="maintenance assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/maintenance/static/src/less/maintenance_team_dashboard.less"/>
<link rel="stylesheet" type="text/scss" href="/maintenance/static/src/scss/maintenance_team_dashboard.scss"/>
</xpath>
</template>
</odoo>
@@ -872,7 +872,7 @@
</div>
</div>
</div>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div class="row">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view">
<div class="o_kanban_card_manage_title">
@@ -1,25 +1,25 @@
.o_form_view .o_form_sheet .o_notebook .tab-content .tab-pane .o_mail_body {
// cancel padding of form_sheet
margin-top: -@odoo-sheet-cancel-tpadding;
margin-left: -@odoo-sheet-cancel-hpadding;
margin-right: -@odoo-sheet-cancel-hpadding;
margin-bottom: -@odoo-sheet-cancel-bpadding;
margin-top: -$o-sheet-cancel-tpadding;
margin-left: -$o-sheet-cancel-hpadding;
margin-right: -$o-sheet-cancel-hpadding;
margin-bottom: -$o-sheet-cancel-bpadding;
}
.o_mail_theme_selector {
> a {
.o-position-absolute(0, 0, auto, 0);
height: @odoo-navbar-height;
@include o-position-absolute(0, 0, auto, 0);
height: $o-navbar-height;
line-height: 31px;
border-radius: 0;
background-color: @o-we-color-darker;
color: @o-we-color-text-normal;
.o-flex-display();
.o-justify-content(center);
.o-align-items(center);
background-color: $o-we-color-darker;
color: $o-we-color-text-normal;
@include o-flex-display;
@include o-justify-content(center);
@include o-align-items(center);
&:hover, &:focus, &:active {
color: @o-we-color-text-light;
color: $o-we-color-text-light;
}
i {
@@ -29,15 +29,15 @@
&.open > a {
color: white;
background-color: @o-we-color-dark;
background-color: $o-we-color-dark;
}
.dropdown-menu {
.o-position-absolute(@odoo-navbar-height - 1, -1px, -1px, -1px);
@include o-position-absolute($o-navbar-height - 1, -1px, -1px, -1px);
margin: 0;
border-radius: 0;
overflow: auto;
background-color: @o-we-color-dark;
background-color: $o-we-color-dark;
> li {
margin: 0;
@@ -49,8 +49,8 @@
display: none;
background-size: cover;
padding-top: 50%;
border: 1px solid @o-we-color-light;
border-top: 1px solid @o-we-color-text-normal;
border: 1px solid $o-we-color-light;
border-top: 1px solid $o-we-color-text-normal;
&.logo {
display: block;
@@ -59,7 +59,7 @@
}
&:hover > a {
background-color: @o-we-color-darker;
background-color: $o-we-color-darker;
.o_thumb {
border: 1px solid white;
@@ -67,8 +67,8 @@
}
&.selected > a .o_thumb {
border: 2px solid @odoo-brand-primary;
background-color: @o-we-color-dark;
border: 2px solid $o-brand-primary;
background-color: $o-we-color-dark;
}
}
}
@@ -93,17 +93,17 @@ body.o_force_mail_theme_choice {
max-width: 25%;
> a {
.o-transition(all, 0.3s, ease);
@include o-transition(all, 0.3s, ease);
.o_thumb {
display: none;
padding-top: 107%;
border: 1px solid @o-we-color-light;
border-top: 1px solid @o-we-color-text-normal;
box-shadow: 0 5px 10px fade(black, 80%);
border: 1px solid $o-we-color-light;
border-top: 1px solid $o-we-color-text-normal;
box-shadow: 0 5px 10px rgba(black, 0.8);
will-change: transform;
.backface-visibility(hidden);
.o-transition(all, 0.3s);
@include backface-visibility(hidden);
@include o-transition(all, 0.3s);
&.small {
display: block;
@@ -121,10 +121,10 @@ body.o_force_mail_theme_choice {
}
&:hover > a {
background-color: @o-we-color-dark;
background-color: $o-we-color-dark;
.o_thumb {
box-shadow: 0 5px 30px 1px fade(black, 60%);
box-shadow: 0 5px 30px 1px rgba(black, 0.6);
}
}
@@ -135,7 +135,7 @@ body.o_force_mail_theme_choice {
opacity: 0.2;
> .fa {
.o-position-absolute(0, 0, 0, 0);
@include o-position-absolute(0, 0, 0, 0);
text-align: center;
font-size: 50px;
color: white;
@@ -1,42 +1,40 @@
// lessc@1.4.2
// ============================
// Mass Mailing "Theme Default"
// ============================
// ===== Default Theme palette =====
@o_mm_def_color_alpha: #f5f5f5;
@o_mm_def_color_beta: #ffffff;
@o_mm_def_color_gamma: #706482;
@o_mm_def_color_delta: #464646;
@o_mm_def_color_epsilon: darken(@o_mm_def_color_gamma, 5%);
@o_mm_def_color_zeta: #706482;
@o_mm_def_color_eta: #87a6b5;
$o-mm-def-color-alpha: #f5f5f5;
$o-mm-def-color-beta: #ffffff;
$o-mm-def-color-gamma: #706482;
$o-mm-def-color-delta: #464646;
$o-mm-def-color-epsilon: darken($o-mm-def-color-gamma, 5%);
$o-mm-def-color-zeta: #706482;
$o-mm-def-color-eta: #87a6b5;
// ===== Default Theme variables =====
@o_mm_def_body_width : 600px;
@o_mm_def_body_bobile : 480px;
@o_mm_def_b_radius : 2px;
$o-mm-def-body-width : 600px;
$o-mm-def-body-bobile : 480px;
$o-mm-def-b-radius : 2px;
@o_mm_def_font : -apple-system, "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
@o_mm_def_text_color : @o_mm_def_color_delta;
$o-mm-def-font : -apple-system, "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
$o-mm-def-text-color : $o-mm-def-color-delta;
@o_mm_def_btn_bg : @o_mm_def_color_gamma;
@o_mm_def_btn_text : @o_mm_def_color_beta;
$o-mm-def-btn-bg : $o-mm-def-color-gamma;
$o-mm-def-btn-text : $o-mm-def-color-beta;
// ===== Colors =====
.bg-beta {
background-color: @o_mm_def_color_zeta;
color: @o_mm_def_color_beta;
background-color: $o-mm-def-color-zeta;
color: $o-mm-def-color-beta;
}
.text-beta {
color: @o_mm_def_color_zeta;
color: $o-mm-def-color-zeta;
}
.bg-delta {
background-color: @o_mm_def_color_eta;
background-color: $o-mm-def-color-eta;
}
.bg-gray-lighter {
background-color: @o_mm_def_color_alpha;
background-color: $o-mm-def-color-alpha;
}
td {
@@ -51,7 +49,7 @@ td {
box-sizing: content-box;
width: 94%;
min-height: 100%;
background-color: @o_mm_def_color_alpha;
background-color: $o-mm-def-color-alpha;
padding: 0 3%;
// Forces on <p/> and <hx/> elements as several mail clients does not
@@ -60,8 +58,8 @@ td {
font-size: 14px; // force bootstrap default
}
&, p, h1, h2, h3, h4, h5, h6 {
font-family: @o_mm_def_font;
color: lighten(@o_mm_def_text_color, 20%);
font-family: $o-mm-def-font;
color: lighten($o-mm-def-text-color, 20%);
}
> .o_mail_wrapper {
@@ -71,9 +69,9 @@ td {
// same width
.o_mail_wrapper_td {
width: @o_mm_def_body_width;
border: 1px solid darken(@o_mm_def_color_alpha, 2%);
background-color: @o_mm_def_color_beta;
width: $o-mm-def-body-width;
border: 1px solid darken($o-mm-def-color-alpha, 2%);
background-color: $o-mm-def-color-beta;
}
}
}
@@ -81,27 +79,27 @@ td {
// ===== Snippets (general) =====
.o_mail_snippet_general {
width: 100%;
max-width: @o_mm_def_body_width; // should not be necessary thanks to mail wrapper
max-width: $o-mm-def-body-width; // should not be necessary thanks to mail wrapper
margin: 0 auto;
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
color: @o_mm_def_text_color;
color: $o-mm-def-text-color;
}
.btn.btn-primary {
-webkit-user-select: none;
color: @o_mm_def_btn_text;
color: $o-mm-def-btn-text;
border: none;
text-decoration: none;
font-weight: normal;
font-family: @o_mm_def_font;
font-family: $o-mm-def-font;
cursor: pointer;
border-radius: @o_mm_def_b_radius;
background-color: @o_mm_def_btn_bg;
border-radius: $o-mm-def-b-radius;
background-color: $o-mm-def-btn-bg;
}
a, .btn.btn-link {
color: @o_mm_def_color_epsilon;
color: $o-mm-def-color-epsilon;
font-weight: bold;
text-decoration: none !important;
@@ -118,20 +116,20 @@ td {
.separator {
height: 2px;
background-color: @o_mm_def_color_alpha;
background-color: $o-mm-def-color-alpha;
}
.bg-beta {
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
color: @o_mm_def_color_beta;
color: $o-mm-def-color-beta;
}
.btn.btn-primary {
background-color: @o_mm_def_color_eta;
background-color: $o-mm-def-color-eta;
}
a, .btn.btn-link {
color: @o_mm_def_color_eta;
color: $o-mm-def-color-eta;
}
}
@@ -165,7 +163,7 @@ td {
}
.o_mail_block_steps {
background-color: @o_mm_def_color_alpha;
background-color: $o-mm-def-color-alpha;
}
.o_mail_block_two_cols, .o_mail_block_three_cols {
@@ -196,7 +194,7 @@ td {
margin-left: 20px;
margin-right: 20px;
.o_mail_snippet_general{
background: darken(@o_mm_def_color_alpha, 2%);
background: darken($o-mm-def-color-alpha, 2%);
}
}
@@ -208,7 +206,7 @@ td {
.o_mail_block_comparison_table {
.separator {
height: 1px;
background-color: darken(@o_mm_def_color_alpha, 15%);
background-color: darken($o-mm-def-color-alpha, 15%);
}
table table {
td, th {
@@ -227,7 +225,7 @@ td {
.o_mail_block_discount2 {
.o_code {
padding: 5px 10px;
background: @o_mm_def_color_alpha;
background: $o-mm-def-color-alpha;
border-radius: 3px;
font-family: monospace;
}
@@ -235,7 +233,7 @@ td {
.o_mail_block_footer_social {
.o_mail_table_styles {
border-top: 2px solid @o_mm_def_color_alpha;
border-top: 2px solid $o-mm-def-color-alpha;
padding-top: 20px;
padding-bottom: 20px;
}
@@ -253,7 +251,7 @@ td {
.o_mail_footer_copy {
font-size: 9px;
font-weight: bold;
color: lighten(@o_mm_def_text_color, 30%);
color: lighten($o-mm-def-text-color, 30%);
}
&.o_mail_footer_social_center {
@@ -309,15 +307,15 @@ td {
}
// ===== Mobile =====
@media screen and (max-width: @o_mm_def_body_bobile) {
@media screen and (max-width: $o-mm-def-body-bobile) {
.o_mail_col_mv {
display: block!important;
max-width: @o_mm_def_body_bobile!important;
max-width: $o-mm-def-body-bobile!important;
width: 100%!important;
}
.o_mail_table_styles {
max-width: @o_mm_def_body_bobile!important;
max-width: $o-mm-def-body-bobile!important;
width: 100%!important;
}
}
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_mail_themes">
<link rel="stylesheet" type="text/less" href="/mass_mailing/static/src/less/themes/theme_basic.less"/>
<link rel="stylesheet" type="text/less" href="/mass_mailing/static/src/less/themes/theme_default.less"/>
<link rel="stylesheet" type="text/scss" href="/mass_mailing/static/src/scss/themes/theme_basic.scss"/>
<link rel="stylesheet" type="text/scss" href="/mass_mailing/static/src/scss/themes/theme_default.scss"/>
</template>
<template id="FieldTextHtmlInline" name="Editor layout">
@@ -51,7 +51,7 @@
<field name="model">mail.mail.statistics</field>
<field name="arch" type="xml">
<form string="Mail Statistics" create="0">
<div class="oe_form_box_info oe_text_center alert-info" attrs="{'invisible': [('exception', '=', False)]}">
<div class="oe_form_box_info bg-info oe_text_center alert-info" attrs="{'invisible': [('exception', '=', False)]}">
<p><strong>This email could not be sent.</strong></p>
</div>
<sheet>
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="mass_mailing assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/mass_mailing/static/src/less/mass_mailing.less"/>
<link rel="stylesheet" type="text/scss" href="/mass_mailing/static/src/scss/mass_mailing.scss"/>
<link rel="stylesheet" href="/mass_mailing/static/src/css/email_template.css"/>
<script type="text/javascript" src="/mass_mailing/static/src/js/mass_mailing.js"></script>
</xpath>
@@ -10,7 +10,7 @@
<template id="assets_editor" inherit_id="web_editor.assets_editor">
<xpath expr="//link[last()]" position="after">
<link type="text/less" rel="stylesheet" href="/mass_mailing/static/src/less/mass_mailing.ui.less"/>
<link rel="stylesheet" type="text/scss" href="/mass_mailing/static/src/scss/mass_mailing.ui.scss"/>
</xpath>
</template>
</odoo>
@@ -419,7 +419,7 @@
<field name="state" readonly="1" widget="statusbar"/>
</header>
<div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('scheduled', '=', 0)]}">
<div class="oe_form_box_info bg-info oe_text_center" attrs="{'invisible': [('scheduled', '=', 0)]}">
<p>
<button class="btn-link"
name="%(action_view_mail_mail_statistics_mailing_list)d"
@@ -432,7 +432,7 @@
</button>
</p>
</div>
<div class="oe_form_box_info oe_text_center alert-info" attrs="{'invisible': ['|', ('state', '!=', 'done'), ('failed', '=', 0)]}">
<div class="oe_form_box_info bg-info oe_text_center alert-info" attrs="{'invisible': ['|', ('state', '!=', 'done'), ('failed', '=', 0)]}">
<p>
<button class="btn-link"
name="%(action_view_mail_mail_statistics_mailing_list)d"
@@ -445,7 +445,7 @@
</button>
</p>
</div>
<div class="oe_form_box_info oe_text_center" attrs="{'invisible': [('state', '!=', 'in_queue')]}">
<div class="oe_form_box_info bg-info oe_text_center" attrs="{'invisible': [('state', '!=', 'in_queue')]}">
<p><strong>
This mailing is scheduled for
<field name="next_departure" class="oe_inline"/>.
@@ -1,5 +1,5 @@
.o_mrp_bom_report_page {
background-color: @odoo-view-background-color;
background-color: $o-view-background-color;
margin: 16px auto;
padding: 24px 16px;
.o_mrp_bom_action {
+2 -2
View File
@@ -3,14 +3,14 @@
<template id="assets_backend" name="mrp assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/mrp/static/src/js/mrp.js"></script>
<link rel="stylesheet" type="text/less" href="/mrp/static/src/less/mrp.less"/>
<link rel="stylesheet" type="text/scss" href="/mrp/static/src/scss/mrp.scss"/>
<script type="text/javascript" src="/mrp/static/src/js/mrp_bom_report.js"></script>
</xpath>
</template>
<template id="assets_common" name="mrp bom common assets" inherit_id="web.assets_common">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/mrp/static/src/less/mrp_bom_report.less" />
<link rel="stylesheet" type="text/scss" href="/mrp/static/src/scss/mrp_bom_report.scss" />
</xpath>
</template>
+1 -1
View File
@@ -242,7 +242,7 @@
attrs="{'invisible': [('working_state','in',('normal','blocked'))]}"/>
</div>
</div>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div class="row">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view">
<div class="o_kanban_card_manage_title">
+1 -1
View File
@@ -55,7 +55,7 @@
</div>
</div>
</div>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div class="row">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view" name="picking_left_manage_pane">
<div class="o_kanban_card_manage_title">
@@ -8,7 +8,7 @@
margin-bottom: 0;
}
.oe_form_field.oe_memo {
margin: 0 (@padding-large-horizontal * -1);
margin: 0 ($padding-large-horizontal * -1);
padding: 0;
min-height: 200px;
@@ -18,8 +18,8 @@
}
&.o_form_readonly {
.oe_memo {
padding: @padding-large-horizontal;
border-bottom: 1px solid @legend-border-color;
padding: $padding-large-horizontal;
border-bottom: 1px solid $legend-border-color;
}
}
}
@@ -30,13 +30,13 @@
.o_channel_info {
.o_channel_title {
.o_channel_name {
.o-flex(1, 1, 100%);
@include o-flex(1, 1, 100%);
}
}
.o_note_input_box {
.o-flex-display();
@include o-flex-display;
p {
.o-flex(1, 1, auto);
@include o-flex(1, 1, auto);
}
}
.o_note_save {
@@ -60,4 +60,4 @@
}
}
}
}
}
+4 -2
View File
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend" inherit_id="web.assets_backend">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/note/static/src/less/note.less"/>
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/scss" href="/note/static/src/scss/note.scss"/>
</xpath>
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/note/static/src/js/systray.js"></script>
</xpath>
</template>
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="pad assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/pad/static/src/css/etherpad.css" />
<link rel="stylesheet" href="/pad/static/src/css/etherpad.css"/>
<script type="text/javascript" src="/pad/static/src/js/pad.js" />
</xpath>
</template>
@@ -8,7 +8,7 @@
+ div {
padding-left: 0;
padding-right: @o-kanban-image-width + @o-kanban-inside-hgutter;
padding-right: $o-kanban-image-width + $o-kanban-inside-hgutter;
}
}
@@ -43,7 +43,7 @@
}
.more_option {
.o-position-absolute(@right: 0px, @bottom: -10px);
@include o-position-absolute($right: 0px, $bottom: -10px);
font-size:10px;
}
+2 -2
View File
@@ -2,8 +2,8 @@
<odoo>
<template id="assets_frontend" inherit_id="web.assets_frontend">
<xpath expr="link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/payment/static/src/less/portal_payment.less"/>
<link rel="stylesheet" type="text/less" href="/payment/static/src/less/payment_form.less"/>
<link rel="stylesheet" type="text/scss" href="/payment/static/src/scss/portal_payment.scss"/>
<link rel="stylesheet" type="text/scss" href="/payment/static/src/scss/payment_form.scss"/>
</xpath>
<xpath expr="script[last()]" position="after">
<script type="text/javascript" src="/payment/static/lib/jquery.payment/jquery.payment.js"></script>
+1 -1
View File
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="Payment Assets Backend" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/payment/static/src/less/payment_acquirer.less"/>
<link rel="stylesheet" type="text/scss" href="/payment/static/src/scss/payment_acquirer.scss"/>
</xpath>
</template>
@@ -1,8 +1,8 @@
// out: ../css/customer_facing_display.css, sourcemap: false, compress: false
// =========== Variables ===========
@color_gray_lighter: #f6f6f6;
@color_gray_dark: #3E3E3E;
$color-gray-lighter: #f6f6f6;
$color-gray-dark: #3E3E3E;
// =========== Animations ===========
@keyframes item_in {
@@ -17,7 +17,7 @@
}
// =========== MIXINS ===========
.pos-bg() {
@mixin pos-bg {
background-position: center top;
background-size: contain;
background-repeat: no-repeat;
@@ -31,53 +31,53 @@
}
// =========== VENDOR PREFIX ===========
.flex-display() {
@mixin flex-display {
-webkit-display: flex;
-moz-display: flex;
-ms-display: flex;
-o-display: flex;
display: flex;
}
.flex-direction(@direction){
-webkit-flex-direction: @direction;
-moz-flex-direction: @direction;
-ms-flex-direction: @direction;
-o-flex-direction: @direction;
flex-direction: @direction;
@mixin flex-direction($direction) {
-webkit-flex-direction: $direction;
-moz-flex-direction: $direction;
-ms-flex-direction: $direction;
-o-flex-direction: $direction;
flex-direction: $direction;
};
.flex-grow(@grow) {
-webkit-box-flex: @grow;
-webkit-flex-grow: @grow;
-moz-box-flex: @grow;
-ms-flex-positive: @grow;
flex-grow: @grow;
@mixin flex-grow($grow) {
-webkit-box-flex: $grow;
-webkit-flex-grow: $grow;
-moz-box-flex: $grow;
-ms-flex-positive: $grow;
flex-grow: $grow;
}
.flex(@flex) {
-webkit-box-flex: @flex;
-webkit-flex: @flex;
-moz-box-flex: @flex;
-ms-flex: @flex;
flex: @flex;
@mixin flex($flex) {
-webkit-box-flex: $flex;
-webkit-flex: $flex;
-moz-box-flex: $flex;
-ms-flex: $flex;
flex: $flex;
}
.align-items(@align){
-webkit-box-align: @align;
-webkit-align-items: @align;
-moz-box-align: @align;
-ms-flex-align: @align;
-ms-grid-row-align: @align;
align-items: @align;
@mixin align-items($align) {
-webkit-box-align: $align;
-webkit-align-items: $align;
-moz-box-align: $align;
-ms-flex-align: $align;
-ms-grid-row-align: $align;
align-items: $align;
};
.justify-content(@justify){
-webkit-box-pack: @justify;
-webkit-justify-content: @justify;
-moz-box-pack: @justify;
-ms-flex-pack: @justify;
justify-content: @justify;
@mixin justify-content($justify) {
-webkit-box-pack: $justify;
-webkit-justify-content: $justify;
-moz-box-pack: $justify;
-ms-flex-pack: $justify;
justify-content: $justify;
}
.flex-wrap(@wrap){
-webkit-flex-wrap: @wrap;
-ms-flex-wrap: @wrap;
flex-wrap: @wrap;
@mixin flex-wrap($wrap) {
-webkit-flex-wrap: $wrap;
-ms-flex-wrap: $wrap;
flex-wrap: $wrap;
}
@@ -89,28 +89,28 @@ body {
font-smooth: always;
.pos-customer_facing_display {
background-color: @color_gray_lighter;
background-color: $color-gray-lighter;
font-size: 2vw;
font-family: Futura, HelveticaNeue, Helvetica, Arial, "Lucida Grande", sans-serif;
font-weight: 300;
width: 100%;
height: 100%;
.flex-display();
.flex-direction(row);
@include flex-display;
@include flex-direction(row);
.pos-customer_products, .pos-payment_info {
height: 100%;
padding: 2%;
.flex-display();
.flex-direction(column);
.flex-grow(1);
@include flex-display;
@include flex-direction(column);
@include flex-grow(1);
}
.pos_orderlines {
width: 100%;
height: 100%;
.flex-display();
.flex-direction(column);
@include flex-display;
@include flex-direction(column);
.pos_orderlines_list {
overflow-y: scroll;
@@ -124,10 +124,10 @@ body {
padding: 1%;
border-radius: 0.3vw;
height: auto;
.flex(0 1 auto);
.flex-display();
.flex-direction(row);
.align-items(center);
@include flex(0 1 auto);
@include flex-display;
@include flex-direction(row);
@include align-items(center);
&:last-of-type {
animation: item_in 1s ease;
@@ -155,11 +155,11 @@ body {
text-align: left;
margin-right: 4%;
font-size: 80%;
.flex-grow(1);
@include flex-grow(1);
&:first-child {
margin-right: 2%;
.flex(1 1 1%);
@include flex(1 1 1%);
}
&:nth-child(2) {
@@ -190,36 +190,36 @@ body {
.pos-payment_info {
max-width: 30%;
padding: 2% 2% 1% 2%;
.flex-direction(column);
.justify-content(space-between);
@include flex-direction(column);
@include justify-content(space-between);
.pos-adv, .pos-company_logo {
.pos-bg();
@include pos-bg;
}
.pos-company_logo {
background-image: url(/logo);
margin-bottom: 10%;
.flex(0 0 20%);
@include flex(0 0 20%);
}
.pos-adv {
margin-bottom: 5%;
border-bottom: 10px solid transparent;
box-shadow: 0 1px fade(@color_gray_lighter, 20%);
.flex(1 1 60%);
box-shadow: 0 1px rgba($color-gray-lighter, 0.2);
@include flex(1 1 60%);
}
.pos-payment_info_details{
.pos-total, .pos-paymentlines {
.flex-direction(row);
.flex-display();
.flex-wrap(wrap);
.justify-content(space-between);
.align-items(baseline);
@include flex-direction(row);
@include flex-display;
@include flex-wrap(wrap);
@include justify-content(space-between);
@include align-items(baseline);
> div {
.flex(1 0 48%);
@include flex(1 0 48%);
&:nth-child(even) {
font-weight: bold;
font-size: 120%;
@@ -241,7 +241,7 @@ body {
.pos-odoo_logo_container {
text-align: right;
margin-top: 10%;
.flex(0 1 auto);
@include flex(0 1 auto);
img {
max-width: 40px;
@@ -256,7 +256,7 @@ body {
.pos-customer_facing_display {
font-size: 2vh;
height: 100%;
.flex-direction(column);
@include flex-direction(column);
&:before {
content: "";
@@ -276,7 +276,7 @@ body {
width: 99vw;
margin:0.5vh;
border-width: 0;
.flex-display();
@include flex-display;
}
&.pos-js_no_ADV {
@@ -294,7 +294,7 @@ body {
overflow: hidden;
.pos_orderlines {
.flex(1 0 auto);
@include flex(1 0 auto);
.pos_orderlines_item {
> div:nth-child(2) {
@@ -309,7 +309,7 @@ body {
padding-right: 1.5vh;
height: auto;
.pos_orderlines_item {
box-shadow: 0 .1vh .1vh darken(@color_gray_lighter, 10%);
box-shadow: 0 .1vh .1vh darken($color-gray-lighter, 10%);
margin-bottom: 1vh;
> div {
font-size: 100%;
@@ -324,10 +324,10 @@ body {
overflow: hidden;
padding-top: 0;
min-height: 120px;
.flex(0 1 23vw);
.flex-direction(row);
.align-items(center);
.justify-content(space-between);
@include flex(0 1 23vw);
@include flex-direction(row);
@include align-items(center);
@include justify-content(space-between);
.pos-company_logo {
margin: 0;
@@ -335,12 +335,12 @@ body {
margin-right: 5%;
height: 100%;
padding: 0;
.flex(1 1 20%);
@include flex(1 1 20%);
}
.pos-payment_info_details {
.flex(0 1 50%);
.flex-direction(column);
@include flex(0 1 50%);
@include flex-direction(column);
min-width: 170px;
.pos-total {
@@ -387,7 +387,7 @@ body {
display: none!important;
}
.pos-payment_info_details {
.flex(1 0 100%);
@include flex(1 0 100%);
.pos-total {
font-size: 6vw;
@@ -417,10 +417,10 @@ body {
opacity: 0.1;
background: repeating-linear-gradient(
45deg,
@color_gray_lighter,
@color_gray_lighter 5px,
@color_gray_dark 5px,
@color_gray_dark 10px
$color-gray-lighter,
$color-gray-lighter 5px,
$color-gray-dark 5px,
$color-gray-dark 10px
)!important;
}
@@ -469,42 +469,42 @@ body {
// =========== PALETTE GENERATOR ===========
.palette_variant (
@bg-info: @color_gray_dark,
@text-info: @color_gray_lighter,
@bg-products: @color_gray_lighter,
@text-products: lighten(@color_gray_dark, 10%),
@card-bg: white,
@card-text: @color_gray_dark,
@card-shadow: darken(@bg-products, 30%)) {
$bg-info: $color-gray-dark,
$text-info: $color-gray-lighter,
$bg-products: $color-gray-lighter,
$text-products: lighten($color-gray-dark, 10%),
$card-bg: white,
$card-text: $color-gray-dark,
$card-shadow: darken($bg-products, 30%)) {
.pos-payment_info {
background: @bg-info;
color: @text-info;
background: $bg-info;
color: $text-info;
}
.pos-customer_products {
background: @bg-products;
color: @text-products;
background: $bg-products;
color: $text-products;
.pos_orderlines_list .pos_orderlines_item {
background-color: @card-bg;
color: @card-text;
box-shadow: 0 .1vh .1vh @card-shadow;
background-color: $card-bg;
color: $card-text;
box-shadow: 0 .1vh .1vh $card-shadow;
div:nth-child(2) {
border-color: fade(@card-text, 30%);
border-color: rgba($card-text, 0.3);
}
}
}
@media all and (orientation: portrait) {
&:before {
background: @bg-info;
background: $bg-info;
}
}
// Editor dropdown buttons
#oe_manipulators .oe_overlay > .oe_overlay_options .snippet-option-pos_palette > ul > li > & {
background: @bg-products!important;
background: $bg-products!important;
&:after {
content: "";
@@ -513,28 +513,28 @@ body {
right: 0;
bottom:0;
left: 50px;
background: @bg-info;
background: $bg-info;
}
&:before {
text-shadow: 0 0 1px (#fff - @bg-products);
text-shadow: 0 0 1px (#fff - $bg-products);
}
}
};
// =========== PALETTE ===========
.pos-palette_01 { .palette_variant(); }
.pos-palette_02 { .palette_variant( #364152, #e6e7e8, #ecf2f6, #364152, white, @color_gray_dark, #364152 ); }
.pos-palette_03 { .palette_variant( #1BA39C, @color_gray_lighter, #ececec ); }
.pos-palette_04 { .palette_variant( #0b7b6c, @color_gray_lighter, #efeeec); }
.pos-palette_05 { .palette_variant( #E26868, @color_gray_lighter, #ececec ); }
.pos-palette_06 { .palette_variant( #9E373B, @color_gray_lighter); }
.pos-palette_07 { .palette_variant( #ce9934, white, #ececec ); }
.pos-palette_08 { .palette_variant( #a48c77, @color_gray_lighter, #ececec ); }
.pos-palette_01 { @include palette-variant; }
.pos-palette_02 { @include palette-variant(#364152, #e6e7e8, #ecf2f6, #364152, white, $color-gray-dark, #364152 ); }
.pos-palette_03 { @include palette-variant(#1BA39C, $color-gray-lighter, #ececec ); }
.pos-palette_04 { @include palette-variant(#0b7b6c, $color-gray-lighter, #efeeec); }
.pos-palette_05 { @include palette-variant(#E26868, $color-gray-lighter, #ececec ); }
.pos-palette_06 { @include palette-variant(#9E373B, $color-gray-lighter); }
.pos-palette_07 { @include palette-variant(#ce9934, white, #ececec ); }
.pos-palette_08 { @include palette-variant(#a48c77, $color-gray-lighter, #ececec ); }
.pos-palette_09 { .palette_variant( linear-gradient(30deg, #014d43, #127e71), @color_gray_lighter, #ececec ); }
.pos-palette_10 { .palette_variant( linear-gradient(30deg, #e2316c, #ea4c89), white, #ececec ); }
.pos-palette_11 { .palette_variant( linear-gradient(30deg, #362b3d, #5b4a63), white, #ececec ); }
.pos-palette_09 { @include palette-variant(linear-gradient(30deg, #014d43, #127e71), $color-gray-lighter, #ececec ); }
.pos-palette_10 { @include palette-variant(linear-gradient(30deg, #e2316c, #ea4c89), white, #ececec ); }
.pos-palette_11 { @include palette-variant(linear-gradient(30deg, #362b3d, #5b4a63), white, #ececec ); }
.pos-palette_12 { .palette_variant( #434343, #e6e6e6, #5b5b5b, #bdb9b9, #f5f5f5); }
.pos-palette_13 { .palette_variant( linear-gradient(30deg, #1a1b1f, #3d3f45), white, #a2a2ab, @color_gray_lighter, @color_gray_lighter); }
.pos-palette_12 { @include palette-variant(#434343, #e6e6e6, #5b5b5b, #bdb9b9, #f5f5f5); }
.pos-palette_13 { @include palette-variant(linear-gradient(30deg, #1a1b1f, #3d3f45), white, #a2a2ab, $color-gray-lighter, $color-gray-lighter); }
+3 -3
View File
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets" name="point_of_sale assets">
<link rel="stylesheet" type="text/less" href="/web/static/src/less/fonts.less" />
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css" />
<link rel="stylesheet" type="text/scss" href="/web/static/src/scss/fonts.scss"/>
<link rel="stylesheet" href="/web/static/lib/fontawesome/css/font-awesome.css"/>
<link rel="stylesheet" href="/point_of_sale/static/src/css/pos.css" id="pos-stylesheet"/>
<link rel="stylesheet" href="/point_of_sale/static/src/css/keyboard.css" />
<link rel="stylesheet" href="/point_of_sale/static/src/css/keyboard.css"/>
<script type="text/javascript" src="/point_of_sale/static/lib/fastclick.js"></script>
<script type="text/javascript" src="/point_of_sale/static/lib/waitfont.js"></script>
@@ -118,7 +118,7 @@
</div>
</div>
</div>
</div><div class="container o_kanban_card_manage_pane">
</div><div class="container o_kanban_card_manage_pane dropdown-menu">
<div class="row">
<div class="col-xs-6 o_kanban_card_manage_section o_kanban_manage_view">
<div class="o_kanban_card_manage_title">
@@ -2,7 +2,7 @@
<odoo>
<template id="assets_backend" name="hr assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<link rel="stylesheet" href="/point_of_sale/static/src/less/pos_dashboard.less"/>
<link rel="stylesheet" type="text/scss" href="/point_of_sale/static/src/scss/pos_dashboard.scss"/>
<script type="text/javascript" src="/point_of_sale/static/src/js/tour.js"></script>
</xpath>
</template>
@@ -11,7 +11,7 @@
text-align: justify;
}
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
.text-left-not-xs, .text-center-not-xs, .text-right-not-xs, .text-justify-not-xs {
text-align: inherit;
}
@@ -28,7 +28,7 @@
text-align: justify;
}
}
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {
@media (min-width: $screen-sm-min) and (max-width: $screen-sm-max) {
.text-left-not-sm, .text-center-not-sm, .text-right-not-sm, .text-justify-not-sm {
text-align: inherit;
}
@@ -45,7 +45,7 @@
text-align: justify;
}
}
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) {
@media (min-width: $screen-md-min) and (max-width: $screen-md-max) {
.text-left-not-md, .text-center-not-md, .text-right-not-md, .text-justify-not-md {
text-align: inherit;
}
@@ -62,7 +62,7 @@
text-align: justify;
}
}
@media (min-width: @screen-lg-min) {
@media (min-width: $screen-lg-min) {
.text-left-not-lg, .text-center-not-lg, .text-right-not-lg, .text-justify-not-lg {
text-align: inherit;
}
@@ -3,10 +3,10 @@
/// rules.
///
// Resize and vertically align navbar’s items relative to @navbar-height
.o-w-fill-navbar(@ratio: 0.8) {
height: round(@navbar-height * @ratio);
margin-top: round(@navbar-height * (1 - @ratio) / 2);
// Resize and vertically align navbar’s items relative to $navbar-height
@mixin o-w-fill-navbar($ratio: 0.8) {
height: round($navbar-height * $ratio);
margin-top: round($navbar-height * (1 - $ratio) / 2);
}
// Frontend general
@@ -30,7 +30,7 @@ header {
padding: 0 15px;
img {
.o-w-fill-navbar();
@include o-w-fill-navbar;
}
}
}
@@ -38,9 +38,9 @@ header {
margin-bottom: 0;
ul.nav > li {
&.divider {
.o-w-fill-navbar();
border-right: 1px solid @navbar-default-link-disabled-color;
@media (max-width: @screen-xs-max) {
@include o-w-fill-navbar;
border-right: 1px solid $navbar-default-link-disabled-color;
@media (max-width: $screen-xs-max) {
display: none;
}
}
@@ -50,7 +50,7 @@ header {
}
}
.nav.navbar-nav.pull-right {
@media (max-width: @screen-xs-max) {
@media (max-width: $screen-xs-max) {
float: none!important;
}
}
@@ -146,15 +146,15 @@ hr {
// Images spacing
img, .media_iframe_video, .o_image {
&.pull-right {
margin-left: @grid-gutter-width / 2;
margin-left: $grid-gutter-width / 2;
}
&.pull-left {
margin-right: @grid-gutter-width / 2;
margin-right: $grid-gutter-width / 2;
}
}
img {
// Make all images responsive by default but with inline-block display
.img-responsive(inline-block);
@include img-responsive(inline-block);
}
// Others
@@ -170,7 +170,7 @@ img {
width: 100%;
}
div {
.o-position-absolute(@left: 0, @bottom: 0);
@include o-position-absolute($left: 0, $bottom: 0);
background-color: rgba(0, 0, 0, 0.4);
opacity: 0.85;
width: 100%;
@@ -328,7 +328,7 @@ img {
.o_portal_chatter_message_title {
p {
font-size:85%;
color:@odoo-main-color-muted;
color:$o-main-color-muted;
margin: 0px;
}
}
+2 -2
View File
@@ -2,8 +2,8 @@
<odoo>
<template id="assets_frontend" inherit_id="web.assets_frontend" name="Portal Assets">
<xpath expr="//link[last()]" position="after">
<link rel="stylesheet" type="text/less" href="/portal/static/src/less/bootstrap.extend.less"/>
<link rel="stylesheet" type="text/less" href="/portal/static/src/less/portal.less"/>
<link rel="stylesheet" type="text/scss" href="/portal/static/src/scss/bootstrap.extend.scss"/>
<link rel="stylesheet" type="text/scss" href="/portal/static/src/scss/portal.scss"/>
</xpath>
<xpath expr="//script[last()]" position="after">
<script type="text/javascript" src="/portal/static/src/js/portal.js"></script>
@@ -10,7 +10,7 @@
<button name="%(pos_mercury.action_configuration_form)d" icon="fa-arrow-right" type="action" string="Vantiv Accounts" class="btn-link"/>
</div>
<div>
<a class="oe_link" href="https://www.odoo.com/page/point-of-sale-hardware#part_8" target="_blank"><i class="fa fa-fw fa-arrow-right"/>Buy a card reader</a>
<a href="https://www.odoo.com/page/point-of-sale-hardware#part_8" target="_blank"><i class="fa fa-fw fa-arrow-right"/>Buy a card reader</a>
</div>
</div>
</field>
@@ -5,7 +5,7 @@
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/pos_mercury/static/src/js/pos_mercury.js"></script>
<link rel="stylesheet" href="/pos_mercury/static/src/css/pos_mercury.css" />
<link rel="stylesheet" href="/pos_mercury/static/src/css/pos_mercury.css"/>
</xpath>
</template>
@@ -11,7 +11,7 @@
<script type="text/javascript" src="/pos_restaurant/static/src/js/notes.js"></script>
</xpath>
<xpath expr="//link[@id='pos-stylesheet']" position="after">
<link rel="stylesheet" href="/pos_restaurant/static/src/css/restaurant.css" />
<link rel="stylesheet" href="/pos_restaurant/static/src/css/restaurant.css"/>
</xpath>
</template>
@@ -1,7 +1,7 @@
.o_kanban_view.o_kanban_dashboard.o_project_kanban {
.o_project_kanban_boxes {
.o-flex-display();
.o-flex-flow(row, nowrap);
@include o-flex-display;
@include o-flex-flow(row, nowrap);
.o_project_kanban_box {
position: relative;
@@ -32,7 +32,7 @@
font-size: small;
font-weight: 400;
margin-left: 4px;
.o-hover-opacity(0.5, 1);
@include o-hover-opacity(0.5, 1);
&:before {
content: "/ ";
@@ -66,10 +66,10 @@
outline: 2px solid transparent;
box-shadow: 0px 0px 1px 1px #ccc;
&.o_selected {
outline-color: @odoo-brand-optional;
outline-color: $o-brand-optional;
}
> img {
.o-position-absolute(@top: 0; @left: 0; @right: 0; @bottom: 0);
@include o-position-absolute($top: 0, $left: 0, $right: 0, $bottom: 0);
margin: auto;
max-height: 100%;
max-width: 100%;

Some files were not shown because too many files have changed in this diff Show More