summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorChristophe Simonis <chs@openerp.com>2012-08-09 17:29:39 +0200
committerChristophe Simonis <chs@openerp.com>2012-08-09 17:29:39 +0200
commitee01a39a76b0fb37d73bf23e49c74f01a20ac4cc (patch)
treec6b72418ab20c6742a78860ba249e48a4e9e80a4 /addons/web/static/src
parentfb86ddb644bf717f457b3f647f91b186caa64046 (diff)
parent33c2df88262beefe9b2f855ad279b3426a5e5441 (diff)
merge upstream
bzr revid: chs@openerp.com-20120809152939-3dummyonbx1qdsbo
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/css/base.css272
-rw-r--r--addons/web/static/src/css/base.sass257
-rw-r--r--addons/web/static/src/js/chrome.js110
-rw-r--r--addons/web/static/src/js/view_form.js49
-rw-r--r--addons/web/static/src/js/view_list_editable.js3
-rw-r--r--addons/web/static/src/xml/base.xml81
6 files changed, 522 insertions, 250 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index d24657de195..eab9c61acd2 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -1,4 +1,4 @@
-@charset "utf-8";
+@charset "UTF-8";
@font-face {
font-family: "mnmliconsRegular";
src: url("/web/static/src/font/mnmliconsv21-webfont.eot") format("eot");
@@ -156,7 +156,7 @@
.openerp h4 {
margin: 4px 0;
}
-.openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'] {
+.openerp a.button:link, .openerp a.button:visited, .openerp button, .openerp input[type='submit'], .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
display: inline-block;
border: 1px solid #ababab;
color: #404040;
@@ -181,7 +181,7 @@
-webkit-font-smoothing: antialiased;
outline: none;
}
-.openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover {
+.openerp a.button:hover, .openerp button:hover, .openerp input[type='submit']:hover, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
background-color: #f6f6f6;
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
@@ -190,9 +190,11 @@
background-image: -o-linear-gradient(top, #f6f6f6, #e3e3e3);
background-image: linear-gradient(to bottom, #f6f6f6, #e3e3e3);
cursor: pointer;
+ background-position: 0;
}
-.openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus {
+.openerp a.button:focus, .openerp button:focus, .openerp input[type='submit']:focus, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus {
border: 1px solid #80bfff;
+ background-position: 0;
background-color: #f6f6f6;
background-image: -webkit-gradient(linear, left top, left bottom, from(#f6f6f6), to(#e3e3e3));
background-image: -webkit-linear-gradient(top, #f6f6f6, #e3e3e3);
@@ -204,7 +206,7 @@
-webkit-box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
box-shadow: 0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, 0.8) inset;
}
-.openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active {
+.openerp a.button:active, .openerp a.button.active, .openerp button:active, .openerp button.active, .openerp input[type='submit']:active, .openerp input[type='submit'].active, .openerp .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active {
background-color: #e3e3e3;
background-image: -webkit-gradient(linear, left top, left bottom, from(#e3e3e3), to(#f6f6f6));
background-image: -webkit-linear-gradient(top, #e3e3e3, #f6f6f6);
@@ -230,6 +232,9 @@
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
font-size: 13px;
}
+.openerp .ui-widget-content a {
+ color: #8a89ba;
+}
.openerp .ui-menu .ui-menu-item {
margin: 0 8px 0 0;
padding: 0 0 0 12px;
@@ -238,11 +243,6 @@
.openerp .ui-menu .ui-menu-item a.ui-state-active {
background: #f0f0fa;
}
-.openerp div.ui-widget-overlay {
- background: black;
- filter: alpha(opacity=30);
- opacity: 0.3;
-}
.openerp.ui-dialog {
display: none;
padding: 6px;
@@ -302,6 +302,9 @@
.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: left;
}
+.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
+ margin-right: 4px;
+}
.openerp.ui-dialog .ui-dialog-titlebar-close {
padding: 0;
}
@@ -337,6 +340,9 @@
.openerp.ui-dialog .oe_about a:hover {
text-decoration: underline;
}
+.openerp.ui-dialog .oe_about a:focus {
+ outline: none;
+}
.openerp.ui-dialog .oe_about .oe_logo {
margin-left: -6px;
}
@@ -492,9 +498,6 @@
.openerp .oe_button_box button {
margin: 4px;
}
-.openerp .oe_avatar {
- margin: 0 6px 15px 0;
-}
.openerp .oe_avatar > img {
height: 90px;
max-width: 100px;
@@ -562,22 +565,20 @@
.openerp .oe_webclient .oe_star_on {
color: gold;
}
-.openerp .oe_bounce {
- -moz-animation: bounce 0.4s linear;
- -webkit-animation: bounce 0.4s linear;
-}
.openerp .oe_tag {
- border-radius: 2px;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- -ms-box-sizing: border-box;
- box-sizing: border-box;
- border: 1px solid #9daccc;
- background: #e2e6f0;
- color: black !important;
- padding: 0px 3px 0px 3px;
+ border: 1px solid #afafb6;
+ font-size: 11px;
+ padding: 2px 4px;
margin: 0 2px 2px 0;
- height: 16px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ background: #f0f0fa;
+ color: #4c4c4c;
+}
+.openerp .oe_tag_dark {
+ background: #8786b7;
+ color: #eeeeee;
}
.openerp .oe_tags .text-wrap {
width: 100% !important;
@@ -1212,16 +1213,9 @@
}
.openerp .oe_secondary_submenu .oe_menu_counter {
float: right;
- background: #8a89ba;
- color: #eeeeee;
- font-size: 10px;
- border: 1px solid lightgray;
- padding: 2px 4px;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
margin: 0px;
- -moz-border-radius: 4px;
- -webkit-border-radius: 4px;
- border-radius: 4px;
+ padding: 1px 4px;
}
.openerp .oe_secondary_submenu .oe_active {
background: #8a89ba;
@@ -1564,25 +1558,27 @@
display: inline-block;
line-height: 17px;
}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
height: 18px;
margin: 1px 0;
font-size: 11px;
}
-.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus, .openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
outline: none;
}
.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input {
padding: 0 0 0 6px;
+ font-size: 12px;
+ height: 16px;
+ margin-top: 3px;
+}
+.openerp .oe_searchview .oe_searchview_facets .oe_searchview_input:focus {
+ outline: none;
}
.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet {
position: relative;
cursor: pointer;
- border: 1px solid #afafb6;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- background: #8786b7;
+ padding: 0;
-webkit-font-smoothing: auto;
}
.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet:focus {
@@ -1611,6 +1607,7 @@
.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value {
border-left: 1px solid #afafb6;
text-shadow: 0 1px 1px white;
+ color: #4c4c4c;
}
.openerp .oe_searchview .oe_searchview_facets .oe_searchview_facet .oe_facet_value:last-child {
padding-right: 16px;
@@ -1623,6 +1620,7 @@
line-height: 8px;
width: 12px;
height: 12px;
+ padding-top: 1px;
text-align: center;
font-weight: bold;
cursor: pointer;
@@ -1922,7 +1920,7 @@
width: auto;
}
.openerp .oe_form_nosheet {
- margin: 20px;
+ margin: 8px;
}
.openerp .oe_form_nosheet > header {
margin-top: -20px;
@@ -1998,6 +1996,105 @@
font-weight: bold;
color: #b33630;
}
+.openerp ul.oe_form_steps_clickable {
+ height: 30px;
+ margin: 0;
+ padding: 0;
+ text-shadow: 0 1px 1px #cacaca;
+ box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
+ overflow: hidden;
+}
+.openerp ul.oe_form_steps_clickable li {
+ border-right: none;
+ padding: 0 0 0 12px;
+ position: relative;
+ float: left;
+ vertical-align: top;
+ height: 30px;
+ color: white;
+}
+.openerp ul.oe_form_steps_clickable li:after {
+ content: " ";
+ width: 0;
+ height: 0;
+ border-top: 21px solid transparent;
+ border-bottom: 21px solid transparent;
+ border-left: 5px solid #807fb4;
+ position: absolute;
+ top: 50%;
+ margin-top: -21px;
+ left: 100%;
+ z-index: 2;
+}
+.openerp ul.oe_form_steps_clickable li:hover:after {
+ border-left: 5px solid #807fb4;
+}
+.openerp ul.oe_form_steps_clickable li:before {
+ content: " ";
+ width: 0;
+ height: 0;
+ border-top: 21px solid transparent;
+ border-bottom: 21px solid transparent;
+ border-left: 5px solid white;
+ position: absolute;
+ top: 50%;
+ margin-top: -21px;
+ margin-left: 2px;
+ left: 100%;
+ z-index: 2;
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_active {
+ font-weight: bold;
+ text-shadow: 0 1px 1px #999999;
+ box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.25);
+ background-color: #dc5f59;
+ background: -webkit-linear-gradient(top, #dc5f59, #b33630);
+ color: white;
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive {
+ cursor: pointer;
+ box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.25), inset 0 1px 1px rgba(255, 255, 255, 0.25);
+ background-color: #adadcf;
+ background: -webkit-linear-gradient(top, #adadcf, #7c7ba7);
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive div {
+ padding: 0 30px 0 0;
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_inactive:hover {
+ background: -webkit-linear-gradient(top, #7c7ba7, #adadcf);
+}
+.openerp ul.oe_form_steps_clickable li div {
+ padding: 0 30px 0 0;
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_active:after {
+ content: " ";
+ display: block;
+ width: 0;
+ height: 0;
+ border-top: 21px solid transparent;
+ border-bottom: 21px solid transparent;
+ border-left: 5px solid #b33630;
+ position: absolute;
+ top: 50%;
+ margin-top: -21px;
+ left: 100%;
+ z-index: 2;
+}
+.openerp ul.oe_form_steps_clickable li.oe_form_steps_active:before {
+ content: " ";
+ display: block;
+ width: 0;
+ height: 0;
+ border-top: 21px solid transparent;
+ border-bottom: 21px solid transparent;
+ border-left: 5px solid white;
+ position: absolute;
+ top: 50%;
+ margin-top: -21px;
+ margin-left: 2px;
+ left: 100%;
+ z-index: 2;
+}
.openerp .oe_form .oe_subtotal_footer {
width: 1% !important;
}
@@ -2250,20 +2347,14 @@
.openerp .oe_form_editable .oe_form .oe_form_field_datetime {
width: 11.5em !important;
}
-.openerp .oe_hidden_input_file {
- overflow: hidden;
- position: relative;
- display: inline-block;
- width: 45px;
- height: 30px;
-}
.openerp .oe_hidden_input_file input.oe_form_binary_file {
z-index: 0;
line-height: 0;
font-size: 12px;
position: absolute;
top: 1px;
- right: 10px;
+ left: 0;
+ right: 0;
opacity: 0;
filter: alpha(opacity=0);
-ms-filter: "alpha(opacity=0)";
@@ -2279,15 +2370,16 @@
}
.openerp .oe_form .oe_form_field_image .oe_form_field_image_controls {
position: absolute;
- white-space: nowrap;
top: 1px;
- padding: 3px 0 0 0;
- margin: 0 1px;
+ padding: 4px;
+ width: 100%;
display: none;
- width: 99%;
text-align: center;
- background: url(/web/static/src/img/form_sheetbg.png);
- border-bottom: 1px dotted black;
+ color: #eeeeee;
+ background: rgba(37, 37, 37, 0.9);
+ -moz-border-radius: 3px 3px 0 0;
+ -webkit-border-radius: 3px 3px 0 0;
+ border-radius: 3px 3px 0 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
@@ -2306,10 +2398,18 @@
}
.openerp .oe_form_field_many2one .oe_m2o_cm_button {
line-height: 14px;
+ float: right;
+ padding-left: 2px;
}
.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
display: none;
}
+.openerp .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page, .openerp .oe_form_field_many2many > .oe_view_manager .oe_list_pager_single_page {
+ display: none !important;
+}
+.openerp .oe_form_field_one2many .oe_form_field_one2many_list_row_add, .openerp .oe_form_field_many2many .oe_form_field_one2many_list_row_add {
+ font-weight: bold;
+}
.openerp .oe_form_field_one2many .oe_list_content > thead, .openerp .oe_form_field_many2many .oe_list_content > thead {
border-bottom: 1px;
}
@@ -2343,6 +2443,49 @@
.openerp .oe_form_field_one2many .oe_list_buttons.oe_editing .oe_list_save, .openerp .oe_form_field_many2many .oe_list_buttons.oe_editing .oe_list_save {
visibility: hidden;
}
+.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_required {
+ background-color: #d2d2ff;
+}
+.openerp .oe_form_editable .oe_list_editable .oe_list_content td.oe_readonly {
+ background-color: #eeeeee;
+}
+.openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
+ padding: 4px 6px 3px 6px;
+}
+.openerp .oe_list.oe_list_editable td.oe_list_record_delete {
+ position: absolute;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
+ top: 5px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_cm_button {
+ display: none;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input {
+ height: 27px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ border: 1px solid #aaaaff;
+ border-radius: 0px;
+ margin: 0px;
+ -webkit-border-radius: 0px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
+ height: 60px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
+ text-align: right;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime > span, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date > span {
+ width: 100%;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
+ width: 100% !important;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_field_float, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field .oe_form_view_integer, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date {
+ min-width: 0 !important;
+ max-width: none !important;
+}
.openerp .oe_form .oe_form_field_many2many > .oe_list .oe_list_pager_single_page {
display: none;
}
@@ -2461,15 +2604,6 @@
background: #eeeeee;
font-weight: bold;
}
-.openerp .oe_list_content > tbody tr:hover td, .openerp .oe_list_content tbody tr:hover th {
- background-color: #eeeeee;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eeeeee), to(#dedede));
- background-image: -webkit-linear-gradient(top, #eeeeee, #dedede);
- background-image: -moz-linear-gradient(top, #eeeeee, #dedede);
- background-image: -ms-linear-gradient(top, #eeeeee, #dedede);
- background-image: -o-linear-gradient(top, #eeeeee, #dedede);
- background-image: linear-gradient(to bottom, #eeeeee, #dedede);
-}
.openerp .oe_list_content .numeric {
text-align: right;
width: 82px;
@@ -2600,3 +2734,9 @@
.kitten-mode-activated > * {
opacity: 0.7;
}
+
+div.ui-widget-overlay {
+ background: black;
+ filter: alpha(opacity=30);
+ opacity: 0.3;
+}
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 4963369ecbb..e0e8a3534dc 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -2,10 +2,12 @@
// Variables {{{
$section-title-color: #8786b7
-$facets-border: #afafb6
-$facets-border-selected: #a6a6fe
+$tag-bg-light: #f0f0fa
+$tag-bg-dark: #8786b7
+$tag-border: #afafb6
+$tag-border-selected: #a6a6fe
$hover-background: #f0f0fa
-$colour4: #8a89ba
+$link-color: #8a89ba
$sheet-max-width: 860px
// }}}
// Mixins {{{
@@ -190,7 +192,7 @@ $sheet-max-width: 860px
margin: 4px 0
// }}}
// Button style {{{
- a.button:link, a.button:visited, button, input[type='submit']
+ a.button:link, a.button:visited, button, input[type='submit'], .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button
display: inline-block
border: 1px solid #ababab
color: #404040
@@ -205,16 +207,18 @@ $sheet-max-width: 860px
-webkit-font-smoothing: antialiased
outline: none
- a.button:hover, button:hover, input[type='submit']:hover
+ a.button:hover, button:hover, input[type='submit']:hover, .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover
@include vertical-gradient(#f6f6f6, #e3e3e3)
cursor: pointer
+ background-position: 0
- a.button:focus, button:focus, input[type='submit']:focus
+ a.button:focus, button:focus, input[type='submit']:focus, .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-focus
border: 1px solid #80bfff
+ background-position: 0
@include vertical-gradient(#f6f6f6, #e3e3e3)
@include box-shadow((0 0 3px #80bfff, 0 1px 1px rgba(255, 255, 255, .8) inset))
- a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active
+ a.button:active, a.button.active, button:active, button.active, input[type='submit']:active, input[type='submit'].active, .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-active
@include vertical-gradient(#e3e3e3, #f6f6f6)
@include box-shadow(none)
@@ -230,6 +234,8 @@ $sheet-max-width: 860px
.ui-widget
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
font-size: 13px
+ .ui-widget-content a
+ color: $link-color
.ui-menu
.ui-menu-item
margin: 0 8px 0 0
@@ -237,9 +243,7 @@ $sheet-max-width: 860px
width: auto
a.ui-state-active
background: #f0f0fa
- div.ui-widget-overlay
- background: black
- @include opacity(0.3)
+
// Modal box
&.ui-dialog
display: none
@@ -276,6 +280,8 @@ $sheet-max-width: 860px
margin: 0
.ui-dialog-buttonset
float: left
+ .ui-button
+ margin-right: 4px
.ui-dialog-titlebar-close
padding: 0
.ui-icon-closethick
@@ -299,9 +305,11 @@ $sheet-max-width: 860px
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQIHWO8e/fufwYsgAUkJigoiCIF5DMyoYggcUiXgNnBiGQKmAkARpcEQeriln4AAAAASUVORK5CYII=)
@include radius(0 0 2px 2px)
a
- color: #8A89BA
+ color: $link-color
&:hover
text-decoration: underline
+ &:focus
+ outline: none
.oe_logo
margin-left: -6px
.oe_bottom
@@ -399,7 +407,6 @@ $sheet-max-width: 860px
button
margin: 4px
.oe_avatar
- margin: 0 6px 15px 0
> img
height: 90px
max-width: 100px
@@ -420,7 +427,7 @@ $sheet-max-width: 860px
display: none
span
@include reset()
- color: #8A89BA
+ color: $link-color
font-weight: bold
&:hover
text-decoration: underline
@@ -438,15 +445,17 @@ $sheet-max-width: 860px
// }}}
// Tags (for many2many tags, among others) {{{
.oe_tag
- border-radius: 2px
- @include box-sizing(border)
- border: 1px solid #9DACCC
- background: #E2E6F0
- color: black !important
- padding: 0px 3px 0px 3px
+ border: 1px solid $tag-border
+ font-size: 11px
+ padding: 2px 4px
margin: 0 2px 2px 0
- height: 16px
- // font: 11px "lucida grande", tahoma, verdana, arial, sans-serif
+ @include radius(3px)
+ background: $tag-bg-light
+ color: #4C4C4C
+ .oe_tag_dark
+ background: $tag-bg-dark
+ color: #eee
+
.oe_tags
.text-wrap
width: 100% !important
@@ -899,7 +908,7 @@ $sheet-max-width: 860px
.oe_secondary_menu_section
font-weight: bold
margin-left: 8px
- color: $colour4
+ color: $link-color
.oe_secondary_submenu
padding: 2px 0 8px 0
margin: 0
@@ -917,7 +926,7 @@ $sheet-max-width: 860px
top: 1px
right: 1px
font-size: 10px
- background: $colour4
+ background: $link-color
color: white
padding: 2px 4px
margin: 1px 6px 0 0
@@ -927,16 +936,11 @@ $sheet-max-width: 860px
@include box-shadow(inset 0 1px 1px rgba(0, 0, 0, 0.2))
.oe_menu_counter
float: right
- background: #8a89ba
- color: #eee
- font-size: 10px
- border: 1px solid lightgray
- padding: 2px 4px
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
margin: 0px
- @include radius(4px)
+ padding: 1px 4px
.oe_active
- background: $colour4
+ background: $link-color
border-top: 1px solid lightGray
border-bottom: 1px solid lightGray
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
@@ -945,12 +949,12 @@ $sheet-max-width: 860px
color: white
.oe_menu_label
background: #eee
- color: $colour4
+ color: $link-color
text-shadow: 0 1px 1px white
@include box-shadow(0 1px 1px rgba(0, 0, 0, 0.2))
.oe_menu_counter
background: #eee
- color: #8a89ba
+ color: $link-color
.oe_menu_toggler:before
width: 0
height: 0
@@ -977,7 +981,7 @@ $sheet-max-width: 860px
.oe_application
width: 100%
a
- color: $colour4
+ color: $link-color
&:hover
text-decoration: underline
> div
@@ -1011,7 +1015,7 @@ $sheet-max-width: 860px
margin: 0
float: left
a
- color: $colour4
+ color: $link-color
.oe_button_group
display: inline-block
border: 1px solid #ababab
@@ -1148,8 +1152,8 @@ $sheet-max-width: 860px
font-size: 12px
line-height: 18px
&.oe_focused
- border-color: $facets-border-selected
- @include box-shadow(0 1px 2px $facets-border-selected inset)
+ border-color: $tag-border-selected
+ @include box-shadow(0 1px 2px $tag-border-selected inset)
.oe_searchview_clear
cursor: pointer
position: absolute
@@ -1200,7 +1204,7 @@ $sheet-max-width: 860px
vertical-align: top
display: inline-block
line-height: 17px
- .oe_searchview_input, .oe_searchview_facet
+ .oe_searchview_facet
height: 18px
margin: 1px 0
font-size: 11px
@@ -1208,17 +1212,20 @@ $sheet-max-width: 860px
outline: none
.oe_searchview_input
padding: 0 0 0 6px
+ font-size: 12px
+ height: 16px
+ margin-top: 3px
+ &:focus
+ outline: none
.oe_searchview_facet
position: relative
cursor: pointer
- border: 1px solid $facets-border
- @include radius(3px)
- background: #8786b7
+ padding: 0
-webkit-font-smoothing: auto
// spacing for opera, FF
&:focus
- border-color: $facets-border-selected
- @include box-shadow(0 0 3px 1px $facets-border-selected)
+ border-color: $tag-border-selected
+ @include box-shadow(0 0 3px 1px $tag-border-selected)
.oe_facet_values
background: #f0f0fa
@include radius(0 3px 3px 0)
@@ -1231,8 +1238,9 @@ $sheet-max-width: 860px
.oe_facet_category.oe_i
font-size: 16px
.oe_facet_value
- border-left: 1px solid $facets-border
+ border-left: 1px solid $tag-border
text-shadow: 0 1px 1px white
+ color: #4C4C4C
&:last-child
padding-right: 16px
.oe_facet_remove
@@ -1243,6 +1251,7 @@ $sheet-max-width: 860px
line-height: 8px
width: 12px
height: 12px
+ padding-top: 1px
text-align: center
font-weight: bold
cursor: pointer
@@ -1473,7 +1482,7 @@ $sheet-max-width: 860px
.oe_form .oe_form_field_date
width: auto
.oe_form_nosheet
- margin: 20px
+ margin: 8px
.oe_form_nosheet > header
margin-top: -20px
margin-left: -20px
@@ -1531,6 +1540,93 @@ $sheet-max-width: 860px
.oe_form_steps_active
font-weight: bold
color: #b33630
+ ul.oe_form_steps_clickable
+ height: 30px
+ margin: 0
+ padding: 0
+ text-shadow: 0 1px 1px #cacaca
+ box-shadow: 0 0 1px rgba(0,0,0,0.5)
+ overflow: hidden
+ li
+ border-right: none
+ padding: 0 0 0 12px
+ position: relative
+ float: left
+ vertical-align: top
+ height: 30px
+ color: white
+ &:after
+ content: " "
+ width: 0
+ height: 0
+ border-top: 21px solid transparent
+ border-bottom: 21px solid transparent
+ border-left: 5px solid #807fb4
+ position: absolute
+ top: 50%
+ margin-top: -21px
+ left: 100%
+ z-index: 2
+ &:hover:after
+ border-left: 5px solid #807fb4
+ &:before
+ content: " "
+ width: 0
+ height: 0
+ border-top: 21px solid transparent
+ border-bottom: 21px solid transparent
+ border-left: 5px solid white
+ position: absolute
+ top: 50%
+ margin-top: -21px
+ margin-left: 2px
+ left: 100%
+ z-index: 2
+ &.oe_form_steps_active
+ font-weight: bold
+ text-shadow: 0 1px 1px #999999
+ box-shadow: inset 0 -1px 1px rgba(0,0,0,0.25), inset 0 1px 1px rgba(255,255,255,0.25)
+ background-color: #dc5f59
+ background: -webkit-linear-gradient(top, #dc5f59, #b33630)
+ color: white
+ &.oe_form_steps_inactive
+ cursor: pointer
+ box-shadow: inset 0 -1px 1px rgba(0,0,0,0.25), inset 0 1px 1px rgba(255,255,255,0.25)
+ background-color: #adadcf
+ background: -webkit-linear-gradient(top, #adadcf, #7c7ba7)
+ div
+ padding: 0 30px 0 0
+ &.oe_form_steps_inactive:hover
+ background: -webkit-linear-gradient(top, #7c7ba7, #adadcf)
+ div
+ padding: 0 30px 0 0
+ &.oe_form_steps_active:after
+ content: " "
+ display: block
+ width: 0
+ height: 0
+ border-top: 21px solid transparent
+ border-bottom: 21px solid transparent
+ border-left: 5px solid #b33630
+ position: absolute
+ top: 50%
+ margin-top: -21px
+ left: 100%
+ z-index: 2
+ &.oe_form_steps_active:before
+ content: " "
+ display: block
+ width: 0
+ height: 0
+ border-top: 21px solid transparent
+ border-bottom: 21px solid transparent
+ border-left: 5px solid white
+ position: absolute
+ top: 50%
+ margin-top: -21px
+ margin-left: 2px
+ left: 100%
+ z-index: 2
.oe_form .oe_subtotal_footer
width: 1% !important
td.oe_form_group_cell
@@ -1738,19 +1834,14 @@ $sheet-max-width: 860px
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
*/
.oe_hidden_input_file
- overflow: hidden
- position: relative
- display: inline-block
- width: 45px
- height: 30px
input.oe_form_binary_file
z-index: 0
line-height: 0
font-size: 12px
position: absolute
- // Should be adjusted for all browsers
top: 1px
- right: 10px
+ left: 0
+ right: 0
opacity: 0
filter: alpha(opacity = 0)
-ms-filter: "alpha(opacity=0)"
@@ -1765,15 +1856,14 @@ $sheet-max-width: 860px
vertical-align: top
.oe_form_field_image_controls
position: absolute
- white-space: nowrap
top: 1px
- padding: 3px 0 0 0
- margin: 0 1px
+ padding: 4px
+ width: 100%
display: none
- width: 99%
text-align: center
- background: url(/web/static/src/img/form_sheetbg.png)
- border-bottom: 1px dotted black
+ color: #eee
+ background: rgba(37,37,37,0.9)
+ @include radius(3px 3px 0 0)
@include box-sizing(border)
&:hover .oe_form_field_image_controls
display: block
@@ -1788,6 +1878,8 @@ $sheet-max-width: 860px
right: 0px
.oe_m2o_cm_button
line-height: 14px
+ float: right
+ padding-left: 2px
// }}}
// FormView.one2many {{{
.oe_form .oe_form_field_one2many > .oe_view_manager
@@ -1795,6 +1887,11 @@ $sheet-max-width: 860px
display: none
.oe_form_field_one2many,.oe_form_field_many2many
// TODO: oe_form_field_one2many_list?
+ > .oe_view_manager
+ .oe_list_pager_single_page
+ display: none !important
+ .oe_form_field_one2many_list_row_add
+ font-weight: bold
.oe_list_content
> thead
border-bottom: 1px
@@ -1824,6 +1921,46 @@ $sheet-max-width: 860px
.oe_list_buttons.oe_editing .oe_list_save
// keep "save row" button hidden in o2m
visibility: hidden
+ .oe_form_editable
+ .oe_list_editable
+ .oe_list_content
+ td.oe_required
+ background-color: #d2d2ff
+ td.oe_readonly
+ background-color: #eee
+ .oe_list_editable
+ .oe_list_content
+ td.oe_list_field_cell
+ padding: 4px 6px 3px 6px
+ .oe_list.oe_list_editable
+ td.oe_list_record_delete
+ position: absolute
+ .oe_list.oe_list_editable.oe_editing
+ .oe_m2o_drop_down_button
+ top: 5px
+ .oe_m2o_cm_button
+ display: none
+ .oe_form_field
+ input
+ height: 27px
+ input, textarea
+ border: 1px solid #aaf
+ border-radius: 0px
+ margin: 0px
+ -webkit-border-radius: 0px
+ textarea
+ height: 60px
+ &.oe_form_field_float,&.oe_form_view_integer
+ input
+ text-align: right
+ &.oe_form_field_datetime,&.oe_form_field_date
+ > span
+ width: 100%
+ input.oe_datepicker_master
+ width: 100% !important
+ .oe_form_field_float,.oe_form_view_integer,&.oe_form_field_datetime,&.oe_form_field_date
+ min-width: 0 !important
+ max-width: none !important
// }}}
// FormView.many2many {{{
.oe_form .oe_form_field_many2many > .oe_list
@@ -1918,8 +2055,6 @@ $sheet-max-width: 860px
background: #eee
font-weight: bold
- > tbody tr:hover td, tbody tr:hover th
- @include vertical-gradient(#eee, #dedede)
.numeric
text-align: right
@@ -2028,6 +2163,10 @@ $sheet-max-width: 860px
// }}}
+// The jQuery-ui overlay is outside the .openerp div, please don't add indentation !!!
+div.ui-widget-overlay
+ background: black
+ @include opacity(0.3)
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js
index dbff734da98..05f9fb5b1b6 100644
--- a/addons/web/static/src/js/chrome.js
+++ b/addons/web/static/src/js/chrome.js
@@ -661,6 +661,37 @@ instance.web.Home = instance.web.Widget.extend({
});
instance.web.client_actions.add("home", "instance.web.Home");
+instance.web.ChangePassword = instance.web.Widget.extend({
+ template: "ChangePassword",
+ start: function() {
+ var self = this;
+ self.$element.find("form[name=change_password_form]").validate({
+ submitHandler: function (form) {
+ self.rpc("/web/session/change_password",{
+ 'fields': $(form).serializeArray()
+ }, function(result) {
+ if (result.error) {
+ self.display_error(result);
+ return;
+ } else {
+ instance.webclient.on_logout();
+ }
+ });
+ }
+ });
+ },
+ display_error: function (error) {
+ return instance.web.dialog($('<div>'), {
+ modal: true,
+ title: error.title,
+ buttons: [
+ {text: _("Ok"), click: function() { $(this).dialog("close"); }}
+ ]
+ }).html(error.error);
+ },
+})
+instance.web.client_actions.add("change_password", "instance.web.ChangePassword");
+
instance.web.Menu = instance.web.Widget.extend({
template: 'Menu',
init: function() {
@@ -828,37 +859,6 @@ instance.web.UserMenu = instance.web.Widget.extend({
}
});
},
- change_password :function() {
- var self = this;
- this.dialog = new instance.web.Dialog(this, {
- title: _t("Change Password"),
- width : 'auto'
- }).open();
- this.dialog.$element.html(QWeb.render("UserMenu.password", self));
- this.dialog.$element.find("form[name=change_password_form]").validate({
- submitHandler: function (form) {
- self.rpc("/web/session/change_password",{
- 'fields': $(form).serializeArray()
- }, function(result) {
- if (result.error) {
- self.display_error(result);
- return;
- } else {
- instance.webclient.on_logout();
- }
- });
- }
- });
- },
- display_error: function (error) {
- return instance.web.dialog($('<div>'), {
- modal: true,
- title: error.title,
- buttons: [
- {text: _("Ok"), click: function() { $(this).dialog("close"); }}
- ]
- }).html(error.error);
- },
do_update: function () {
var self = this;
var fct = function() {
@@ -886,44 +886,10 @@ instance.web.UserMenu = instance.web.Widget.extend({
},
on_menu_settings: function() {
var self = this;
- var action_manager = new instance.web.ActionManager(this);
- var dataset = new instance.web.DataSet (this,'res.users',this.context);
- dataset.call ('action_get','',function (result){
- self.rpc('/web/action/load', {action_id:result}, function(result){
- action_manager.do_action(_.extend(result['result'], {
- target: 'inline',
- res_id: self.session.uid,
- res_model: 'res.users',
- flags: {
- action_buttons: false,
- search_view: false,
- sidebar: false,
- views_switcher: false,
- pager: false
- }
- }));
- });
+ self.rpc("/web/action/load", { action_id: "base.action_res_users_my" }, function(result) {
+ result.result.res_id = instance.connection.uid;
+ self.getParent().action_manager.do_action(result.result);
});
- this.dialog = new instance.web.Dialog(this,{
- title: _t("Preferences"),
- width: '700px',
- buttons: [
- {text: _t("Change password"), click: function(){ self.change_password(); }},
- {text: _t("Cancel"), click: function(){ $(this).dialog('destroy'); }},
- {text: _t("Save"), click: function(){
- var inner_widget = action_manager.inner_widget;
- inner_widget.views[inner_widget.active_view].controller.do_save()
- .then(function() {
- self.dialog.destroy();
- // needs to refresh interface in case language changed
- window.location.reload();
- });
- }
- }
- ]
- }).open();
- action_manager.appendTo(this.dialog.$element);
- action_manager.renderElement(this.dialog);
},
on_menu_about: function() {
var self = this;
@@ -935,7 +901,7 @@ instance.web.UserMenu = instance.web.Widget.extend({
window.location.href, 'debug');
});
instance.web.dialog($help, {autoOpen: true,
- modal: true, width: 580, height: 290, resizable: false, title: _t("About")});
+ modal: true, width: 507, height: 290, resizable: false, title: _t("About")});
});
},
});
@@ -1098,15 +1064,15 @@ instance.web.WebClient = instance.web.Client.extend({
$(window).bind('hashchange', this.on_hashchange);
var state = $.bbq.getState(true);
- if (! _.isEmpty(state)) {
- $(window).trigger('hashchange');
- } else {
+ if (_.isEmpty(state) || state.action == "login") {
self.menu.has_been_loaded.then(function() {
var first_menu_id = self.menu.$element.find("a:first").data("menu");
if(first_menu_id) {
self.menu.menu_click(first_menu_id);
}
});
+ } else {
+ $(window).trigger('hashchange');
}
},
on_hashchange: function(event) {
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 2a328a2e74b..4d06cb2d767 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -161,7 +161,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.$element.find(".oe_form_field,label").on('click', function (e) {
if(self.get("actual_mode") == "view") {
var $button = self.options.$buttons.find(".oe_form_button_edit");
- $button.effect('bounce', {distance: 18, times: 7}, 200)
+ $button.effect('bounce', {distance: 18, times: 5}, 150)
}
});
@@ -638,8 +638,9 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
*/
_actualize_mode: function(switch_to) {
var mode = switch_to || this.get("actual_mode");
- if (! this.datarecord.id)
+ if (! this.datarecord.id) {
mode = "create";
+ }
this.set({actual_mode: mode});
},
check_actual_mode: function(source, options) {
@@ -681,7 +682,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
},
on_button_save: function() {
var self = this;
- return this.do_save().then(function(result) {
+ return this.do_save().then(function(result) {
self.to_view_mode();
});
},
@@ -789,16 +790,16 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
self.set({'display_invalid_fields': false});
var save_deferral;
if (!self.datarecord.id) {
- //console.log("FormView(", self, ") : About to create", values);
+ // console.log("FormView(", self, ") : About to create", values);
save_deferral = self.dataset.create(values).pipe(function(r) {
return self.on_created(r, undefined, prepend_on_create);
}, null);
} else if (_.isEmpty(values) && ! self.force_dirty) {
- //console.log("FormView(", self, ") : Nothing to save");
+ // console.log("FormView(", self, ") : Nothing to save");
save_deferral = $.Deferred().resolve({}).promise();
} else {
self.force_dirty = false;
- //console.log("FormView(", self, ") : About to save", values);
+ // console.log("FormView(", self, ") : About to save", values);
save_deferral = self.dataset.write(self.datarecord.id, values, {}).pipe(function(r) {
return self.on_saved(r);
}, null);
@@ -2082,7 +2083,7 @@ instance.web.form.FieldChar = instance.web.form.AbstractField.extend(instance.we
return this.get('value') === '' || this._super();
},
focus: function() {
- this.$element.find('input:first').focus();
+ this.$('input:first').focus();
}
});
@@ -2166,6 +2167,9 @@ instance.web.form.FieldFloat = instance.web.form.FieldChar.extend({
value_ = 0;
}
this._super.apply(this, [value_]);
+ },
+ focus: function () {
+ this.$('input:first').select();
}
});
@@ -3011,7 +3015,7 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
},
start: function() {
this._super.apply(this, arguments);
- this.$element.addClass('oe_form_field_one2many');
+ this.$element.addClass('oe_form_field oe_form_field_one2many');
var self = this;
@@ -4612,8 +4616,9 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
if (this.get('value') && ! /^\d+(\.\d*)? \w+$/.test(this.get('value'))) {
url = 'data:image/png;base64,' + this.get('value');
} else if (this.get('value')) {
+ var id = escape(JSON.stringify(this.view.datarecord.id || null));
url = '/web/binary/image?session_id=' + this.session.session_id + '&model=' +
- this.view.dataset.model +'&id=' + (this.view.datarecord.id || '') + '&field=' + this.name + '&t=' + (new Date().getTime());
+ this.view.dataset.model +'&id=' + id + '&field=' + this.name + '&t=' + (new Date().getTime());
} else {
url = "/web/static/src/img/placeholder.png";
}
@@ -4638,9 +4643,11 @@ instance.web.form.FieldBinaryImage = instance.web.form.FieldBinary.extend({
instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
template: "FieldStatus",
+ clickable: false,
start: function() {
this._super();
this.selected_value = null;
+ this.clickable = !!this.node.attrs.clickable;
if (this.$element.parent().is('header')) {
this.$element.after('<div class="oe_clear"/>');
}
@@ -4745,14 +4752,32 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({
* state (given by the key of (key, label)).
*/
render_elements: function () {
+ var self = this;
var content = instance.web.qweb.render("FieldStatus.content", {widget: this, _:_});
this.$element.html(content);
-
+ if (this.clickable) {
+ this.$element.addClass("oe_form_steps_clickable");
+ $('.oe_form_steps_arrow').remove();
+ var elemts = this.$element.find('.oe_form_steps_button');
+ _.each(elemts, function(element){
+ $item = $(element);
+ if ($item.attr("data-id") != self.selected_value) {
+ $item.click(function(event){
+ var data_id = parseInt($(this).attr("data-id"))
+ self.view.dataset.call('stage_set', [[self.view.datarecord.id],data_id]).then(function() {
+ return self.view.reload();
+ });
+ });
+ }
+ });
+ } else {
+ this.$element.addClass("oe_form_steps");
+ }
var colors = JSON.parse((this.node.attrs || {}).statusbar_colors || "{}");
var color = colors[this.selected_value];
- if (color) {
+ if (color) {
var elem = this.$element.find("li.oe_form_steps_active span");
- elem.css("color", color);
+ elem.css("color", color);
}
},
});
diff --git a/addons/web/static/src/js/view_list_editable.js b/addons/web/static/src/js/view_list_editable.js
index b5890af2a03..9a101a5ac1a 100644
--- a/addons/web/static/src/js/view_list_editable.js
+++ b/addons/web/static/src/js/view_list_editable.js
@@ -248,10 +248,11 @@ openerp.web.list_editable = function (instance) {
var $cell = $(cell);
var position = $cell.position();
+ // jquery does not understand !important
+ field.$element.attr('style', 'width: '+$cell.outerWidth()+'px !important')
field.$element.css({
top: position.top,
left: position.left,
- width: $cell.outerWidth(),
minHeight: $cell.outerHeight()
});
},
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index e6566c7974d..58f77840e69 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -271,6 +271,31 @@
</div>
</t>
+<t t-name="ChangePassword">
+ <form name="change_password_form" method="POST">
+ <table align="center">
+ <tr>
+ <td><label for="old_pwd">Old Password:</label></td>
+ <td><input type="password" name="old_pwd"
+ minlength="1" autofocus="autofocus"/></td>
+ </tr>
+ <tr>
+ <td><label for="new_password">New Password:</label></td>
+ <td><input type="password" name="new_password"
+ minlength="1" autofocus="autofocus"/></td>
+ </tr>
+ <tr>
+ <td><label for="confirm_pwd">Confirm Password:</label></td>
+ <td><input type="password" name="confirm_pwd"
+ minlength="1"/></td>
+ </tr>
+ <tr>
+ <td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
+ </tr>
+ </table>
+ </form>
+</t>
+
<t t-name="Menu">
<ul class="oe_menu" t-if="widget.data">
<li t-foreach="widget.data.data.children" t-as="menu">
@@ -317,7 +342,7 @@
t-att-data-action-id="menu.action ? menu.action.split(',')[1] : ''">
<t t-esc="menu.name"/>
<t t-if="menu.needaction_enabled and menu.needaction_counter">
- <div class="oe_menu_counter">
+ <div class="oe_tag oe_tag_dark oe_menu_counter">
<t t-esc="menu.needaction_counter"/>
</div>
</t>
@@ -351,30 +376,6 @@
</div>
</t>
-<t t-name="UserMenu.password">
- <form name="change_password_form" method="POST">
- <table align="center">
- <tr>
- <td><label for="old_pwd">Old Password:</label></td>
- <td><input type="password" name="old_pwd"
- minlength="1" autofocus="autofocus"/></td>
- </tr>
- <tr>
- <td><label for="new_password">New Password:</label></td>
- <td><input type="password" name="new_password"
- minlength="1" autofocus="autofocus"/></td>
- </tr>
- <tr>
- <td><label for="confirm_pwd">Confirm Password:</label></td>
- <td><input type="password" name="confirm_pwd"
- minlength="1"/></td>
- </tr>
- <tr>
- <td colspan="2" align="right"><button class="oe_button">Change Password</button></td>
- </tr>
- </table>
- </form>
-</t>
<t t-name="WebClient">
<div class="openerp openerp_webclient_container">
@@ -618,7 +619,7 @@
<t t-if="column.tag !== 'button'"><t t-esc="column.string"/></t>
</th>
</t>
- <th t-if="options.deletable" width="1"/>
+ <th t-if="options.deletable" width="13px"/>
</tr>
</thead>
<tfoot>
@@ -670,11 +671,11 @@
<t t-set="number" t-value="column.type === 'integer' or column.type == 'float'"/>
<t t-set="modifiers" t-value="column.modifiers_for(asData)"/>
<td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
- t-attf-class="oe_list_field_cell oe_list_field_#{column.widget or column.type} #{number ? 'oe_number' : ''} #{column.tag === 'button' ? 'oe-button' : ''} #{modifiers.readonly ? 'oe_readonly' : ''}"
+ t-attf-class="oe_list_field_cell oe_list_field_#{column.widget or column.type} #{number ? 'oe_number' : ''} #{column.tag === 'button' ? 'oe-button' : ''} #{modifiers.readonly ? 'oe_readonly' : ''} #{modifiers.required ? 'oe_required' : ''}"
t-att-data-field="column.id"
><t t-raw="render_cell(record, column)"/></td>
</t>
- <td t-if="options.deletable" class='oe_list_record_delete' width="1">
+ <td t-if="options.deletable" class='oe_list_record_delete' width="13px">
<button type="button" name="delete" class="oe_i">d</button>
</td>
</tr>
@@ -976,7 +977,7 @@
</t>
<t t-if="!widget.get('effective_readonly')">
<a t-if="! widget.get_definition_options().no_open" href="#" tabindex="-1"
- class="oe_m2o_cm_button oe_e oe_right">/</a>
+ class="oe_m2o_cm_button oe_e">/</a>
<div>
<input type="text"
t-att-id="widget.id_for_label"
@@ -1036,14 +1037,19 @@
</span>
</t>
<t t-name="FieldStatus">
- <ul class="oe_form_steps" t-att-style="widget.node.attrs.style"/>
+ <ul class="" t-att-style="widget.node.attrs.style"/>
</t>
<t t-name="FieldStatus.content">
<t t-set="size" t-value="widget.to_show.length"/>
<t t-foreach="_.range(size)" t-as="i">
- <li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe_form_steps_active' : ''">
- <span><t t-esc="widget.to_show[i][1]"/></span>
- <img t-att-src='_s + "/web/static/src/img/form_steps.png"' class="oe_form_steps_arrow" t-if="i &lt; size - 1"/>
+ <li t-att-class="widget.to_show[i][0] === widget.selected_value ? 'oe_form_steps_active' : 'oe_form_steps_inactive'">
+ <div class="oe_form_steps_button" t-att-data-id="widget.to_show[i][0]">
+ <t t-esc="widget.to_show[i][1]"/>
+ <span class="oe_form_steps_arrow">
+ <span></span>
+ </span>
+ <img t-att-src='_s + "/web/static/src/img/form_steps.png"' class="oe_form_steps_arrow" t-if="i &lt; size - 1"/>
+ </div>
</li>
</t>
</t>
@@ -1052,13 +1058,8 @@
<div class="oe_form_field_image_controls oe_edit_only">
<t t-call="HiddenInputFile">
<t t-set="fileupload_id" t-value="widget.fileupload_id"/>
- <button class="oe_button" type="button" title="Set Image">
- <img t-att-src='_s + "/web/static/src/img/icons/STOCK_DIRECTORY.png"'/>
- </button>
+ Edit
</t>
- <button class="oe_button oe_form_binary_file_clear" type="button" title="Clear">
- <img t-att-src='_s + "/web/static/src/img/icons/STOCK_MISSING_IMAGE.png"'/>
- </button>
<div class="oe_form_binary_progress" style="display: none">
<img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/>
<b>Uploading ...</b>
@@ -1278,7 +1279,7 @@
contenteditable="true"/>
<!-- tabindex: makes div focusable -->
<div t-name="SearchView.FacetView"
- class="oe_searchview_facet"
+ class="oe_tag oe_tag_dark oe_searchview_facet"
tabindex="0"
><span class="oe_facet_remove">x</span
><span class="oe_facet_category oe_i" t-if="widget.model.has('icon')">