summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2012-09-14 17:37:18 +0200
committerOlivier Dony <odo@openerp.com>2012-09-14 17:37:18 +0200
commita7b1c0ff55959013e87ca4737ada13aba960e8cd (patch)
treef50cfc7ad763ddc64930f447691f09883f7200e6 /addons/web/static/src
parentaa98dd38e2f8ce9a3e5a26f391fd1fb59e89a0e6 (diff)
parent8a6b7b7ed489ddfa5b7dd9d9d0206115259dbcb6 (diff)
[MERGE] Sync with trunk
bzr revid: odo@openerp.com-20120914153718-jk432ri8sz38z2bt
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/css/base.css403
-rw-r--r--addons/web/static/src/css/base.sass214
-rw-r--r--addons/web/static/src/js/coresetup.js40
-rw-r--r--addons/web/static/src/js/view_form.js33
-rw-r--r--addons/web/static/src/js/views.js24
-rw-r--r--addons/web/static/src/xml/base.xml7
6 files changed, 315 insertions, 406 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css
index f952dd298fd..16861a7853f 100644
--- a/addons/web/static/src/css/base.css
+++ b/addons/web/static/src/css/base.css
@@ -25,6 +25,7 @@
display: none !important;
}
}
+
.openerp.openerp_webclient_container {
height: 100%;
position: relative;
@@ -40,7 +41,7 @@
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.5);
/* http://www.quirksmode.org/dom/inputfile.html
* http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image
- */
+ */ */
}
.openerp :-moz-placeholder {
color: #afafb6 !important;
@@ -111,28 +112,6 @@
.openerp h4 {
margin: 4px 0;
}
-.openerp .oe_semantic_html_override ul, .openerp .oe_semantic_html_override ol {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_semantic_html_override ul ul, .openerp .oe_semantic_html_override ul ol, .openerp .oe_semantic_html_override ul li, .openerp .oe_semantic_html_override ol ul, .openerp .oe_semantic_html_override ol ol, .openerp .oe_semantic_html_override ol li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_semantic_html_override ul li, .openerp .oe_semantic_html_override ol li {
- list-style-type: none;
-}
-.openerp ul.oe_semantic_html_override {
- margin: 0;
- padding: 0;
-}
-.openerp ul.oe_semantic_html_override ul, .openerp ul.oe_semantic_html_override ol, .openerp ul.oe_semantic_html_override li {
- margin: 0;
- padding: 0;
-}
-.openerp ul.oe_semantic_html_override li {
- list-style-type: none;
-}
.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;
@@ -265,7 +244,7 @@
border-radius: 0 0 2px 2px;
}
.openerp.ui-dialog .ui-dialog-buttonpane button {
- margin: 0;
+ margin: 0 4px 0 0;
}
.openerp.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: left;
@@ -602,26 +581,6 @@
padding: 0 16px;
list-style: none;
zoom: 1;
- margin: 0;
- padding: 0;
-}
-.openerp .oe_notebook ul, .openerp .oe_notebook ol, .openerp .oe_notebook li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_notebook li {
- list-style-type: none;
-}
-.openerp .oe_notebook ul, .openerp .oe_notebook ol {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_notebook ul ul, .openerp .oe_notebook ul ol, .openerp .oe_notebook ul li, .openerp .oe_notebook ol ul, .openerp .oe_notebook ol ol, .openerp .oe_notebook ol li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_notebook ul li, .openerp .oe_notebook ol li {
- list-style-type: none;
}
.openerp .oe_notebook.ui-corner-all {
-moz-border-radius: 0;
@@ -697,6 +656,8 @@
top: 26px;
left: 0;
z-index: 1;
+ margin: 0;
+ padding: 0;
border: 1px solid #afafb6;
background: white;
padding: 4px 0;
@@ -714,6 +675,7 @@
float: none;
display: block;
position: relative;
+ margin: 0;
padding: 2px 8px;
}
.openerp .oe_dropdown_menu > li:hover {
@@ -831,9 +793,10 @@
font-size: 14px;
height: 100%;
}
-.openerp .oe_login li {
+.openerp .oe_login ul, .openerp .oe_login li {
+ margin: 0;
list-style-type: none;
- padding-bottom: 4px;
+ padding: 0 0 4px 0;
}
.openerp .oe_login button {
float: right;
@@ -926,17 +889,6 @@
-webkit-box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
box-shadow: 0 0 18px rgba(0, 0, 0, 0.9);
}
-.openerp .oe_login .oe_login_pane ul, .openerp .oe_login .oe_login_pane ol {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_login .oe_login_pane ul ul, .openerp .oe_login .oe_login_pane ul ol, .openerp .oe_login .oe_login_pane ul li, .openerp .oe_login .oe_login_pane ol ul, .openerp .oe_login .oe_login_pane ol ol, .openerp .oe_login .oe_login_pane ol li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_login .oe_login_pane ul li, .openerp .oe_login .oe_login_pane ol li {
- list-style-type: none;
-}
.openerp .oe_login .oe_login_pane h2 {
margin-top: 0;
font-size: 18px;
@@ -1015,17 +967,6 @@
background-image: -o-linear-gradient(top, #646060, #262626);
background-image: linear-gradient(to bottom, #646060, #262626);
}
-.openerp .oe_topbar ul, .openerp .oe_topbar ol {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_topbar ul ul, .openerp .oe_topbar ul ol, .openerp .oe_topbar ul li, .openerp .oe_topbar ol ul, .openerp .oe_topbar ol ol, .openerp .oe_topbar ol li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_topbar ul li, .openerp .oe_topbar ol li {
- list-style-type: none;
-}
.openerp .oe_topbar .oe_topbar_item {
display: block;
padding: 5px 10px 7px;
@@ -1098,17 +1039,6 @@
text-shadow: 0 1px 1px white;
padding-bottom: 16px;
}
-.openerp .oe_leftbar ul, .openerp .oe_leftbar ol {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_leftbar ul ul, .openerp .oe_leftbar ul ol, .openerp .oe_leftbar ul li, .openerp .oe_leftbar ol ul, .openerp .oe_leftbar ol ol, .openerp .oe_leftbar ol li {
- margin: 0;
- padding: 0;
-}
-.openerp .oe_leftbar ul li, .openerp .oe_leftbar ol li {
- list-style-type: none;
-}
.openerp a.oe_logo {
width: 220px;
display: block;
@@ -1164,6 +1094,9 @@
margin: 0;
}
.openerp .oe_menu > li {
+ list-style-type: none;
+ padding: 0;
+ margin: 0;
float: left;
}
.openerp .oe_menu > li > a {
@@ -1203,7 +1136,9 @@
}
.openerp .oe_secondary_submenu li {
position: relative;
+ margin: 0;
padding: 1px 0 1px 20px !important;
+ list-style-type: none;
}
.openerp .oe_secondary_submenu li a {
display: block;
@@ -1306,6 +1241,13 @@
.openerp .oe_application > div {
height: 100%;
}
+.openerp .oe_application .oe_breadcrumb_item:not(:last-child) {
+ display: inline-block;
+ max-width: 7em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
.openerp .oe_view_manager .oe_view_manager_body {
height: inherit;
}
@@ -1316,16 +1258,6 @@
width: 100%;
table-layout: fixed;
}
-.openerp .oe_view_manager table.oe_view_manager_header ul {
- padding: 0;
- margin-right: 0;
- margin-top: 0;
- margin-bottom: 0;
-}
-.openerp .oe_view_manager table.oe_view_manager_header ul li {
- list-style-type: none;
- margin: 0;
-}
.openerp .oe_view_manager table.oe_view_manager_header .oe_header_row {
clear: both;
text-shadow: 0 1px 1px white;
@@ -1397,6 +1329,10 @@
float: left;
margin-right: 8px;
}
+.openerp .oe_view_manager ul.oe_pager_group {
+ padding: 0;
+ margin: 0;
+}
.openerp .oe_view_manager .oe_pager_group {
float: left;
height: 24px;
@@ -1412,6 +1348,8 @@
height: 24px;
line-height: 24px;
padding: 0;
+ margin: 0;
+ list-style-type: none;
float: left;
border-right: 1px solid #ababab;
}
@@ -1436,14 +1374,17 @@
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.openerp .oe_view_manager .oe_view_manager_switch {
- margin-left: 8px;
+ padding: 0;
+ margin: 0 0 0 8px;
}
.openerp .oe_view_manager .oe_view_manager_switch li {
- text-align: center;
+ margin: 0;
width: 24px;
height: 24px;
line-height: 16px;
padding: 0;
+ text-align: center;
+ list-style-type: none;
}
.openerp .oe_view_manager .oe_view_manager_switch li a {
position: relative;
@@ -2047,135 +1988,6 @@
.openerp .oe_form div.oe_form_configuration .oe_form_group_cell div div {
padding: 1px 0;
}
-.openerp .oe_form ul.oe_form_steps, .openerp .oe_form ul.oe_form_steps_clickable {
- display: inline-block;
- padding-right: 18px;
-}
-.openerp .oe_form ul.oe_form_steps li, .openerp .oe_form ul.oe_form_steps_clickable li {
- display: inline-block;
- margin-right: -20px;
- background-color: #fcfcfc;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
- background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
- background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
- background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
-}
-.openerp .oe_form ul.oe_form_steps li:first-child .label, .openerp .oe_form ul.oe_form_steps_clickable li:first-child .label {
- border-left: 1px solid #cacaca;
- padding-left: 14px;
-}
-.openerp .oe_form ul.oe_form_steps li:last-child, .openerp .oe_form ul.oe_form_steps_clickable li:last-child {
- border-right: 1px solid #cacaca;
-}
-.openerp .oe_form ul.oe_form_steps li:last-child .label, .openerp .oe_form ul.oe_form_steps_clickable li:last-child .label {
- padding-right: 14px;
-}
-.openerp .oe_form ul.oe_form_steps li:last-child .arrow, .openerp .oe_form ul.oe_form_steps_clickable li:last-child .arrow {
- display: none;
-}
-.openerp .oe_form ul.oe_form_steps li .label, .openerp .oe_form ul.oe_form_steps_clickable li .label {
- color: #4c4c4c;
- text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
- padding: 7px;
- display: inline-block;
- padding-left: 24px;
- margin: 0;
- position: relative;
-}
-.openerp .oe_form ul.oe_form_steps li .arrow, .openerp .oe_form ul.oe_form_steps_clickable li .arrow {
- width: 17px;
- display: inline-block;
- vertical-align: top;
- overflow: hidden;
- margin-left: -5px;
-}
-.openerp .oe_form ul.oe_form_steps li .arrow span, .openerp .oe_form ul.oe_form_steps_clickable li .arrow span {
- position: relative;
- width: 24px;
- height: 24px;
- display: inline-block;
- margin-left: -12px;
- margin-top: 3px;
- box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
- background-color: #dedede;
- background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
- background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
- background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
- border-radius: 3px;
- -webkit-transform: rotate(45deg);
- -moz-transform: rotate(45deg);
- -ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-.openerp .oe_form ul.oe_form_steps li.oe_active, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active {
- background-color: #729fcf;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
- background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
- background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
- background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
- background-image: -o-linear-gradient(top, #729fcf, #3465a4);
- background-image: linear-gradient(to bottom, #729fcf, #3465a4);
-}
-.openerp .oe_form ul.oe_form_steps li.oe_active .arrow span, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active .arrow span {
- background-color: #3465a4;
- background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
- background: -o-linear-gradient(135deg, #729fcf, #3465a4);
- background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
-}
-.openerp .oe_form ul.oe_form_steps li.oe_active .label, .openerp .oe_form ul.oe_form_steps_clickable li.oe_active .label {
- color: white;
- text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
-}
-.openerp .oe_form ul.oe_form_steps_clickable li {
- cursor: pointer;
-}
-.openerp .oe_form ul.oe_form_steps_clickable li:hover {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
-}
-.openerp .oe_form ul.oe_form_steps_clickable li:hover .label {
- text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
-}
-.openerp .oe_form ul.oe_form_steps_clickable li:hover .arrow span {
- background-color: #e8e8e8;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
- background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
- background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
-}
-.openerp .oe_form ul.oe_form_steps_clickable li .label {
- color: #7c7bad;
-}
-.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover {
- background-color: #4c85c2;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
- background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
- background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
- background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
-}
-.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover .label {
- text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
-}
-.openerp .oe_form ul.oe_form_steps_clickable li.oe_active:hover .arrow span {
- background-color: #284d7d;
- background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
- background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
- background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d));
-}
.openerp .oe_form .oe_subtotal_footer {
width: 1% !important;
}
@@ -2463,27 +2275,137 @@
.openerp.ui-autocomplete li:not(.oe_m2o_dropdown_option) + li.oe_m2o_dropdown_option {
margin-top: 10px;
}
-.openerp .oe_form_field_status {
+.openerp ul.oe_form_status, .openerp ul.oe_form_status_clickable {
+ display: inline-block;
margin: 0;
- padding: 0;
+ padding: 0 18px 0 0;
}
-.openerp .oe_form_field_status ul, .openerp .oe_form_field_status ol {
- margin: 0;
+.openerp ul.oe_form_status li, .openerp ul.oe_form_status_clickable li {
+ display: inline-block;
+ list-style-type: none;
+ margin: 0 -20px 0 0;
padding: 0;
+ background-color: #fcfcfc;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#fcfcfc), to(#dedede));
+ background-image: -webkit-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -moz-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -ms-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: -o-linear-gradient(top, #fcfcfc, #dedede);
+ background-image: linear-gradient(to bottom, #fcfcfc, #dedede);
}
-.openerp .oe_form_field_status ul ul, .openerp .oe_form_field_status ul ol, .openerp .oe_form_field_status ul li, .openerp .oe_form_field_status ol ul, .openerp .oe_form_field_status ol ol, .openerp .oe_form_field_status ol li {
- margin: 0;
- padding: 0;
+.openerp ul.oe_form_status li:first-child .label, .openerp ul.oe_form_status_clickable li:first-child .label {
+ border-left: 1px solid #cacaca;
+ padding-left: 14px;
}
-.openerp .oe_form_field_status ul li, .openerp .oe_form_field_status ol li {
- list-style-type: none;
+.openerp ul.oe_form_status li:last-child, .openerp ul.oe_form_status_clickable li:last-child {
+ border-right: 1px solid #cacaca;
+}
+.openerp ul.oe_form_status li:last-child .label, .openerp ul.oe_form_status_clickable li:last-child .label {
+ padding-right: 14px;
+}
+.openerp ul.oe_form_status li:last-child .arrow, .openerp ul.oe_form_status_clickable li:last-child .arrow {
+ display: none;
}
-.openerp .oe_form_field_status ul, .openerp .oe_form_field_status ol, .openerp .oe_form_field_status li {
+.openerp ul.oe_form_status li .label, .openerp ul.oe_form_status_clickable li .label {
+ color: #4c4c4c;
+ text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede;
+ padding: 7px;
+ display: inline-block;
+ padding-left: 24px;
margin: 0;
- padding: 0;
+ position: relative;
}
-.openerp .oe_form_field_status li {
- list-style-type: none;
+.openerp ul.oe_form_status li .arrow, .openerp ul.oe_form_status_clickable li .arrow {
+ width: 17px;
+ display: inline-block;
+ vertical-align: top;
+ overflow: hidden;
+ margin-left: -5px;
+}
+.openerp ul.oe_form_status li .arrow span, .openerp ul.oe_form_status_clickable li .arrow span {
+ position: relative;
+ width: 24px;
+ height: 24px;
+ display: inline-block;
+ margin-left: -12px;
+ margin-top: 3px;
+ box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.2), inset -1px 1px 1px rgba(0, 0, 0, 0.2);
+ background-color: #dedede;
+ background: -moz-linear-gradient(135deg, #dedede, #fcfcfc);
+ background: -o-linear-gradient(135deg, #fcfcfc, #dedede);
+ background: -webkit-gradient(linear, left top, right bottom, from(#fcfcfc), to(#dedede));
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+ -webkit-transform: rotate(45deg);
+ -moz-transform: rotate(45deg);
+ -ms-transform: rotate(45deg);
+ -o-transform: rotate(45deg);
+ transform: rotate(45deg);
+}
+.openerp ul.oe_form_status li.oe_active, .openerp ul.oe_form_status_clickable li.oe_active {
+ background-color: #729fcf;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#729fcf), to(#3465a4));
+ background-image: -webkit-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -moz-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -ms-linear-gradient(top, #729fcf, #3465a4);
+ background-image: -o-linear-gradient(top, #729fcf, #3465a4);
+ background-image: linear-gradient(to bottom, #729fcf, #3465a4);
+}
+.openerp ul.oe_form_status li.oe_active .arrow span, .openerp ul.oe_form_status_clickable li.oe_active .arrow span {
+ background-color: #3465a4;
+ background: -moz-linear-gradient(135deg, #3465a4, #729fcf);
+ background: -o-linear-gradient(135deg, #729fcf, #3465a4);
+ background: -webkit-gradient(linear, left top, right bottom, from(#729fcf), to(#3465a4));
+}
+.openerp ul.oe_form_status li.oe_active .label, .openerp ul.oe_form_status_clickable li.oe_active .label {
+ color: white;
+ text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4;
+}
+.openerp ul.oe_form_status_clickable li {
+ cursor: pointer;
+}
+.openerp ul.oe_form_status_clickable li:hover {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
+}
+.openerp ul.oe_form_status_clickable li:hover .label {
+ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede;
+}
+.openerp ul.oe_form_status_clickable li:hover .arrow span {
+ background-color: #e8e8e8;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#cacaca));
+ background-image: -webkit-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -moz-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -ms-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: -o-linear-gradient(top, #e8e8e8, #cacaca);
+ background-image: linear-gradient(to bottom, #e8e8e8, #cacaca);
+}
+.openerp ul.oe_form_status_clickable li .label {
+ color: #7c7bad;
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover {
+ background-color: #4c85c2;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#4c85c2), to(#284d7d));
+ background-image: -webkit-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -moz-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -ms-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: -o-linear-gradient(top, #4c85c2, #284d7d);
+ background-image: linear-gradient(to bottom, #4c85c2, #284d7d);
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover .label {
+ text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4;
+}
+.openerp ul.oe_form_status_clickable li.oe_active:hover .arrow span {
+ background-color: #284d7d;
+ background: -moz-linear-gradient(135deg, #284d7d, #4c85c2);
+ background: -o-linear-gradient(135deg, #4c85c2, #284d7d);
+ background: -webkit-gradient(linear, left top, right bottom, from(#4c85c2), to(#284d7d));
}
.openerp .oe_form .oe_form_field_one2many > .oe_view_manager .oe_list_pager_single_page {
display: none;
@@ -2545,7 +2467,7 @@
.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 {
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
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 {
@@ -2555,9 +2477,6 @@
border: 1px solid #aaaaff;
margin: 0;
}
-.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;
}
@@ -2832,16 +2751,6 @@
float: right;
color: #333333;
}
-.openerp .oe_semantic_html li {
- list-style-type: disc;
- display: list-item;
-}
-.openerp .oe_semantic_html ul {
- padding-left: 1em;
-}
-.openerp .oe_semantic_html p {
- color: #4c4c4c !important;
-}
.kitten-mode-activated {
background-image: url(http://placekitten.com/g/1365/769);
diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass
index 1f332756cf7..e3cb661d580 100644
--- a/addons/web/static/src/css/base.sass
+++ b/addons/web/static/src/css/base.sass
@@ -124,19 +124,6 @@ $sheet-max-width: 860px
content: $icon-name
color: $color
-@mixin ul-html-override()
- margin: 0
- padding: 0
- ul, ol, li
- margin: 0
- padding: 0
- li
- list-style-type: none
-
-@mixin semantic-html-override()
- ul, ol
- @include ul-html-override()
-
// }}}
@media print
@@ -200,10 +187,6 @@ $sheet-max-width: 860px
vertical-align: middle
h4
margin: 4px 0
- .oe_semantic_html_override
- @include semantic-html-override
- ul.oe_semantic_html_override
- @include ul-html-override
// }}}
// Button style {{{
a.button:link, a.button:visited, button, input[type='submit'], .ui-dialog-buttonpane .ui-dialog-buttonset .ui-button
@@ -283,7 +266,7 @@ $sheet-max-width: 860px
margin: 0
@include radius(0 0 2px 2px)
button
- margin: 0
+ margin: 0 4px 0 0
.ui-dialog-buttonset
float: left
.ui-button
@@ -509,8 +492,6 @@ $sheet-max-width: 860px
padding: 0 16px
list-style: none
zoom: 1
- @include ul-html-override
- @include semantic-html-override
.oe_notebook.ui-corner-all
@include radius(0)
.oe_notebook:before, .oe_notebook:after
@@ -567,6 +548,8 @@ $sheet-max-width: 860px
top: 26px
left: 0
z-index: 1
+ margin: 0
+ padding: 0
border: 1px solid $tag-border
background: white
padding: 4px 0
@@ -582,6 +565,7 @@ $sheet-max-width: 860px
float: none
display: block
position: relative
+ margin: 0
padding: 2px 8px
> a
white-space: nowrap
@@ -670,9 +654,10 @@ $sheet-max-width: 860px
text-align: center
font-size: 14px
height: 100%
- li
+ ul, li
+ margin: 0
list-style-type: none
- padding-bottom: 4px
+ padding: 0 0 4px 0
button
float: right
display: inline-block
@@ -730,7 +715,6 @@ $sheet-max-width: 860px
text-align: left
@include radius(8px)
@include box-shadow(0 0 18px rgba(0, 0, 0, 0.9))
- @include semantic-html-override
h2
margin-top: 0
font-size: 18px
@@ -795,7 +779,6 @@ $sheet-max-width: 860px
width: 100%
height: 31px
@include vertical-gradient(#646060, #262626)
- @include semantic-html-override
.oe_topbar_item
display: block
padding: 5px 10px 7px
@@ -846,7 +829,6 @@ $sheet-max-width: 860px
border-right: 1px solid $tag-border
text-shadow: 0 1px 1px white
padding-bottom: 16px
- @include semantic-html-override
a.oe_logo
width: 220px
display: block
@@ -897,6 +879,9 @@ $sheet-max-width: 860px
padding: 0
margin: 0
> li
+ list-style-type: none
+ padding: 0
+ margin: 0
float: left
> a
display: block
@@ -926,7 +911,9 @@ $sheet-max-width: 860px
display: inline-block
li
position: relative
+ margin: 0
padding: 1px 0 1px 20px !important
+ list-style-type: none
a
display: block
color: #4c4c4c
@@ -1001,6 +988,12 @@ $sheet-max-width: 860px
text-decoration: underline
> div
height: 100%
+ .oe_breadcrumb_item:not(:last-child)
+ display: inline-block
+ max-width: 7em
+ white-space: nowrap
+ overflow: hidden
+ text-overflow: ellipsis
// }}}
// ViewManager common {{{
.oe_view_manager
@@ -1012,14 +1005,6 @@ $sheet-max-width: 860px
table.oe_view_manager_header
width: 100%
table-layout: fixed
- ul
- padding: 0
- margin-right: 0
- margin-top: 0
- margin-bottom: 0
- li
- list-style-type: none
- margin: 0
.oe_header_row
//min-height: 26px
//line-height: 26px
@@ -1074,6 +1059,9 @@ $sheet-max-width: 860px
.oe_pager_value
float: left
margin-right: 8px
+ ul.oe_pager_group
+ padding: 0
+ margin: 0
.oe_pager_group
float: left
height: 24px
@@ -1086,6 +1074,8 @@ $sheet-max-width: 860px
height: 24px
line-height: 24px
padding: 0
+ margin: 0
+ list-style-type: none
float: left
border-right: 1px solid #ababab
&:last-child
@@ -1104,13 +1094,16 @@ $sheet-max-width: 860px
// }}}
// ViewManager.switches {{{
.oe_view_manager_switch
- margin-left: 8px
+ padding: 0
+ margin: 0 0 0 8px
li
- text-align: center
+ margin: 0
width: 24px
height: 24px
line-height: 16px
padding: 0
+ text-align: center
+ list-style-type: none
a
position: relative
.oe_vm_switch_list:after, .oe_vm_switch_tree:after
@@ -1571,72 +1564,6 @@ $sheet-max-width: 860px
padding: 1px 0
.oe_form_group_cell div div
padding: 1px 0
- ul.oe_form_steps, ul.oe_form_steps_clickable
- display: inline-block
- padding-right: 18px
- li
- display: inline-block
- margin-right: -20px
- @include vertical-gradient(#fcfcfc, #dedede)
- &:first-child .label
- border-left: 1px solid #cacaca
- padding-left: 14px
- &:last-child
- border-right: 1px solid #cacaca
- .label
- padding-right: 14px
- .arrow
- display: none
- .label
- color: #4c4c4c
- text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede
- padding: 7px
- display: inline-block
- padding-left: 24px
- margin: 0
- position: relative
- .arrow
- width: 17px
- display: inline-block
- vertical-align: top
- overflow: hidden
- margin-left: -5px
- span
- position: relative
- width: 24px
- height: 24px
- display: inline-block
- margin-left: -12px
- margin-top: 3px
- box-shadow: -1px 1px 2px rgba(255,255,255,0.2), inset -1px 1px 1px rgba(0,0,0,0.2)
- @include skew-gradient(#fcfcfc, #dedede)
- @include radius(3px)
- @include transform(rotate(45deg))
- li.oe_active
- @include vertical-gradient(#729fcf, #3465a4)
- .arrow span
- @include skew-gradient(#729fcf, #3465a4)
- .label
- color: white
- text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4
- ul.oe_form_steps_clickable
- li
- cursor: pointer
- &:hover
- @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
- .label
- text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
- .arrow span
- @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
- .label
- color: $link-color
- li.oe_active
- &:hover
- @include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
- .label
- text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
- .arrow span
- @include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
.oe_subtotal_footer
width: 1% !important
td.oe_form_group_cell
@@ -1878,9 +1805,75 @@ $sheet-max-width: 860px
margin-top: 10px
// }}}
// FormView.fieldstatus {{{
- .oe_form_field_status
- @include semantic-html-override
- @include ul-html-override
+ ul.oe_form_status, ul.oe_form_status_clickable
+ display: inline-block
+ margin: 0
+ padding: 0 18px 0 0
+ li
+ display: inline-block
+ list-style-type: none
+ margin: 0 -20px 0 0
+ padding: 0
+ @include vertical-gradient(#fcfcfc, #dedede)
+ &:first-child .label
+ border-left: 1px solid #cacaca
+ padding-left: 14px
+ &:last-child
+ border-right: 1px solid #cacaca
+ .label
+ padding-right: 14px
+ .arrow
+ display: none
+ .label
+ color: #4c4c4c
+ text-shadow: 0 1px 1px #fcfcfc, 0 -1px 1px #dedede
+ padding: 7px
+ display: inline-block
+ padding-left: 24px
+ margin: 0
+ position: relative
+ .arrow
+ width: 17px
+ display: inline-block
+ vertical-align: top
+ overflow: hidden
+ margin-left: -5px
+ span
+ position: relative
+ width: 24px
+ height: 24px
+ display: inline-block
+ margin-left: -12px
+ margin-top: 3px
+ box-shadow: -1px 1px 2px rgba(255,255,255,0.2), inset -1px 1px 1px rgba(0,0,0,0.2)
+ @include skew-gradient(#fcfcfc, #dedede)
+ @include radius(3px)
+ @include transform(rotate(45deg))
+ li.oe_active
+ @include vertical-gradient(#729fcf, #3465a4)
+ .arrow span
+ @include skew-gradient(#729fcf, #3465a4)
+ .label
+ color: white
+ text-shadow: 0 1px 1px #729fcf, 0 -1px 1px #3465a4
+ ul.oe_form_status_clickable
+ li
+ cursor: pointer
+ &:hover
+ @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
+ .label
+ text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
+ .arrow span
+ @include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
+ .label
+ color: $link-color
+ li.oe_active
+ &:hover
+ @include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
+ .label
+ text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
+ .arrow span
+ @include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
// }}}
// FormView.one2many {{{
.oe_form .oe_form_field_one2many > .oe_view_manager
@@ -1944,14 +1937,12 @@ $sheet-max-width: 860px
.oe_m2o_cm_button
display: none
.oe_form_field
- input
+ input, textarea
height: $row-height
input, textarea
@include radius(0)
border: 1px solid #aaf
margin: 0
- textarea
- height: 60px
&.oe_form_field_float,&.oe_form_view_integer
input
text-align: right
@@ -2170,15 +2161,6 @@ $sheet-max-width: 860px
float: right
color: #333
// }}}
- .oe_semantic_html // a style to use normal html
- li
- list-style-type: disc
- display: list-item
- ul
- padding-left: 1em
- p
- color: #4C4C4C !important
-
// Kitten Mode {{{
.kitten-mode-activated
background-image: url(http://placekitten.com/g/1365/769)
diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js
index 5f0ecc80827..295976eb639 100644
--- a/addons/web/static/src/js/coresetup.js
+++ b/addons/web/static/src/js/coresetup.js
@@ -156,30 +156,32 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
var to_load = _.difference(result, self.module_list).join(',');
self.module_list = all_modules;
- var loaded = $.Deferred().resolve().promise();
- if (to_load.length) {
+ var loaded = self.rpc('/web/webclient/translations', params).then(function(trans) {
+ instance.web._t.database.set_bundle(trans);
+ });
+ var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
+ if(to_load.length) {
loaded = $.when(
- self.rpc('/web/webclient/csslist', {mods: to_load}, self.do_load_css),
+ loaded,
+ self.rpc('/web/webclient/csslist', {mods: to_load}).then(self.do_load_css),
self.rpc('/web/webclient/qweblist', {mods: to_load}).pipe(self.do_load_qweb),
- self.rpc('/web/webclient/translations', params).pipe(function(trans) {
- instance.web._t.database.set_bundle(trans);
- var file_list = ["/web/static/lib/datejs/globalization/" + lang.replace("_", "-") + ".js"];
- return self.rpc('/web/webclient/jslist', {mods: to_load}).pipe(function(files) {
- return self.do_load_js(file_list.concat(files));
- }).then(function () {
- if (!Date.CultureInfo.pmDesignator) {
- // If no am/pm designator is specified but the openerp
- // datetime format uses %i, date.js won't be able to
- // correctly format a date. See bug#938497.
- Date.CultureInfo.amDesignator = 'AM';
- Date.CultureInfo.pmDesignator = 'PM';
- }
- });
- }))
+ self.rpc('/web/webclient/jslist', {mods: to_load}).then(function(files) {
+ file_list = file_list.concat(files);
+ })
+ );
}
- return loaded.then(function() {
+ return loaded.then(function () {
+ return self.do_load_js(file_list);
+ }).then(function() {
self.on_modules_loaded();
self.trigger('module_loaded');
+ if (!Date.CultureInfo.pmDesignator) {
+ // If no am/pm designator is specified but the openerp
+ // datetime format uses %i, date.js won't be able to
+ // correctly format a date. See bug#938497.
+ Date.CultureInfo.amDesignator = 'AM';
+ Date.CultureInfo.pmDesignator = 'PM';
+ }
});
});
},
diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js
index 08c9b96660e..7d328f012fe 100644
--- a/addons/web/static/src/js/view_form.js
+++ b/addons/web/static/src/js/view_form.js
@@ -321,7 +321,7 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
}
this.datarecord = record;
this._actualize_mode();
- this.set({ 'title' : record.id ? record.display_name : "New record" });
+ this.set({ 'title' : record.id ? record.display_name : "New" });
if (this.qweb) {
this.kill_current_form();
@@ -1399,6 +1399,10 @@ instance.web.form.FormRenderingEngine = instance.web.form.FormRenderingEngineInt
if (! page.__ic)
return;
page.__ic.on("change:effective_invisible", null, function() {
+ if (!page.__ic.get('effective_invisible')) {
+ $new_notebook.tabs('select', i);
+ return;
+ }
var current = $new_notebook.tabs("option", "selected");
if (! pages[current].__ic || ! pages[current].__ic.get("effective_invisible"))
return;
@@ -2400,10 +2404,6 @@ instance.web.form.FieldTextHtml = instance.web.form.AbstractField.extend(instanc
template: 'FieldTextHtml',
init: function() {
this._super.apply(this, arguments);
- if (this.field.type !== 'html' && ! this.options.safe) {
- throw new Error(_.str.sprintf(
- _t("Error with field %s, it is not allowed to use the widget 'html' with any other field type than 'html'"), this.string));
- }
},
initialize_content: function() {
var self = this;
@@ -2437,7 +2437,7 @@ instance.web.form.FieldTextHtml = instance.web.form.AbstractField.extend(instanc
},
render_value: function() {
if (! this.get("effective_readonly")) {
- this.$textarea.val(this.get('value'));
+ this.$textarea.val(this.get('value') || '');
this._updating_editor = true;
this.$cleditor.updateFrame();
this._updating_editor = false;
@@ -2712,8 +2712,10 @@ instance.web.form.CompletionFieldMixin = {
_create_context: function(name) {
var tmp = {};
var field = (this.options || {}).create_name_field;
- if (field !== false && (this.options || {}).quick_create !== false)
- tmp["default_" + field] = name || "name";
+ if (field === undefined)
+ field = "name";
+ if (field !== false && name && (this.options || {}).quick_create !== false)
+ tmp["default_" + field] = name;
return tmp;
},
};
@@ -2773,7 +2775,8 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
this.$drop_down = this.$el.find(".oe_m2o_drop_down_button");
this.$follow_button = $(".oe_m2o_cm_button", this.$el);
- this.$follow_button.click(function() {
+ this.$follow_button.click(function(ev) {
+ ev.preventDefault();
if (!self.get('value')) {
self.focus();
return;
@@ -2951,14 +2954,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
var lines = _.escape(str).split("\n");
var link = "";
var follow = "";
- if (! this.options.highlight_first_line) {
- link = lines.join("<br />");
- } else {
- link = lines[0];
- follow = _.rest(lines).join("<br />");
- if (follow)
- link += "<br />";
- }
+ link = lines[0];
+ follow = _.rest(lines).join("<br />");
+ if (follow)
+ link += "<br />";
var $link = this.$el.find('.oe_form_uri')
.unbind('click')
.html(link);
diff --git a/addons/web/static/src/js/views.js b/addons/web/static/src/js/views.js
index 2dffe9520a1..02297e9db01 100644
--- a/addons/web/static/src/js/views.js
+++ b/addons/web/static/src/js/views.js
@@ -20,7 +20,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
},
start: function() {
this._super.apply(this, arguments);
- this.$el.on('click', '.oe_breadcrumb_item', this.on_breadcrumb_clicked);
+ this.$el.on('click', 'a.oe_breadcrumb_item', this.on_breadcrumb_clicked);
},
dialog_stop: function () {
if (this.dialog) {
@@ -95,7 +95,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
break;
}
}
- var subindex = $e.parent().find('.oe_breadcrumb_item[data-id=' + $e.data('id') + ']').index($e);
+ var subindex = $e.parent().find('a.oe_breadcrumb_item[data-id=' + $e.data('id') + ']').index($e);
this.select_breadcrumb(index, subindex);
},
select_breadcrumb: function(index, subindex) {
@@ -148,7 +148,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
for (var j = 0; j < tit.length; j += 1) {
var label = _.escape(tit[j]);
if (i === this.breadcrumbs.length - 1 && j === tit.length - 1) {
- titles.push(label);
+ titles.push(_.str.sprintf('<span class="oe_breadcrumb_item">%s</span>', label));
} else {
titles.push(_.str.sprintf('<a href="#" class="oe_breadcrumb_item" data-id="%s">%s</a>', item.id, label));
}
@@ -566,7 +566,8 @@ instance.web.ViewManager = instance.web.Widget.extend({
}
return controller.get('title');
});
- if (next && next.action && next.action.res_id && self.active_view === 'form' && self.model === next.action.res_model && id === next.action.res_id) {
+ if (next && next.action && next.action.res_id && self.dataset &&
+ self.active_view === 'form' && self.dataset.model === next.action.res_model && id === next.action.res_id) {
// If the current active view is a formview and the next item in the breadcrumbs
// is an action on same object (model / res_id), then we omit the current formview's title
titles.pop();
@@ -836,6 +837,21 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
}
});
break;
+ case 'print_workflow':
+ if (current_view.get_selected_ids && current_view.get_selected_ids().length == 1) {
+ instance.web.blockUI();
+ var action = {
+ context: { active_ids: current_view.get_selected_ids() },
+ report_name: "workflow.instance.graph",
+ datas: {
+ model: this.dataset.model,
+ id: current_view.get_selected_ids()[0],
+ nested: true,
+ }
+ };
+ this.session.get_file({ url: '/web/report', data: {action: JSON.stringify(action)}, complete: instance.web.unblockUI });
+ }
+ break;
default:
if (val) {
console.log("No debug handler for ", val);
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index a595bb9e495..b6b89a4f1ec 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -427,9 +427,9 @@
<div class="oe_view_manager">
<table class="oe_view_manager_header">
<col width="20%"/>
- <col width="25%"/>
- <col width="20%"/>
<col width="35%"/>
+ <col width="15%"/>
+ <col width="30%"/>
<tr class="oe_header_row oe_header_row_top">
<td colspan="2">
<h2 class="oe_view_title" t-if="widget.flags.display_title !== false">
@@ -487,6 +487,7 @@
<option t-if="view_manager.searchview" value="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id">Edit SearchView</option>
<option t-if="view_manager.action" value="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id">Edit Action</option>
<option value="edit_workflow">Edit Workflow</option>
+ <option value="print_workflow">Print Workflow</option>
</t>
</t>
<t t-name="ViewManagerDebugViewLog">
@@ -1062,7 +1063,7 @@
</span>
</t>
<t t-name="FieldStatus">
- <ul t-att-class="'oe_form_field_status ' + (widget.options.clickable ? 'oe_form_steps_clickable' : 'oe_form_steps')" t-att-style="widget.node.attrs.style"/>
+ <ul t-att-class="'oe_form_field_status ' + (widget.options.clickable ? 'oe_form_status_clickable' : 'oe_form_status')" t-att-style="widget.node.attrs.style"/>
</t>
<t t-name="FieldStatus.content">
<t t-foreach="widget.selection" t-as="i">