From 022bff6dc3284d51b5f61c50c67ee7e3710f4ec6 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Mon, 15 Jul 2013 14:28:59 +0200 Subject: Added font awesome and jquery hotkeys bzr revid: al@openerp.com-20130715122859-tsvmd1d89du6x094 --- addons/web/__openerp__.py | 2 + .../static/lib/fontawesome/css/font-awesome.css | 1479 ++++++++++++++++++++ .../static/lib/fontawesome/font/FontAwesome.otf | Bin 0 -> 61896 bytes .../lib/fontawesome/font/fontawesome-webfont.eot | Bin 0 -> 37405 bytes .../lib/fontawesome/font/fontawesome-webfont.svg | 399 ++++++ .../lib/fontawesome/font/fontawesome-webfont.ttf | Bin 0 -> 79076 bytes .../lib/fontawesome/font/fontawesome-webfont.woff | Bin 0 -> 43572 bytes addons/web/static/lib/jquery.hotkeys/README.md | 45 + .../static/lib/jquery.hotkeys/jquery.hotkeys.js | 99 ++ 9 files changed, 2024 insertions(+) create mode 100644 addons/web/static/lib/fontawesome/css/font-awesome.css create mode 100644 addons/web/static/lib/fontawesome/font/FontAwesome.otf create mode 100755 addons/web/static/lib/fontawesome/font/fontawesome-webfont.eot create mode 100755 addons/web/static/lib/fontawesome/font/fontawesome-webfont.svg create mode 100755 addons/web/static/lib/fontawesome/font/fontawesome-webfont.ttf create mode 100755 addons/web/static/lib/fontawesome/font/fontawesome-webfont.woff create mode 100644 addons/web/static/lib/jquery.hotkeys/README.md create mode 100644 addons/web/static/lib/jquery.hotkeys/jquery.hotkeys.js (limited to 'addons/web') diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index e8c2dd903d0..37badc6597d 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -27,6 +27,7 @@ This module provides the core of the OpenERP Web Client. "static/lib/spinjs/spin.js", "static/lib/jquery.autosize/jquery.autosize.js", "static/lib/jquery.blockUI/jquery.blockUI.js", + "static/lib/jquery.hotkeys/jquery.hotkeys.js", "static/lib/jquery.placeholder/jquery.placeholder.js", "static/lib/jquery.ui/js/jquery-ui-1.9.1.custom.js", "static/lib/jquery.ui.timepicker/js/jquery-ui-timepicker-addon.js", @@ -65,6 +66,7 @@ This module provides the core of the OpenERP Web Client. "static/lib/jquery.ui.notify/css/ui.notify.css", "static/lib/jquery.tipsy/tipsy.css", "static/lib/jquery.textext/jquery.textext.css", + "static/lib/fontawesome/css/font-awesome.css", "static/src/css/base.css", "static/src/css/data_export.css", "static/lib/cleditor/jquery.cleditor.css", diff --git a/addons/web/static/lib/fontawesome/css/font-awesome.css b/addons/web/static/lib/fontawesome/css/font-awesome.css new file mode 100644 index 00000000000..7ede1828a78 --- /dev/null +++ b/addons/web/static/lib/fontawesome/css/font-awesome.css @@ -0,0 +1,1479 @@ +/*! + * Font Awesome 3.2.1 + * the iconic font designed for Bootstrap + * ------------------------------------------------------------------------------ + * The full suite of pictographic icons, examples, and documentation can be + * found at http://fontawesome.io. Stay up to date on Twitter at + * http://twitter.com/fontawesome. + * + * License + * ------------------------------------------------------------------------------ + * - The Font Awesome font is licensed under SIL OFL 1.1 - + * http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under MIT License - + * http://opensource.org/licenses/mit-license.html + * - Font Awesome documentation licensed under CC BY 3.0 - + * http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fontawesome.io" + * + * Author - Dave Gandy + * ------------------------------------------------------------------------------ + * Email: dave@fontawesome.io + * Twitter: http://twitter.com/davegandy + * Work: Lead Product Designer @ Kyruus - http://kyruus.com + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../font/fontawesome-webfont.eot?v=3.2.1'); + src: url('../font/fontawesome-webfont.eot?#iefix&v=3.2.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.2.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.2.1') format('truetype'), url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1') format('svg'); + font-weight: normal; + font-style: normal; +} +/* FONT AWESOME CORE + * -------------------------- */ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + *margin-right: .3em; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} +/* makes sure icons active on rollover in links */ +a [class^="icon-"], +a [class*=" icon-"] { + display: inline; +} +/* increased font size for icon-large */ +[class^="icon-"].icon-fixed-width, +[class*=" icon-"].icon-fixed-width { + display: inline-block; + width: 1.1428571428571428em; + text-align: right; + padding-right: 0.2857142857142857em; +} +[class^="icon-"].icon-fixed-width.icon-large, +[class*=" icon-"].icon-fixed-width.icon-large { + width: 1.4285714285714286em; +} +.icons-ul { + margin-left: 2.142857142857143em; + list-style-type: none; +} +.icons-ul > li { + position: relative; +} +.icons-ul .icon-li { + position: absolute; + left: -2.142857142857143em; + width: 2.142857142857143em; + text-align: center; + line-height: inherit; +} +[class^="icon-"].hide, +[class*=" icon-"].hide { + display: none; +} +.icon-muted { + color: #eeeeee; +} +.icon-light { + color: #ffffff; +} +.icon-dark { + color: #333333; +} +.icon-border { + border: solid 1px #eeeeee; + padding: .2em .25em .15em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.icon-2x { + font-size: 2em; +} +.icon-2x.icon-border { + border-width: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.icon-3x { + font-size: 3em; +} +.icon-3x.icon-border { + border-width: 3px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.icon-4x { + font-size: 4em; +} +.icon-4x.icon-border { + border-width: 4px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.icon-5x { + font-size: 5em; +} +.icon-5x.icon-border { + border-width: 5px; + -webkit-border-radius: 7px; + -moz-border-radius: 7px; + border-radius: 7px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +[class^="icon-"].pull-left, +[class*=" icon-"].pull-left { + margin-right: .3em; +} +[class^="icon-"].pull-right, +[class*=" icon-"].pull-right { + margin-left: .3em; +} +/* BOOTSTRAP SPECIFIC CLASSES + * -------------------------- */ +/* Bootstrap 2.0 sprites.less reset */ +[class^="icon-"], +[class*=" icon-"] { + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none; + background-position: 0% 0%; + background-repeat: repeat; + margin-top: 0; +} +/* more sprites.less reset */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: none; +} +/* keeps Bootstrap styles with and without icons the same */ +.btn [class^="icon-"].icon-large, +.nav [class^="icon-"].icon-large, +.btn [class*=" icon-"].icon-large, +.nav [class*=" icon-"].icon-large { + line-height: .9em; +} +.btn [class^="icon-"].icon-spin, +.nav [class^="icon-"].icon-spin, +.btn [class*=" icon-"].icon-spin, +.nav [class*=" icon-"].icon-spin { + display: inline-block; +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"], +.nav-tabs [class^="icon-"].icon-large, +.nav-pills [class^="icon-"].icon-large, +.nav-tabs [class*=" icon-"].icon-large, +.nav-pills [class*=" icon-"].icon-large { + line-height: .9em; +} +.btn [class^="icon-"].pull-left.icon-2x, +.btn [class*=" icon-"].pull-left.icon-2x, +.btn [class^="icon-"].pull-right.icon-2x, +.btn [class*=" icon-"].pull-right.icon-2x { + margin-top: .18em; +} +.btn [class^="icon-"].icon-spin.icon-large, +.btn [class*=" icon-"].icon-spin.icon-large { + line-height: .8em; +} +.btn.btn-small [class^="icon-"].pull-left.icon-2x, +.btn.btn-small [class*=" icon-"].pull-left.icon-2x, +.btn.btn-small [class^="icon-"].pull-right.icon-2x, +.btn.btn-small [class*=" icon-"].pull-right.icon-2x { + margin-top: .25em; +} +.btn.btn-large [class^="icon-"], +.btn.btn-large [class*=" icon-"] { + margin-top: 0; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x, +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-top: .05em; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x { + margin-right: .2em; +} +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-left: .2em; +} +/* Fixes alignment in nav lists */ +.nav-list [class^="icon-"], +.nav-list [class*=" icon-"] { + line-height: inherit; +} +/* EXTRAS + * -------------------------- */ +/* Stacked and layered icon */ +.icon-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: -35%; +} +.icon-stack [class^="icon-"], +.icon-stack [class*=" icon-"] { + display: block; + text-align: center; + position: absolute; + width: 100%; + height: 100%; + font-size: 1em; + line-height: inherit; + *line-height: 2em; +} +.icon-stack .icon-stack-base { + font-size: 2em; + *line-height: 1em; +} +/* Animated rotating icon */ +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +/* Prevent stack and spinners from being taken inline when inside a link */ +a .icon-stack, +a .icon-spin { + display: inline-block; + text-decoration: none; +} +@-moz-keyframes spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(359deg); + } +} +@-webkit-keyframes spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + } +} +@-o-keyframes spin { + 0% { + -o-transform: rotate(0deg); + } + 100% { + -o-transform: rotate(359deg); + } +} +@-ms-keyframes spin { + 0% { + -ms-transform: rotate(0deg); + } + 100% { + -ms-transform: rotate(359deg); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(359deg); + } +} +/* Icon rotations and mirroring */ +.icon-rotate-90:before { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); +} +.icon-rotate-180:before { + -webkit-transform: rotate(180deg); + -moz-transform: rotate(180deg); + -ms-transform: rotate(180deg); + -o-transform: rotate(180deg); + transform: rotate(180deg); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); +} +.icon-rotate-270:before { + -webkit-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -ms-transform: rotate(270deg); + -o-transform: rotate(270deg); + transform: rotate(270deg); + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); +} +.icon-flip-horizontal:before { + -webkit-transform: scale(-1, 1); + -moz-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + -o-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.icon-flip-vertical:before { + -webkit-transform: scale(1, -1); + -moz-transform: scale(1, -1); + -ms-transform: scale(1, -1); + -o-transform: scale(1, -1); + transform: scale(1, -1); +} +/* ensure rotation occurs inside anchor tags */ +a .icon-rotate-90:before, +a .icon-rotate-180:before, +a .icon-rotate-270:before, +a .icon-flip-horizontal:before, +a .icon-flip-vertical:before { + display: inline-block; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { + content: "\f000"; +} +.icon-music:before { + content: "\f001"; +} +.icon-search:before { + content: "\f002"; +} +.icon-envelope-alt:before { + content: "\f003"; +} +.icon-heart:before { + content: "\f004"; +} +.icon-star:before { + content: "\f005"; +} +.icon-star-empty:before { + content: "\f006"; +} +.icon-user:before { + content: "\f007"; +} +.icon-film:before { + content: "\f008"; +} +.icon-th-large:before { + content: "\f009"; +} +.icon-th:before { + content: "\f00a"; +} +.icon-th-list:before { + content: "\f00b"; +} +.icon-ok:before { + content: "\f00c"; +} +.icon-remove:before { + content: "\f00d"; +} +.icon-zoom-in:before { + content: "\f00e"; +} +.icon-zoom-out:before { + content: "\f010"; +} +.icon-power-off:before, +.icon-off:before { + content: "\f011"; +} +.icon-signal:before { + content: "\f012"; +} +.icon-gear:before, +.icon-cog:before { + content: "\f013"; +} +.icon-trash:before { + content: "\f014"; +} +.icon-home:before { + content: "\f015"; +} +.icon-file-alt:before { + content: "\f016"; +} +.icon-time:before { + content: "\f017"; +} +.icon-road:before { + content: "\f018"; +} +.icon-download-alt:before { + content: "\f019"; +} +.icon-download:before { + content: "\f01a"; +} +.icon-upload:before { + content: "\f01b"; +} +.icon-inbox:before { + content: "\f01c"; +} +.icon-play-circle:before { + content: "\f01d"; +} +.icon-rotate-right:before, +.icon-repeat:before { + content: "\f01e"; +} +.icon-refresh:before { + content: "\f021"; +} +.icon-list-alt:before { + content: "\f022"; +} +.icon-lock:before { + content: "\f023"; +} +.icon-flag:before { + content: "\f024"; +} +.icon-headphones:before { + content: "\f025"; +} +.icon-volume-off:before { + content: "\f026"; +} +.icon-volume-down:before { + content: "\f027"; +} +.icon-volume-up:before { + content: "\f028"; +} +.icon-qrcode:before { + content: "\f029"; +} +.icon-barcode:before { + content: "\f02a"; +} +.icon-tag:before { + content: "\f02b"; +} +.icon-tags:before { + content: "\f02c"; +} +.icon-book:before { + content: "\f02d"; +} +.icon-bookmark:before { + content: "\f02e"; +} +.icon-print:before { + content: "\f02f"; +} +.icon-camera:before { + content: "\f030"; +} +.icon-font:before { + content: "\f031"; +} +.icon-bold:before { + content: "\f032"; +} +.icon-italic:before { + content: "\f033"; +} +.icon-text-height:before { + content: "\f034"; +} +.icon-text-width:before { + content: "\f035"; +} +.icon-align-left:before { + content: "\f036"; +} +.icon-align-center:before { + content: "\f037"; +} +.icon-align-right:before { + content: "\f038"; +} +.icon-align-justify:before { + content: "\f039"; +} +.icon-list:before { + content: "\f03a"; +} +.icon-indent-left:before { + content: "\f03b"; +} +.icon-indent-right:before { + content: "\f03c"; +} +.icon-facetime-video:before { + content: "\f03d"; +} +.icon-picture:before { + content: "\f03e"; +} +.icon-pencil:before { + content: "\f040"; +} +.icon-map-marker:before { + content: "\f041"; +} +.icon-adjust:before { + content: "\f042"; +} +.icon-tint:before { + content: "\f043"; +} +.icon-edit:before { + content: "\f044"; +} +.icon-share:before { + content: "\f045"; +} +.icon-check:before { + content: "\f046"; +} +.icon-move:before { + content: "\f047"; +} +.icon-step-backward:before { + content: "\f048"; +} +.icon-fast-backward:before { + content: "\f049"; +} +.icon-backward:before { + content: "\f04a"; +} +.icon-play:before { + content: "\f04b"; +} +.icon-pause:before { + content: "\f04c"; +} +.icon-stop:before { + content: "\f04d"; +} +.icon-forward:before { + content: "\f04e"; +} +.icon-fast-forward:before { + content: "\f050"; +} +.icon-step-forward:before { + content: "\f051"; +} +.icon-eject:before { + content: "\f052"; +} +.icon-chevron-left:before { + content: "\f053"; +} +.icon-chevron-right:before { + content: "\f054"; +} +.icon-plus-sign:before { + content: "\f055"; +} +.icon-minus-sign:before { + content: "\f056"; +} +.icon-remove-sign:before { + content: "\f057"; +} +.icon-ok-sign:before { + content: "\f058"; +} +.icon-question-sign:before { + content: "\f059"; +} +.icon-info-sign:before { + content: "\f05a"; +} +.icon-screenshot:before { + content: "\f05b"; +} +.icon-remove-circle:before { + content: "\f05c"; +} +.icon-ok-circle:before { + content: "\f05d"; +} +.icon-ban-circle:before { + content: "\f05e"; +} +.icon-arrow-left:before { + content: "\f060"; +} +.icon-arrow-right:before { + content: "\f061"; +} +.icon-arrow-up:before { + content: "\f062"; +} +.icon-arrow-down:before { + content: "\f063"; +} +.icon-mail-forward:before, +.icon-share-alt:before { + content: "\f064"; +} +.icon-resize-full:before { + content: "\f065"; +} +.icon-resize-small:before { + content: "\f066"; +} +.icon-plus:before { + content: "\f067"; +} +.icon-minus:before { + content: "\f068"; +} +.icon-asterisk:before { + content: "\f069"; +} +.icon-exclamation-sign:before { + content: "\f06a"; +} +.icon-gift:before { + content: "\f06b"; +} +.icon-leaf:before { + content: "\f06c"; +} +.icon-fire:before { + content: "\f06d"; +} +.icon-eye-open:before { + content: "\f06e"; +} +.icon-eye-close:before { + content: "\f070"; +} +.icon-warning-sign:before { + content: "\f071"; +} +.icon-plane:before { + content: "\f072"; +} +.icon-calendar:before { + content: "\f073"; +} +.icon-random:before { + content: "\f074"; +} +.icon-comment:before { + content: "\f075"; +} +.icon-magnet:before { + content: "\f076"; +} +.icon-chevron-up:before { + content: "\f077"; +} +.icon-chevron-down:before { + content: "\f078"; +} +.icon-retweet:before { + content: "\f079"; +} +.icon-shopping-cart:before { + content: "\f07a"; +} +.icon-folder-close:before { + content: "\f07b"; +} +.icon-folder-open:before { + content: "\f07c"; +} +.icon-resize-vertical:before { + content: "\f07d"; +} +.icon-resize-horizontal:before { + content: "\f07e"; +} +.icon-bar-chart:before { + content: "\f080"; +} +.icon-twitter-sign:before { + content: "\f081"; +} +.icon-facebook-sign:before { + content: "\f082"; +} +.icon-camera-retro:before { + content: "\f083"; +} +.icon-key:before { + content: "\f084"; +} +.icon-gears:before, +.icon-cogs:before { + content: "\f085"; +} +.icon-comments:before { + content: "\f086"; +} +.icon-thumbs-up-alt:before { + content: "\f087"; +} +.icon-thumbs-down-alt:before { + content: "\f088"; +} +.icon-star-half:before { + content: "\f089"; +} +.icon-heart-empty:before { + content: "\f08a"; +} +.icon-signout:before { + content: "\f08b"; +} +.icon-linkedin-sign:before { + content: "\f08c"; +} +.icon-pushpin:before { + content: "\f08d"; +} +.icon-external-link:before { + content: "\f08e"; +} +.icon-signin:before { + content: "\f090"; +} +.icon-trophy:before { + content: "\f091"; +} +.icon-github-sign:before { + content: "\f092"; +} +.icon-upload-alt:before { + content: "\f093"; +} +.icon-lemon:before { + content: "\f094"; +} +.icon-phone:before { + content: "\f095"; +} +.icon-unchecked:before, +.icon-check-empty:before { + content: "\f096"; +} +.icon-bookmark-empty:before { + content: "\f097"; +} +.icon-phone-sign:before { + content: "\f098"; +} +.icon-twitter:before { + content: "\f099"; +} +.icon-facebook:before { + content: "\f09a"; +} +.icon-github:before { + content: "\f09b"; +} +.icon-unlock:before { + content: "\f09c"; +} +.icon-credit-card:before { + content: "\f09d"; +} +.icon-rss:before { + content: "\f09e"; +} +.icon-hdd:before { + content: "\f0a0"; +} +.icon-bullhorn:before { + content: "\f0a1"; +} +.icon-bell:before { + content: "\f0a2"; +} +.icon-certificate:before { + content: "\f0a3"; +} +.icon-hand-right:before { + content: "\f0a4"; +} +.icon-hand-left:before { + content: "\f0a5"; +} +.icon-hand-up:before { + content: "\f0a6"; +} +.icon-hand-down:before { + content: "\f0a7"; +} +.icon-circle-arrow-left:before { + content: "\f0a8"; +} +.icon-circle-arrow-right:before { + content: "\f0a9"; +} +.icon-circle-arrow-up:before { + content: "\f0aa"; +} +.icon-circle-arrow-down:before { + content: "\f0ab"; +} +.icon-globe:before { + content: "\f0ac"; +} +.icon-wrench:before { + content: "\f0ad"; +} +.icon-tasks:before { + content: "\f0ae"; +} +.icon-filter:before { + content: "\f0b0"; +} +.icon-briefcase:before { + content: "\f0b1"; +} +.icon-fullscreen:before { + content: "\f0b2"; +} +.icon-group:before { + content: "\f0c0"; +} +.icon-link:before { + content: "\f0c1"; +} +.icon-cloud:before { + content: "\f0c2"; +} +.icon-beaker:before { + content: "\f0c3"; +} +.icon-cut:before { + content: "\f0c4"; +} +.icon-copy:before { + content: "\f0c5"; +} +.icon-paperclip:before, +.icon-paper-clip:before { + content: "\f0c6"; +} +.icon-save:before { + content: "\f0c7"; +} +.icon-sign-blank:before { + content: "\f0c8"; +} +.icon-reorder:before { + content: "\f0c9"; +} +.icon-list-ul:before { + content: "\f0ca"; +} +.icon-list-ol:before { + content: "\f0cb"; +} +.icon-strikethrough:before { + content: "\f0cc"; +} +.icon-underline:before { + content: "\f0cd"; +} +.icon-table:before { + content: "\f0ce"; +} +.icon-magic:before { + content: "\f0d0"; +} +.icon-truck:before { + content: "\f0d1"; +} +.icon-pinterest:before { + content: "\f0d2"; +} +.icon-pinterest-sign:before { + content: "\f0d3"; +} +.icon-google-plus-sign:before { + content: "\f0d4"; +} +.icon-google-plus:before { + content: "\f0d5"; +} +.icon-money:before { + content: "\f0d6"; +} +.icon-caret-down:before { + content: "\f0d7"; +} +.icon-caret-up:before { + content: "\f0d8"; +} +.icon-caret-left:before { + content: "\f0d9"; +} +.icon-caret-right:before { + content: "\f0da"; +} +.icon-columns:before { + content: "\f0db"; +} +.icon-sort:before { + content: "\f0dc"; +} +.icon-sort-down:before { + content: "\f0dd"; +} +.icon-sort-up:before { + content: "\f0de"; +} +.icon-envelope:before { + content: "\f0e0"; +} +.icon-linkedin:before { + content: "\f0e1"; +} +.icon-rotate-left:before, +.icon-undo:before { + content: "\f0e2"; +} +.icon-legal:before { + content: "\f0e3"; +} +.icon-dashboard:before { + content: "\f0e4"; +} +.icon-comment-alt:before { + content: "\f0e5"; +} +.icon-comments-alt:before { + content: "\f0e6"; +} +.icon-bolt:before { + content: "\f0e7"; +} +.icon-sitemap:before { + content: "\f0e8"; +} +.icon-umbrella:before { + content: "\f0e9"; +} +.icon-paste:before { + content: "\f0ea"; +} +.icon-lightbulb:before { + content: "\f0eb"; +} +.icon-exchange:before { + content: "\f0ec"; +} +.icon-cloud-download:before { + content: "\f0ed"; +} +.icon-cloud-upload:before { + content: "\f0ee"; +} +.icon-user-md:before { + content: "\f0f0"; +} +.icon-stethoscope:before { + content: "\f0f1"; +} +.icon-suitcase:before { + content: "\f0f2"; +} +.icon-bell-alt:before { + content: "\f0f3"; +} +.icon-coffee:before { + content: "\f0f4"; +} +.icon-food:before { + content: "\f0f5"; +} +.icon-file-text-alt:before { + content: "\f0f6"; +} +.icon-building:before { + content: "\f0f7"; +} +.icon-hospital:before { + content: "\f0f8"; +} +.icon-ambulance:before { + content: "\f0f9"; +} +.icon-medkit:before { + content: "\f0fa"; +} +.icon-fighter-jet:before { + content: "\f0fb"; +} +.icon-beer:before { + content: "\f0fc"; +} +.icon-h-sign:before { + content: "\f0fd"; +} +.icon-plus-sign-alt:before { + content: "\f0fe"; +} +.icon-double-angle-left:before { + content: "\f100"; +} +.icon-double-angle-right:before { + content: "\f101"; +} +.icon-double-angle-up:before { + content: "\f102"; +} +.icon-double-angle-down:before { + content: "\f103"; +} +.icon-angle-left:before { + content: "\f104"; +} +.icon-angle-right:before { + content: "\f105"; +} +.icon-angle-up:before { + content: "\f106"; +} +.icon-angle-down:before { + content: "\f107"; +} +.icon-desktop:before { + content: "\f108"; +} +.icon-laptop:before { + content: "\f109"; +} +.icon-tablet:before { + content: "\f10a"; +} +.icon-mobile-phone:before { + content: "\f10b"; +} +.icon-circle-blank:before { + content: "\f10c"; +} +.icon-quote-left:before { + content: "\f10d"; +} +.icon-quote-right:before { + content: "\f10e"; +} +.icon-spinner:before { + content: "\f110"; +} +.icon-circle:before { + content: "\f111"; +} +.icon-mail-reply:before, +.icon-reply:before { + content: "\f112"; +} +.icon-github-alt:before { + content: "\f113"; +} +.icon-folder-close-alt:before { + content: "\f114"; +} +.icon-folder-open-alt:before { + content: "\f115"; +} +.icon-expand-alt:before { + content: "\f116"; +} +.icon-collapse-alt:before { + content: "\f117"; +} +.icon-smile:before { + content: "\f118"; +} +.icon-frown:before { + content: "\f119"; +} +.icon-meh:before { + content: "\f11a"; +} +.icon-gamepad:before { + content: "\f11b"; +} +.icon-keyboard:before { + content: "\f11c"; +} +.icon-flag-alt:before { + content: "\f11d"; +} +.icon-flag-checkered:before { + content: "\f11e"; +} +.icon-terminal:before { + content: "\f120"; +} +.icon-code:before { + content: "\f121"; +} +.icon-reply-all:before { + content: "\f122"; +} +.icon-mail-reply-all:before { + content: "\f122"; +} +.icon-star-half-full:before, +.icon-star-half-empty:before { + content: "\f123"; +} +.icon-location-arrow:before { + content: "\f124"; +} +.icon-crop:before { + content: "\f125"; +} +.icon-code-fork:before { + content: "\f126"; +} +.icon-unlink:before { + content: "\f127"; +} +.icon-question:before { + content: "\f128"; +} +.icon-info:before { + content: "\f129"; +} +.icon-exclamation:before { + content: "\f12a"; +} +.icon-superscript:before { + content: "\f12b"; +} +.icon-subscript:before { + content: "\f12c"; +} +.icon-eraser:before { + content: "\f12d"; +} +.icon-puzzle-piece:before { + content: "\f12e"; +} +.icon-microphone:before { + content: "\f130"; +} +.icon-microphone-off:before { + content: "\f131"; +} +.icon-shield:before { + content: "\f132"; +} +.icon-calendar-empty:before { + content: "\f133"; +} +.icon-fire-extinguisher:before { + content: "\f134"; +} +.icon-rocket:before { + content: "\f135"; +} +.icon-maxcdn:before { + content: "\f136"; +} +.icon-chevron-sign-left:before { + content: "\f137"; +} +.icon-chevron-sign-right:before { + content: "\f138"; +} +.icon-chevron-sign-up:before { + content: "\f139"; +} +.icon-chevron-sign-down:before { + content: "\f13a"; +} +.icon-html5:before { + content: "\f13b"; +} +.icon-css3:before { + content: "\f13c"; +} +.icon-anchor:before { + content: "\f13d"; +} +.icon-unlock-alt:before { + content: "\f13e"; +} +.icon-bullseye:before { + content: "\f140"; +} +.icon-ellipsis-horizontal:before { + content: "\f141"; +} +.icon-ellipsis-vertical:before { + content: "\f142"; +} +.icon-rss-sign:before { + content: "\f143"; +} +.icon-play-sign:before { + content: "\f144"; +} +.icon-ticket:before { + content: "\f145"; +} +.icon-minus-sign-alt:before { + content: "\f146"; +} +.icon-check-minus:before { + content: "\f147"; +} +.icon-level-up:before { + content: "\f148"; +} +.icon-level-down:before { + content: "\f149"; +} +.icon-check-sign:before { + content: "\f14a"; +} +.icon-edit-sign:before { + content: "\f14b"; +} +.icon-external-link-sign:before { + content: "\f14c"; +} +.icon-share-sign:before { + content: "\f14d"; +} +.icon-compass:before { + content: "\f14e"; +} +.icon-collapse:before { + content: "\f150"; +} +.icon-collapse-top:before { + content: "\f151"; +} +.icon-expand:before { + content: "\f152"; +} +.icon-euro:before, +.icon-eur:before { + content: "\f153"; +} +.icon-gbp:before { + content: "\f154"; +} +.icon-dollar:before, +.icon-usd:before { + content: "\f155"; +} +.icon-rupee:before, +.icon-inr:before { + content: "\f156"; +} +.icon-yen:before, +.icon-jpy:before { + content: "\f157"; +} +.icon-renminbi:before, +.icon-cny:before { + content: "\f158"; +} +.icon-won:before, +.icon-krw:before { + content: "\f159"; +} +.icon-bitcoin:before, +.icon-btc:before { + content: "\f15a"; +} +.icon-file:before { + content: "\f15b"; +} +.icon-file-text:before { + content: "\f15c"; +} +.icon-sort-by-alphabet:before { + content: "\f15d"; +} +.icon-sort-by-alphabet-alt:before { + content: "\f15e"; +} +.icon-sort-by-attributes:before { + content: "\f160"; +} +.icon-sort-by-attributes-alt:before { + content: "\f161"; +} +.icon-sort-by-order:before { + content: "\f162"; +} +.icon-sort-by-order-alt:before { + content: "\f163"; +} +.icon-thumbs-up:before { + content: "\f164"; +} +.icon-thumbs-down:before { + content: "\f165"; +} +.icon-youtube-sign:before { + content: "\f166"; +} +.icon-youtube:before { + content: "\f167"; +} +.icon-xing:before { + content: "\f168"; +} +.icon-xing-sign:before { + content: "\f169"; +} +.icon-youtube-play:before { + content: "\f16a"; +} +.icon-dropbox:before { + content: "\f16b"; +} +.icon-stackexchange:before { + content: "\f16c"; +} +.icon-instagram:before { + content: "\f16d"; +} +.icon-flickr:before { + content: "\f16e"; +} +.icon-adn:before { + content: "\f170"; +} +.icon-bitbucket:before { + content: "\f171"; +} +.icon-bitbucket-sign:before { + content: "\f172"; +} +.icon-tumblr:before { + content: "\f173"; +} +.icon-tumblr-sign:before { + content: "\f174"; +} +.icon-long-arrow-down:before { + content: "\f175"; +} +.icon-long-arrow-up:before { + content: "\f176"; +} +.icon-long-arrow-left:before { + content: "\f177"; +} +.icon-long-arrow-right:before { + content: "\f178"; +} +.icon-apple:before { + content: "\f179"; +} +.icon-windows:before { + content: "\f17a"; +} +.icon-android:before { + content: "\f17b"; +} +.icon-linux:before { + content: "\f17c"; +} +.icon-dribbble:before { + content: "\f17d"; +} +.icon-skype:before { + content: "\f17e"; +} +.icon-foursquare:before { + content: "\f180"; +} +.icon-trello:before { + content: "\f181"; +} +.icon-female:before { + content: "\f182"; +} +.icon-male:before { + content: "\f183"; +} +.icon-gittip:before { + content: "\f184"; +} +.icon-sun:before { + content: "\f185"; +} +.icon-moon:before { + content: "\f186"; +} +.icon-archive:before { + content: "\f187"; +} +.icon-bug:before { + content: "\f188"; +} +.icon-vk:before { + content: "\f189"; +} +.icon-weibo:before { + content: "\f18a"; +} +.icon-renren:before { + content: "\f18b"; +} diff --git a/addons/web/static/lib/fontawesome/font/FontAwesome.otf b/addons/web/static/lib/fontawesome/font/FontAwesome.otf new file mode 100644 index 00000000000..70125459f7d Binary files /dev/null and b/addons/web/static/lib/fontawesome/font/FontAwesome.otf differ diff --git a/addons/web/static/lib/fontawesome/font/fontawesome-webfont.eot b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.eot new file mode 100755 index 00000000000..0662cb96bfb Binary files /dev/null and b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.eot differ diff --git a/addons/web/static/lib/fontawesome/font/fontawesome-webfont.svg b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.svg new file mode 100755 index 00000000000..2edb4ec34cb --- /dev/null +++ b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.svg @@ -0,0 +1,399 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/addons/web/static/lib/fontawesome/font/fontawesome-webfont.ttf b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.ttf new file mode 100755 index 00000000000..d3659246915 Binary files /dev/null and b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.ttf differ diff --git a/addons/web/static/lib/fontawesome/font/fontawesome-webfont.woff b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.woff new file mode 100755 index 00000000000..b9bd17e158d Binary files /dev/null and b/addons/web/static/lib/fontawesome/font/fontawesome-webfont.woff differ diff --git a/addons/web/static/lib/jquery.hotkeys/README.md b/addons/web/static/lib/jquery.hotkeys/README.md new file mode 100644 index 00000000000..22873d6a723 --- /dev/null +++ b/addons/web/static/lib/jquery.hotkeys/README.md @@ -0,0 +1,45 @@ +#About +**jQuery Hotkeys** is a plug-in that lets you easily add and remove handlers for keyboard events anywhere in your code supporting almost any key combination. + +This plugin is based off of the plugin by Tzury Bar Yochay: [jQuery.hotkeys](http://github.com/tzuryby/hotkeys) + +The syntax is as follows: + + $(expression).bind(types, keys, handler); + $(expression).unbind(types, handler); + + $(document).bind('keydown', 'ctrl+a', fn); + + // e.g. replace '$' sign with 'EUR' + $('input.foo').bind('keyup', '$', function(){ + this.value = this.value.replace('$', 'EUR'); + }); + +## Types +Supported types are `'keydown'`, `'keyup'` and `'keypress'` + +## Notes + +If you want to use more than one modifiers (e.g. alt+ctrl+z) you should define them by an alphabetical order e.g. alt+ctrl+shift + +Hotkeys aren't tracked if you're inside of an input element (unless you explicitly bind the hotkey directly to the input). This helps to avoid conflict with normal user typing. + +## jQuery Compatibility + +Works with jQuery 1.4.2 and newer. + +It known to be working with all the major browsers on all available platforms (Win/Mac/Linux) + + * IE 6/7/8 + * FF 1.5/2/3 + * Opera-9 + * Safari-3 + * Chrome-0.2 + +### Addendum + +Firefox is the most liberal one in the manner of letting you capture all short-cuts even those that are built-in in the browser such as `Ctrl-t` for new tab, or `Ctrl-a` for selecting all text. You can always bubble them up to the browser by returning `true` in your handler. + +Others, (IE) either let you handle built-in short-cuts, but will add their functionality after your code has executed. Or (Opera/Safari) will *not* pass those events to the DOM at all. + +*So, if you bind `Ctrl-Q` or `Alt-F4` and your Safari/Opera window is closed don't be surprised.* diff --git a/addons/web/static/lib/jquery.hotkeys/jquery.hotkeys.js b/addons/web/static/lib/jquery.hotkeys/jquery.hotkeys.js new file mode 100644 index 00000000000..fbd71c71ec7 --- /dev/null +++ b/addons/web/static/lib/jquery.hotkeys/jquery.hotkeys.js @@ -0,0 +1,99 @@ +/* + * jQuery Hotkeys Plugin + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * + * Based upon the plugin by Tzury Bar Yochay: + * http://github.com/tzuryby/hotkeys + * + * Original idea by: + * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/ +*/ + +(function(jQuery){ + + jQuery.hotkeys = { + version: "0.8", + + specialKeys: { + 8: "backspace", 9: "tab", 13: "return", 16: "shift", 17: "ctrl", 18: "alt", 19: "pause", + 20: "capslock", 27: "esc", 32: "space", 33: "pageup", 34: "pagedown", 35: "end", 36: "home", + 37: "left", 38: "up", 39: "right", 40: "down", 45: "insert", 46: "del", + 96: "0", 97: "1", 98: "2", 99: "3", 100: "4", 101: "5", 102: "6", 103: "7", + 104: "8", 105: "9", 106: "*", 107: "+", 109: "-", 110: ".", 111 : "/", + 112: "f1", 113: "f2", 114: "f3", 115: "f4", 116: "f5", 117: "f6", 118: "f7", 119: "f8", + 120: "f9", 121: "f10", 122: "f11", 123: "f12", 144: "numlock", 145: "scroll", 191: "/", 224: "meta" + }, + + shiftNums: { + "`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&", + "8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<", + ".": ">", "/": "?", "\\": "|" + } + }; + + function keyHandler( handleObj ) { + // Only care when a possible input has been specified + if ( typeof handleObj.data !== "string" ) { + return; + } + + var origHandler = handleObj.handler, + keys = handleObj.data.toLowerCase().split(" "); + + handleObj.handler = function( event ) { + // Don't fire in text-accepting inputs that we didn't directly bind to + if ( this !== event.target && (/textarea|select/i.test( event.target.nodeName ) || + event.target.type === "text") ) { + return; + } + + // Keypress represents characters, not special keys + var special = event.type !== "keypress" && jQuery.hotkeys.specialKeys[ event.which ], + character = String.fromCharCode( event.which ).toLowerCase(), + key, modif = "", possible = {}; + + // check combinations (alt|ctrl|shift+anything) + if ( event.altKey && special !== "alt" ) { + modif += "alt+"; + } + + if ( event.ctrlKey && special !== "ctrl" ) { + modif += "ctrl+"; + } + + // TODO: Need to make sure this works consistently across platforms + if ( event.metaKey && !event.ctrlKey && special !== "meta" ) { + modif += "meta+"; + } + + if ( event.shiftKey && special !== "shift" ) { + modif += "shift+"; + } + + if ( special ) { + possible[ modif + special ] = true; + + } else { + possible[ modif + character ] = true; + possible[ modif + jQuery.hotkeys.shiftNums[ character ] ] = true; + + // "$" can be triggered as "Shift+4" or "Shift+$" or just "$" + if ( modif === "shift+" ) { + possible[ jQuery.hotkeys.shiftNums[ character ] ] = true; + } + } + + for ( var i = 0, l = keys.length; i < l; i++ ) { + if ( possible[ keys[i] ] ) { + return origHandler.apply( this, arguments ); + } + } + }; + } + + jQuery.each([ "keydown", "keyup", "keypress" ], function() { + jQuery.event.special[ this ] = { add: keyHandler }; + }); + +})( jQuery ); \ No newline at end of file -- cgit v1.2.3 From ebbff45cb59a87d57060e0452e72e0047d19042c Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 23 Jul 2013 17:56:51 +0200 Subject: [IMP] make trailing slashes irrelevant bzr revid: xmo@openerp.com-20130723155651-zdvnmldwankto1fa --- addons/web/http.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web') diff --git a/addons/web/http.py b/addons/web/http.py index f3ae2f34d6a..2fa58a5cd06 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -971,7 +971,7 @@ class Root(object): def _build_router(self, db): _logger.info("Generating routing configuration for database %s" % db) - routing_map = routing.Map() + routing_map = routing.Map(strict_slashes=False) def gen(modules, nodb_only): for module in modules: -- cgit v1.2.3 From d179a7f8caea3ab63d0a876ace11286c4c74f003 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 23 Jul 2013 17:57:29 +0200 Subject: [FIX] unfuck set usage set("web") -> set(['b', 'e', 'w']), which won't do anything. Use set.discard which removes the value if present or noops if not. bzr revid: xmo@openerp.com-20130723155729-80y1psxd1h0o82s6 --- addons/web/http.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'addons/web') diff --git a/addons/web/http.py b/addons/web/http.py index 2fa58a5cd06..47eaa8f0b21 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -998,8 +998,8 @@ class Root(object): url = url[: -1] routing_map.add(routing.Rule(url, endpoint=function)) - modules_set = set(controllers_per_module.keys()) - modules_set -= set("web") + modules_set = set(controllers_per_module) + modules_set.discard('web') # building all none methods gen(["web"] + sorted(modules_set), True) if not db: -- cgit v1.2.3 From ed79dccf961e7c9001509c855ea94ba8be5706ca Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 23 Jul 2013 17:59:02 +0200 Subject: [IMP] simplify set use (no need to convert a set into a set) and remove unused variable bzr revid: xmo@openerp.com-20130723155902-pl0l4uti02zak35b --- addons/web/http.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'addons/web') diff --git a/addons/web/http.py b/addons/web/http.py index 47eaa8f0b21..2284c09a2d3 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -1009,9 +1009,9 @@ class Root(object): with registry.cursor() as cr: m = registry.get('ir.module.module') ids = m.search(cr, openerp.SUPERUSER_ID, [('state','=','installed')]) - installed = set([x['name'] for x in m.read(cr, 1, ids, ['name'])]) - modules_set = modules_set.intersection(set(installed)) - modules = ["web"] + sorted(modules_set) + installed = set(x['name'] for x in m.read(cr, 1, ids, ['name'])) + modules_set = modules_set & installed + # building all other methods gen(["web"] + sorted(modules_set), False) -- cgit v1.2.3 From 82999df03c4eff9107fa620bce45042c95a4b907 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Wed, 7 Aug 2013 13:21:59 +0200 Subject: [IMP] recent qunit will send moduleStart with no name if error happens outside of a testing module bzr revid: xmo@openerp.com-20130807112159-91jdzgl6g2fk966t --- addons/web/tests/qunitsuite/suite.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web') diff --git a/addons/web/tests/qunitsuite/suite.py b/addons/web/tests/qunitsuite/suite.py index 7f0a0cb4976..3aed7b133f1 100644 --- a/addons/web/tests/qunitsuite/suite.py +++ b/addons/web/tests/qunitsuite/suite.py @@ -91,7 +91,7 @@ class QUnitSuite(unittest.TestSuite): return True elif event_name == 'qunit.moduleStart': - self._module = args[1].encode('utf-8') + self._module = args[1].encode('utf-8') if args[1] else '' elif event_name == 'qunit.moduleStop': self._test = None self._module = None -- cgit v1.2.3 From 84e16c98951b8ae21b4f74f0724677d25061fca3 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 11 Sep 2013 18:15:29 +0200 Subject: [IMP] Added link to web training in web doc bzr revid: nicolas.vanhoren@openerp.com-20130911161529-ue0rqihlu02pr3qd --- addons/web/doc/index.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'addons/web') diff --git a/addons/web/doc/index.rst b/addons/web/doc/index.rst index 650c12f55ec..35cd3b23afa 100644 --- a/addons/web/doc/index.rst +++ b/addons/web/doc/index.rst @@ -3,8 +3,12 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to OpenERP Web's documentation! -======================================= +OpenERP Web Reference Documentation +=================================== + +See also the `OpenERP Web Training`_. + +.. _OpenERP Web Training: https://doc.openerp.com/trunk/training/ Basics ------ -- cgit v1.2.3 From 53b7baf1ce8a3143648e9d987899b03e0b36dfea Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 12:24:44 +0200 Subject: [FIX] fixed some problems related to magic guess of db, now only tries to perform the magic guess when the --dbfilter argument is specified bzr revid: nicolas.vanhoren@openerp.com-20130913102444-u30boym4nklatnf1 --- addons/web/controllers/main.py | 34 +++++++++++++++++++++------------- addons/web/http.py | 11 ++++------- 2 files changed, 25 insertions(+), 20 deletions(-) (limited to 'addons/web') diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 29cbd8960bb..651e5c42a97 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -528,27 +528,35 @@ class Home(http.Controller): @http.route('/', type='http', auth="none") def index(self, s_action=None, db=None, debug=False, **kw): debug = debug != False - if db is not None: - lst = http.db_list(True) - if db in lst and db != request.session.db: - request.session.logout() - request.session.db = db - if db != request.session.db: + lst = http.db_list(True) + if db not in lst: + db = None + guessed_db = http.db_monodb(request.httprequest) + if guessed_db is None and len(lst) > 0: + guessed_db = lst[0] + + def redirect(db): query = dict(urlparse.parse_qsl(request.httprequest.query_string, keep_blank_values=True)) - query.update({'db': request.session.db}) + query.update({'db': db}) redirect = request.httprequest.path + '?' + urllib.urlencode(query) return redirect_with_hash(redirect) - - db = request.session.db - js = "\n ".join('' % i for i in manifest_list('js', db=db, debug=debug)) - css = "\n ".join('' % i for i in manifest_list('css', db=db, debug=debug)) + if db is None and guessed_db is not None: + return redirect(guessed_db) + + if db is not None and db != guessed_db: + request.session.logout() + request.session.db = db + guessed_db = db + + js = "\n ".join('' % i for i in manifest_list('js', db=guessed_db, debug=debug)) + css = "\n ".join('' % i for i in manifest_list('css', db=guessed_db, debug=debug)) r = html_template % { 'js': js, 'css': css, - 'modules': simplejson.dumps(module_boot(db=db)), + 'modules': simplejson.dumps(module_boot(db=guessed_db)), 'init': 'var wc = new s.web.WebClient();wc.appendTo($(document.body));' } return request.make_response(r, {'Cache-Control': 'no-cache', 'Content-Type': 'text/html; charset=utf-8'}) @@ -729,7 +737,7 @@ class Database(http.Controller): def get_list(self): # TODO change js to avoid calling this method if in monodb mode try: - return db_list() + return http.db_list() except openerp.exceptions.AccessDenied: monodb = db_monodb() if monodb: diff --git a/addons/web/http.py b/addons/web/http.py index ccd1125fa22..c8fabafd594 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -1084,17 +1084,14 @@ def db_monodb(httprequest=None): dbs = db_list(True, httprequest) - # 1 try the db already in the session + # try the db already in the session db_session = httprequest.session.db if db_session in dbs: return db_session - # 2 if there is only one db in the db filters, take it - if len(dbs) == 1: - return dbs[0] - - # 3 if there are multiple dbs, take the first one only if we can list them - if len(dbs) > 1 and config['list_db']: + # if dbfilters was specified when launching the server and there is + # only one possible db, we take that one + if openerp.tools.config['dbfilter'] != ".*" and len(dbs) == 1: return dbs[0] return None -- cgit v1.2.3 From 56382a450a4c5572a17dca3054bf23654013910a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 12:40:26 +0200 Subject: [FIX] problem with page reload after installing a module lp bug: https://launchpad.net/bugs/1214814 fixed bzr revid: nicolas.vanhoren@openerp.com-20130913104026-rxtl7h1u7vuixyvm --- addons/web/static/src/js/chrome.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 55ab5ec073d..793dbd43d76 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -808,7 +808,7 @@ instance.web.redirect = function(url, wait) { if (old === url) { window.location.reload(); } else { - window.location = url; + window.location.href = url; } }; -- cgit v1.2.3 From 6d411f706509316795ecb3eb362f0b42b2740ae6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 13 Sep 2013 14:40:26 +0200 Subject: [FIX] really solve reload problem lp bug: https://launchpad.net/bugs/1214814 fixed bzr revid: nicolas.vanhoren@openerp.com-20130913124026-yhchgik5yznkme19 --- addons/web/static/src/js/chrome.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'addons/web') diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 793dbd43d76..11a2e58ae5b 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -805,10 +805,11 @@ instance.web.redirect = function(url, wait) { var load = function() { var old = "" + window.location; - if (old === url) { - window.location.reload(); - } else { - window.location.href = url; + var old_no_hash = old.split("#")[0]; + var url_no_hash = url.split("#")[0]; + location.assign(url); + if (old_no_hash === url_no_hash) { + location.reload(true); } }; -- cgit v1.2.3 From bc0d066505a054389525cdf7601b35751ea3efbb Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Tue, 17 Sep 2013 04:37:59 +0000 Subject: Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130914054213-dq0kt273ooy6fozn bzr revid: launchpad_translations_on_behalf_of_openerp-20130915055539-hzmy1ws1il6z8fji bzr revid: launchpad_translations_on_behalf_of_openerp-20130915054954-zisp7huxai3ew84l bzr revid: launchpad_translations_on_behalf_of_openerp-20130916054225-m0j262vooofcavqz bzr revid: launchpad_translations_on_behalf_of_openerp-20130917043759-tke0eln0ca01hsm7 --- addons/web/i18n/ar.po | 4 +- addons/web/i18n/bg.po | 4 +- addons/web/i18n/bn.po | 4 +- addons/web/i18n/bs.po | 577 +++++++++++++++++++++++--------------------- addons/web/i18n/ca.po | 4 +- addons/web/i18n/cs.po | 4 +- addons/web/i18n/da.po | 4 +- addons/web/i18n/de.po | 4 +- addons/web/i18n/en_AU.po | 4 +- addons/web/i18n/en_GB.po | 4 +- addons/web/i18n/es.po | 4 +- addons/web/i18n/es_CL.po | 4 +- addons/web/i18n/es_CR.po | 4 +- addons/web/i18n/es_DO.po | 4 +- addons/web/i18n/es_EC.po | 4 +- addons/web/i18n/es_MX.po | 4 +- addons/web/i18n/et.po | 4 +- addons/web/i18n/eu.po | 4 +- addons/web/i18n/fa.po | 4 +- addons/web/i18n/fi.po | 4 +- addons/web/i18n/fr.po | 4 +- addons/web/i18n/fr_CA.po | 4 +- addons/web/i18n/gl.po | 4 +- addons/web/i18n/gu.po | 4 +- addons/web/i18n/hi.po | 4 +- addons/web/i18n/hr.po | 4 +- addons/web/i18n/hu.po | 4 +- addons/web/i18n/id.po | 4 +- addons/web/i18n/it.po | 4 +- addons/web/i18n/ja.po | 4 +- addons/web/i18n/ka.po | 4 +- addons/web/i18n/ko.po | 4 +- addons/web/i18n/lo.po | 4 +- addons/web/i18n/lt.po | 4 +- addons/web/i18n/lv.po | 4 +- addons/web/i18n/mk.po | 4 +- addons/web/i18n/mn.po | 4 +- addons/web/i18n/nb.po | 4 +- addons/web/i18n/nl.po | 6 +- addons/web/i18n/nl_BE.po | 4 +- addons/web/i18n/pl.po | 4 +- addons/web/i18n/pt.po | 4 +- addons/web/i18n/pt_BR.po | 4 +- addons/web/i18n/ro.po | 4 +- addons/web/i18n/ru.po | 4 +- addons/web/i18n/sk.po | 4 +- addons/web/i18n/sl.po | 4 +- addons/web/i18n/sq.po | 4 +- addons/web/i18n/sr@latin.po | 4 +- addons/web/i18n/sv.po | 4 +- addons/web/i18n/th.po | 12 +- addons/web/i18n/tr.po | 4 +- addons/web/i18n/uk.po | 4 +- addons/web/i18n/vi.po | 4 +- addons/web/i18n/zh_CN.po | 6 +- addons/web/i18n/zh_TW.po | 4 +- 56 files changed, 418 insertions(+), 391 deletions(-) (limited to 'addons/web') diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po index eb9041c585e..65bbcd33781 100644 --- a/addons/web/i18n/ar.po +++ b/addons/web/i18n/ar.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po index 988b4e3a659..f291d6adfe4 100644 --- a/addons/web/i18n/bg.po +++ b/addons/web/i18n/bg.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po index bcfc65395af..00d840da9f5 100644 --- a/addons/web/i18n/bn.po +++ b/addons/web/i18n/bn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po index 8576e8affac..649a3838e96 100644 --- a/addons/web/i18n/bs.po +++ b/addons/web/i18n/bs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web @@ -36,14 +36,14 @@ msgstr "prije %d minuta" #: code:addons/web/static/src/js/coresetup.js:620 #, python-format msgid "Still loading...
Please be patient." -msgstr "Još se učitava..." +msgstr "Još se učitava...
Molimo budite strpljivi." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1999 #, python-format msgid "%(field)s %(operator)s \"%(value)s\"" -msgstr "" +msgstr "%(field)s %(operator)s \"%(value)s\"" #. module: web #. openerp-web @@ -59,7 +59,7 @@ msgstr "manje ili jednako od" #: code:addons/web/static/src/js/chrome.js:410 #, python-format msgid "Please enter your previous password" -msgstr "" +msgstr "Molimo Vas da unesete prijašnju šifru" #. module: web #. openerp-web @@ -148,7 +148,7 @@ msgstr "Ovo je pregled fajla koji nismo mogli importovati:" #: code:addons/web/static/src/js/coresetup.js:591 #, python-format msgid "about a minute ago" -msgstr "" +msgstr "prije oko minut" #. module: web #. openerp-web @@ -161,14 +161,14 @@ msgstr "" #: code:addons/web/controllers/main.py:869 #, python-format msgid "You cannot leave any password empty." -msgstr "" +msgstr "Ne možete ostaviti šifru praznu." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:732 #, python-format msgid "Invalid username or password" -msgstr "" +msgstr "Ne pravilno korisničko ime ili šifra" #. module: web #. openerp-web @@ -177,7 +177,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:278 #, python-format msgid "Master Password:" -msgstr "" +msgstr "Glavna šifra:" #. module: web #. openerp-web @@ -185,7 +185,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1402 #, python-format msgid "Select" -msgstr "" +msgstr "Odaberi" #. module: web #. openerp-web @@ -199,14 +199,14 @@ msgstr "Baza podataka uspješno obnovljena" #: code:addons/web/static/src/xml/base.xml:437 #, python-format msgid "Version" -msgstr "" +msgstr "Verzija" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:592 #, python-format msgid "Latest Modification Date:" -msgstr "" +msgstr "Zadnji datum modifikacije:" #. module: web #. openerp-web @@ -214,20 +214,22 @@ msgstr "" #, python-format msgid "M2O search fields do not currently handle multiple default values" msgstr "" +"M2O polja pretraživanja trenutno ne mogu upravljati sa više zadanih " +"vrijednosti" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1241 #, python-format msgid "Widget type '%s' is not implemented" -msgstr "" +msgstr "Widget tipa '%s' nije implementiran" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1626 #, python-format msgid "Share with all users" -msgstr "" +msgstr "Djeli sa svim korisnicima" #. module: web #. openerp-web @@ -235,21 +237,21 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:320 #, python-format msgid "Form" -msgstr "" +msgstr "Forma" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1352 #, python-format msgid "(no string)" -msgstr "" +msgstr "(nema stringa)" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:286 #, python-format msgid "'%s' is not a correct time" -msgstr "" +msgstr "'%s' je ne pravilno vrijeme" #. module: web #. openerp-web @@ -263,77 +265,77 @@ msgstr "Ne važeći broj" #: code:addons/web/static/src/xml/base.xml:343 #, python-format msgid "New Password:" -msgstr "" +msgstr "Nova šifra:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:632 #, python-format msgid "Attachment :" -msgstr "" +msgstr "Zakačka:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1712 #, python-format msgid "Fields to export" -msgstr "" +msgstr "Polja za izvoz" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1350 #, python-format msgid "Undefined" -msgstr "" +msgstr "Nedefinisano" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "File Upload" -msgstr "" +msgstr "Učitavanje fajla" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:597 #, python-format msgid "about a month ago" -msgstr "" +msgstr "prije mjesec dana" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1618 #, python-format msgid "Custom Filters" -msgstr "" +msgstr "Prilagođeni filteri" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1364 #, python-format msgid "Button Type:" -msgstr "" +msgstr "Tip dugmeta:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:441 #, python-format msgid "OpenERP SA Company" -msgstr "" +msgstr "OpenERP SA Kompanija" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1663 #, python-format msgid "Custom Filter" -msgstr "" +msgstr "Prilagođeni filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:177 #, python-format msgid "Duplicate Database" -msgstr "" +msgstr "Dupliciraj bazu" #. module: web #. openerp-web @@ -355,7 +357,7 @@ msgstr "Promijeni šifru" #: code:addons/web/static/src/js/view_form.js:3528 #, python-format msgid "View type '%s' is not supported in One2Many." -msgstr "" +msgstr "Tip pogleda '%s' nije podržan u One2Many." #. module: web #. openerp-web @@ -370,48 +372,48 @@ msgstr "Preuzimanje" #: code:addons/web/static/src/js/formats.js:270 #, python-format msgid "'%s' is not a correct datetime" -msgstr "" +msgstr "'%s' nije pravilno datum-vrijeme" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:432 #, python-format msgid "Group" -msgstr "" +msgstr "Grupa" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:949 #, python-format msgid "Unhandled widget" -msgstr "" +msgstr "Ne upravljan widget" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1004 #, python-format msgid "Selection:" -msgstr "" +msgstr "Izbor:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:881 #, python-format msgid "The following fields are invalid:" -msgstr "" +msgstr "Sljedeća polja nisu pravilna:" #. module: web #: code:addons/web/controllers/main.py:890 #, python-format msgid "Languages" -msgstr "" +msgstr "Jezici" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1298 #, python-format msgid "...Upload in progress..." -msgstr "" +msgstr "...Učitavanje u toku..." #. module: web #. openerp-web @@ -425,21 +427,21 @@ msgstr "Uvezi" #: code:addons/web/static/src/js/chrome.js:565 #, python-format msgid "Could not restore the database" -msgstr "" +msgstr "Ne može se vratiti baza podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4982 #, python-format msgid "File upload" -msgstr "" +msgstr "Učitavanje fajla" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3925 #, python-format msgid "Action Button" -msgstr "" +msgstr "Dugme akcije" #. module: web #. openerp-web @@ -447,7 +449,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1493 #, python-format msgid "Manage Filters" -msgstr "" +msgstr "Uredi filtere" #. module: web #. openerp-web @@ -461,14 +463,14 @@ msgstr "sadrži" #: code:addons/web/static/src/js/coresetup.js:623 #, python-format msgid "Take a minute to get a coffee,
because it's loading..." -msgstr "" +msgstr "Uzmite minutu da odete po kafu,
jer se učitava..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:435 #, python-format msgid "Activate the developer mode" -msgstr "" +msgstr "Aktiviraj razvojni mod" #. module: web #. openerp-web @@ -482,63 +484,63 @@ msgstr "Punim (%d)" #: code:addons/web/static/src/js/search.js:1216 #, python-format msgid "GroupBy" -msgstr "" +msgstr "Grupiši po" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:699 #, python-format msgid "You must select at least one record." -msgstr "" +msgstr "Morate izabrati makar jedan zapis." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:557 #, python-format msgid "View Log (perm_read)" -msgstr "" +msgstr "Pregledaj Log (perm_read)" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1071 #, python-format msgid "Set Default" -msgstr "" +msgstr "Postavi zadano" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1000 #, python-format msgid "Relation:" -msgstr "" +msgstr "Relacija:" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:590 #, python-format msgid "less than a minute ago" -msgstr "" +msgstr "manje od minutu prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:873 #, python-format msgid "Condition:" -msgstr "" +msgstr "Uslov:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1709 #, python-format msgid "Unsupported operator %s in domain %s" -msgstr "" +msgstr "Ne podržana operacija %s u domenu %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:246 #, python-format msgid "'%s' is not a correct float" -msgstr "" +msgstr "'%s' nije pravilan decimalni broj" #. module: web #. openerp-web @@ -552,21 +554,21 @@ msgstr "Obnovljeno" #: code:addons/web/static/src/js/view_list.js:409 #, python-format msgid "%d-%d of %d" -msgstr "" +msgstr "%d-%d od %d" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2955 #, python-format msgid "Create and Edit..." -msgstr "" +msgstr "Kreiraj i Uredi..." #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:736 #, python-format msgid "Unknown nonliteral type " -msgstr "" +msgstr "Ne poznat ne literalni tip " #. module: web #. openerp-web @@ -587,63 +589,63 @@ msgstr "nije" #: code:addons/web/static/src/xml/base.xml:572 #, python-format msgid "Print Workflow" -msgstr "" +msgstr "Štampaj radni tok" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:413 #, python-format msgid "Please confirm your new password" -msgstr "" +msgstr "Molimo potvrdite novu šifru" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1825 #, python-format msgid "UTF-8" -msgstr "" +msgstr "UTF‑8" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:443 #, python-format msgid "For more information visit" -msgstr "" +msgstr "Za više informacija posjetite" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1880 #, python-format msgid "Add All Info..." -msgstr "" +msgstr "Dodaj sve podatke..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1701 #, python-format msgid "Export Formats" -msgstr "" +msgstr "Formati izvoza" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:996 #, python-format msgid "On change:" -msgstr "" +msgstr "Prilikom promjene:" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:939 #, python-format msgid "Model %s fields" -msgstr "" +msgstr "Polja %s modela" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:906 #, python-format msgid "Setting 'id' attribute on existing record %s" -msgstr "" +msgstr "Postavljanje 'id' atributa na postojećem zapisu %s" #. module: web #. openerp-web @@ -667,21 +669,21 @@ msgstr "veće od" #: code:addons/web/static/src/xml/base.xml:568 #, python-format msgid "View" -msgstr "" +msgstr "Pogled" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1492 #, python-format msgid "Save Filter" -msgstr "" +msgstr "Sačuvaj filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1372 #, python-format msgid "Action ID:" -msgstr "" +msgstr "ID Akcije:" #. module: web #. openerp-web @@ -689,55 +691,57 @@ msgstr "" #, python-format msgid "Your user's preference timezone does not match your browser timezone:" msgstr "" +"Vaša vremenska zona korisnika se ne slaže sa vremenskom zonom internet " +"pretraživača:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1237 #, python-format msgid "Field '%s' specified in view could not be found." -msgstr "" +msgstr "Polje '%s' specifirano u pogledu nije moglo biti pronađeno." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1777 #, python-format msgid "Saved exports:" -msgstr "" +msgstr "Sačuvani izvozi:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:338 #, python-format msgid "Old Password:" -msgstr "" +msgstr "Stara šifra:" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:113 #, python-format msgid "Bytes,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" -msgstr "" +msgstr "Bajtovi,Kb,Mb,Gb,Tb,Pb,Eb,Zb,Yb" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:503 #, python-format msgid "The database has been duplicated." -msgstr "" +msgstr "Baza podataka je bila duplicirana." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1643 #, python-format msgid "Apply" -msgstr "" +msgstr "Primjeni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1414 #, python-format msgid "Save & New" -msgstr "" +msgstr "Sačuvaj i Novi" #. module: web #. openerp-web @@ -745,14 +749,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1253 #, python-format msgid "Save As" -msgstr "" +msgstr "Sačuvaj kao" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:3 #, python-format msgid "00:00:00" -msgstr "" +msgstr "00:00:00" #. module: web #. openerp-web @@ -766,21 +770,21 @@ msgstr "" #: code:addons/web/static/src/js/coresetup.js:595 #, python-format msgid "a day ago" -msgstr "" +msgstr "dan prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1810 #, python-format msgid "Does your file have titles?" -msgstr "" +msgstr "Da li Vaš fajl sadrži naslove?" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:327 #, python-format msgid "Unlimited" -msgstr "" +msgstr "Neograničeno" #. module: web #. openerp-web @@ -791,13 +795,16 @@ msgid "" "\n" "Are you sure you want to leave this page ?" msgstr "" +"Upozorenje, zapis je bio izmjenjen, Vaše promjene će biti odbačene.\n" +"\n" +"Da li ste sigurni da želite napustiti ovu stranicu?" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2991 #, python-format msgid "Search: " -msgstr "" +msgstr "Pretraži: " #. module: web #. openerp-web @@ -811,28 +818,28 @@ msgstr "Tehnički prevod" #: code:addons/web/static/src/xml/base.xml:1818 #, python-format msgid "Delimiter:" -msgstr "" +msgstr "Razdvajač:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:484 #, python-format msgid "Browser's timezone" -msgstr "" +msgstr "Vremenska zona internet pretraživača" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1623 #, python-format msgid "Filter name" -msgstr "" +msgstr "Ime filtera" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1490 #, python-format msgid "-- Actions --" -msgstr "" +msgstr "-- Akcije --" #. module: web #. openerp-web @@ -842,49 +849,49 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1726 #, python-format msgid "Add" -msgstr "" +msgstr "Dodaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:558 #, python-format msgid "Toggle Form Layout Outline" -msgstr "" +msgstr "Uključi/Isključi raspored linija forme" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:443 #, python-format msgid "OpenERP.com" -msgstr "" +msgstr "OpenERP.com" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2349 #, python-format msgid "Can't send email to invalid e-mail address" -msgstr "" +msgstr "Ne može se poslati email na ne pravilnu email adresu" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:658 #, python-format msgid "Add..." -msgstr "" +msgstr "Dodaj..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:424 #, python-format msgid "Preferences" -msgstr "" +msgstr "Postavke" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:435 #, python-format msgid "Wrong on change format: %s" -msgstr "" +msgstr "Pogrešan format pri izmjeni: %s" #. module: web #. openerp-web @@ -892,28 +899,28 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:203 #, python-format msgid "Drop Database" -msgstr "" +msgstr "Odbaci bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:488 #, python-format msgid "Click here to change your user's timezone." -msgstr "" +msgstr "Kliknite ovdje da izmjenite postavke korisničke vremenske zone." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:988 #, python-format msgid "Modifiers:" -msgstr "" +msgstr "Modifikatori:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:649 #, python-format msgid "Delete this attachment" -msgstr "" +msgstr "Obriši ovu zakačku" #. module: web #. openerp-web @@ -931,49 +938,49 @@ msgstr "Sačuvaj" #: code:addons/web/static/src/xml/base.xml:370 #, python-format msgid "More" -msgstr "" +msgstr "Više" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:73 #, python-format msgid "Username" -msgstr "" +msgstr "Korisničko ime" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:503 #, python-format msgid "Duplicating database" -msgstr "" +msgstr "Baza se duplicira" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:585 #, python-format msgid "Password has been changed successfully" -msgstr "" +msgstr "Šifra je bila uspješno promjenjena" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list_editable.js:793 #, python-format msgid "The form's data can not be discarded" -msgstr "" +msgstr "Podatci forme ne mogu biti odbačeni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:555 #, python-format msgid "Debug View#" -msgstr "" +msgstr "Debug pogled#" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:77 #, python-format msgid "Log in" -msgstr "" +msgstr "Prijavi se" #. module: web #. openerp-web @@ -982,7 +989,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1785 #, python-format msgid "Delete" -msgstr "" +msgstr "Obriši" #. module: web #. openerp-web @@ -994,6 +1001,10 @@ msgid "" "\n" "%s" msgstr "" +"Greška lokalne procjene\n" +"%s\n" +"\n" +"%s" #. module: web #. openerp-web @@ -1007,14 +1018,14 @@ msgstr "Nevažeće ime baze podataka" #: code:addons/web/static/src/xml/base.xml:1714 #, python-format msgid "Save fields list" -msgstr "" +msgstr "Sačuvaj listu polja" #. module: web #. openerp-web #: code:addons/web/doc/module/static/src/xml/web_example.xml:5 #, python-format msgid "Start" -msgstr "" +msgstr "Počni" #. module: web #. openerp-web @@ -1028,21 +1039,21 @@ msgstr "Pogledaj Log (%s)" #: code:addons/web/static/src/xml/base.xml:586 #, python-format msgid "Creation Date:" -msgstr "" +msgstr "Datum kreiranja:" #. module: web #: code:addons/web/controllers/main.py:833 #: code:addons/web/controllers/main.py:878 #, python-format msgid "Error, password not changed !" -msgstr "" +msgstr "Greška, šifra nije promjenjena !" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:4981 #, python-format msgid "The selected file exceed the maximum file size of %s." -msgstr "" +msgstr "Odabrani fajl je prešao maksimalnu veličinu od %s." #. module: web #. openerp-web @@ -1056,14 +1067,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:585 #, python-format msgid "Changed Password" -msgstr "" +msgstr "Šifra je promijenjena" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1457 #, python-format msgid "Search" -msgstr "" +msgstr "Pretraži" #. module: web #. openerp-web @@ -1082,7 +1093,7 @@ msgstr "Otvori: " #: code:addons/web/static/src/xml/base.xml:327 #, python-format msgid "Backup" -msgstr "" +msgstr "Napravi rezervnu kopiju" #. module: web #. openerp-web @@ -1090,35 +1101,35 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:80 #, python-format msgid "'%s' is not a valid time" -msgstr "" +msgstr "'%s' nije pravilno vrijeme" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:278 #, python-format msgid "'%s' is not a correct date" -msgstr "" +msgstr "'%s' nije pravilan datum" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:955 #, python-format msgid "(nolabel)" -msgstr "" +msgstr "(nema naziva)" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:596 #, python-format msgid "%d days ago" -msgstr "" +msgstr "%d dan(a) prije" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1500 #, python-format msgid "(Any existing filter with the same name will be replaced)" -msgstr "" +msgstr "(Svaki postojeći filter sa istim imenom će biti zamjenjen)" #. module: web #. openerp-web @@ -1128,7 +1139,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1881 #, python-format msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: web #. openerp-web @@ -1144,14 +1155,14 @@ msgstr "Učitavam..." #: code:addons/web/static/src/xml/base.xml:589 #, python-format msgid "Latest Modification by:" -msgstr "" +msgstr "Zadnji modificirao:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:492 #, python-format msgid "Timezone mismatch" -msgstr "" +msgstr "Ne slaganje vremenske zone" #. module: web #. openerp-web @@ -1165,21 +1176,21 @@ msgstr "Nepoznat operator %s na domeni %s" #: code:addons/web/static/src/js/view_form.js:427 #, python-format msgid "%d / %d" -msgstr "" +msgstr "%d / %d" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1803 #, python-format msgid "2. Check your file format" -msgstr "" +msgstr "Provjerite format fajla" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1739 #, python-format msgid "Name" -msgstr "" +msgstr "Ime" #. module: web #. openerp-web @@ -1189,13 +1200,15 @@ msgid "" "Select a .CSV file to import. If you need a sample of file to import,\n" " you should use the export tool with the \"Import Compatible\" option." msgstr "" +"Odaberite .CSV fajl za uvoz. Ako trebate prijedlog fajla za uvoz,\n" +" možete koristiti alat za izvoz sa opcijom \"Kompatibilno sa uvozom\"." #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:598 #, python-format msgid "%d months ago" -msgstr "" +msgstr "%d mjeseci prije" #. module: web #. openerp-web @@ -1203,20 +1216,20 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:326 #, python-format msgid "Drop" -msgstr "" +msgstr "Odbaci" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1491 #, python-format msgid "Add Advanced Filter" -msgstr "" +msgstr "Dodaj napredni filter" #. module: web #: code:addons/web/controllers/main.py:871 #, python-format msgid "The new password and its confirmation must be identical." -msgstr "" +msgstr "Nova šifra i njena potvrda moraju biti identične." #. module: web #. openerp-web @@ -1224,21 +1237,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:266 #, python-format msgid "Restore Database" -msgstr "" +msgstr "Vrati bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:702 #, python-format msgid "Login" -msgstr "" +msgstr "Prijava" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:442 #, python-format msgid "Licenced under the terms of" -msgstr "" +msgstr "Licencirano pod uslovima" #. module: web #. openerp-web @@ -1253,28 +1266,28 @@ msgstr "Vrati" #: code:addons/web/static/src/xml/base.xml:1695 #, python-format msgid "Export Type:" -msgstr "" +msgstr "Tip izvoza:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:428 #, python-format msgid "Log out" -msgstr "" +msgstr "Odjavi se" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1192 #, python-format msgid "Group by: %s" -msgstr "" +msgstr "Grupiši po: %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:154 #, python-format msgid "No data provided." -msgstr "" +msgstr "Nisu dati podatci." #. module: web #. openerp-web @@ -1303,70 +1316,70 @@ msgstr "Morate izabrati barem jedan zapis" #: code:addons/web/static/src/js/coresetup.js:621 #, python-format msgid "Don't leave yet,
it's still loading..." -msgstr "" +msgstr "Ne odlazite još,
učitava se..." #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:841 #, python-format msgid "Invalid Search" -msgstr "" +msgstr "Pogrešna pretraga" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:990 #, python-format msgid "Could not find id in dataset" -msgstr "" +msgstr "Nije moglo biti pronađeno u dataset-u" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1728 #, python-format msgid "Remove All" -msgstr "" +msgstr "Ukloni sve" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1368 #, python-format msgid "Method:" -msgstr "" +msgstr "Metoda:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1449 #, python-format msgid "%(page)d/%(page_count)d" -msgstr "" +msgstr "%(page)d/%(page_count)d" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:414 #, python-format msgid "The confirmation does not match the password" -msgstr "" +msgstr "Potvrda ne odgovara šifri" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:463 #, python-format msgid "Edit Company data" -msgstr "" +msgstr "Uredi podatke kompanije" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5017 #, python-format msgid "Save As..." -msgstr "" +msgstr "Sačuvaj kao..." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5138 #, python-format msgid "Could not display the selected image." -msgstr "" +msgstr "Nije se mogla prikazati izabrana slika." #. module: web #. openerp-web @@ -1383,48 +1396,50 @@ msgid "" "For use if CSV files have titles on multiple lines, skips more than a single " "line during import" msgstr "" +"Za korištenje kada CSV fajl ima naslove na više linija, preskače se više od " +"jedne linije prilikom uvoza" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:414 #, python-format msgid "99+" -msgstr "" +msgstr "99+" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1795 #, python-format msgid "1. Import a .CSV file" -msgstr "" +msgstr "Uvezi .CSV fajl" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:702 #, python-format msgid "No database selected !" -msgstr "" +msgstr "Nije odabrana baza podataka !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:184 #, python-format msgid "(%d records)" -msgstr "" +msgstr "(%d zapis(a))" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:992 #, python-format msgid "Change default:" -msgstr "" +msgstr "Promjeni zadano:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:189 #, python-format msgid "Original database name:" -msgstr "" +msgstr "Originalno ime baze" #. module: web #. openerp-web @@ -1441,14 +1456,14 @@ msgstr "je jednako" #: code:addons/web/static/src/js/views.js:1581 #, python-format msgid "Could not serialize XML" -msgstr "" +msgstr "Nije se mogao serijalizovati XML" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1637 #, python-format msgid "Advanced Search" -msgstr "" +msgstr "Napredna pretraga" #. module: web #. openerp-web @@ -1463,6 +1478,8 @@ msgstr "Potvrdi glavni password" #, python-format msgid "Maybe you should consider reloading the application by pressing F5..." msgstr "" +"Možda bi ste trebali razmotriti da ponovno učitate aplikaciju pritiskom na " +"F5..." #. module: web #. openerp-web @@ -1473,7 +1490,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1404 #, python-format msgid "Create" -msgstr "" +msgstr "Kreiraj" #. module: web #. openerp-web @@ -1487,14 +1504,14 @@ msgstr "Ne sarži" #: code:addons/web/static/src/xml/base.xml:1806 #, python-format msgid "Import Options" -msgstr "" +msgstr "Opcije uvoza" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3023 #, python-format msgid "Add %s" -msgstr "" +msgstr "Dodaj %s" #. module: web #. openerp-web @@ -1518,21 +1535,21 @@ msgstr "Zatvori" #, python-format msgid "" "You may not believe it,
but the application is actually loading..." -msgstr "" +msgstr "Možda nećete vjerovati,
ali aplikacija se zapravo učitava..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1800 #, python-format msgid "CSV File:" -msgstr "" +msgstr "CSV Fajl:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1879 #, python-format msgid "Advanced" -msgstr "" +msgstr "Napredno" #. module: web #. openerp-web @@ -1545,49 +1562,49 @@ msgstr "Stablo" #: code:addons/web/controllers/main.py:793 #, python-format msgid "Could not drop database !" -msgstr "" +msgstr "Baza nije mogla biti odbačena !" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:231 #, python-format msgid "'%s' is not a correct integer" -msgstr "" +msgstr "'%s' nije pravilan cijeli broj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:899 #, python-format msgid "All users" -msgstr "" +msgstr "Svi korisnici" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:1671 #, python-format msgid "Unknown field %s in domain %s" -msgstr "" +msgstr "Ne poznato polje %s u domenu %s" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1546 #, python-format msgid "Node [%s] is not a JSONified XML node" -msgstr "" +msgstr "Čvor [%s] nije JSONificiran XML čvor" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1454 #, python-format msgid "Advanced Search..." -msgstr "" +msgstr "Napredna pretraga..." #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:521 #, python-format msgid "Dropping database" -msgstr "" +msgstr "Baza se odbacuje" #. module: web #. openerp-web @@ -1595,7 +1612,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:467 #, python-format msgid "Powered by" -msgstr "" +msgstr "Podržano od strane" #. module: web #. openerp-web @@ -1603,56 +1620,56 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:992 #, python-format msgid "Yes" -msgstr "" +msgstr "Da" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "There was a problem while uploading your file" -msgstr "" +msgstr "Pojavio se problem prilikom učitavanja vašeg fajla" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:580 #, python-format msgid "XML ID:" -msgstr "" +msgstr "XML ID:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:976 #, python-format msgid "Size:" -msgstr "" +msgstr "Veličina:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1845 #, python-format msgid "--- Don't Import ---" -msgstr "" +msgstr "--- Ne uvozi ---" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1697 #, python-format msgid "Import-Compatible Export" -msgstr "" +msgstr "Izvoz kompatibilan sa uvozom" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:600 #, python-format msgid "%d years ago" -msgstr "" +msgstr "%d godina prije" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1050 #, python-format msgid "Unknown m2m command %s" -msgstr "" +msgstr "Ne poznata m2m komanda %s" #. module: web #. openerp-web @@ -1674,77 +1691,77 @@ msgstr "Naziv nove baze podataka:" #: code:addons/web/static/src/js/chrome.js:411 #, python-format msgid "Please enter your new password" -msgstr "" +msgstr "Molimo Vas da unesete vašu novu lozinku" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5017 #, python-format msgid "The field is empty, there's nothing to save !" -msgstr "" +msgstr "Polje je prazno, nema se šta sačuvati !" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:567 #, python-format msgid "Manage Views" -msgstr "" +msgstr "Upravljaj pogledima" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1822 #, python-format msgid "Encoding:" -msgstr "" +msgstr "Šifriranje:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1829 #, python-format msgid "Lines to skip" -msgstr "" +msgstr "Stavke za preskočiti" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2945 #, python-format msgid "Create \"%s\"" -msgstr "" +msgstr "Kreiraj \"%s\"" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:362 #, python-format msgid "Please select fields to save export list..." -msgstr "" +msgstr "Molimo da odaberete polja za čuvanje liste izvoza..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:440 #, python-format msgid "Copyright © 2004-TODAY OpenERP SA. All Rights Reserved." -msgstr "" +msgstr "Autorsko pravo © 2004-TODAY OpenERP SA. Sva prava zadržana." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2379 #, python-format msgid "This resource is empty" -msgstr "" +msgstr "Ovaj resurs je prazan" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1710 #, python-format msgid "Available fields" -msgstr "" +msgstr "Dostupna polja" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1856 #, python-format msgid "The import failed due to:" -msgstr "" +msgstr "Uvoz nije uspio zbog:" #. module: web #. openerp-web @@ -1752,21 +1769,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:561 #, python-format msgid "JS Tests" -msgstr "" +msgstr "JS Testovi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1771 #, python-format msgid "Save as:" -msgstr "" +msgstr "Sačuvaj kao:" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1024 #, python-format msgid "Filter on: %s" -msgstr "" +msgstr "Filtriraj po: %s" #. module: web #. openerp-web @@ -1774,35 +1791,35 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:3878 #, python-format msgid "Create: " -msgstr "" +msgstr "Kreiraj: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:562 #, python-format msgid "View Fields" -msgstr "" +msgstr "Pogledaj polja" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:348 #, python-format msgid "Confirm New Password:" -msgstr "" +msgstr "Potvrdite novu šifru:" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:587 #, python-format msgid "Do you really want to remove these records?" -msgstr "" +msgstr "Da li stvarno želite ukloniti ove zapise?" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:980 #, python-format msgid "Context:" -msgstr "" +msgstr "Kontekst:" #. module: web #. openerp-web @@ -1810,28 +1827,28 @@ msgstr "" #: code:addons/web/static/src/js/search.js:2143 #, python-format msgid "is" -msgstr "" +msgstr "je" #. module: web #. openerp-web #: code:addons/web/static/src/js/data_export.js:6 #, python-format msgid "Export Data" -msgstr "" +msgstr "Izvezi podatke" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:984 #, python-format msgid "Domain:" -msgstr "" +msgstr "Domen:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:856 #, python-format msgid "Default:" -msgstr "" +msgstr "Zadano:" #. module: web #. openerp-web @@ -1846,7 +1863,7 @@ msgstr "OpenERP" #: code:addons/web/doc/module/static/src/xml/web_example.xml:8 #, python-format msgid "Stop" -msgstr "" +msgstr "Zaustavi" #. module: web #. openerp-web @@ -1863,14 +1880,14 @@ msgstr "Baza podataka:" #: code:addons/web/static/src/xml/base.xml:1268 #, python-format msgid "Uploading ..." -msgstr "" +msgstr "Učitavanje ..." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1874 #, python-format msgid "Name:" -msgstr "" +msgstr "Ime:" #. module: web #. openerp-web @@ -1884,14 +1901,14 @@ msgstr "O programu" #: code:addons/web/static/src/xml/base.xml:1457 #, python-format msgid "Search Again" -msgstr "" +msgstr "Pretraži ponovno" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1481 #, python-format msgid "-- Filters --" -msgstr "" +msgstr "-- Filteri --" #. module: web #. openerp-web @@ -1900,14 +1917,14 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1260 #, python-format msgid "Clear" -msgstr "" +msgstr "Očisti" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1698 #, python-format msgid "Export all Data" -msgstr "" +msgstr "Izvezi sve podatke" #. module: web #. openerp-web @@ -1917,13 +1934,15 @@ msgid "" "Grouping on field '%s' is not possible because that field does not appear in " "the list view." msgstr "" +"Grupiranje po polju '%s' nije moguće jer se to polje ne pojavljuje na " +"pogledu liste." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:559 #, python-format msgid "Set Defaults" -msgstr "" +msgstr "Postavi zadane vrijednosti" #. module: web #. openerp-web @@ -1935,41 +1954,45 @@ msgid "" " You can export all data or only the fields that can be " "reimported after modification." msgstr "" +"Ovaj čarobnjak će izvesti podatke koji odgovaraju trenutnim uslovima " +"pretrage u CSV fajl.\n" +" Možete izvesti sve podatke ili samo ona polja koja mogu biti " +"ponovno uvezena nakon modifikacije." #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:320 #, python-format msgid "The record could not be found in the database." -msgstr "" +msgstr "Zapis nije mogao biti pronađen u bazi podataka." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1498 #, python-format msgid "Filter Name:" -msgstr "" +msgstr "Ime filtera:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:968 #, python-format msgid "Type:" -msgstr "" +msgstr "Tip:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:560 #, python-format msgid "Incorrect super-administrator password" -msgstr "" +msgstr "Ne pravilna šifra super-administratora" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:964 #, python-format msgid "Object:" -msgstr "" +msgstr "Objekt:" #. module: web #. openerp-web @@ -1977,14 +2000,14 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:343 #, python-format msgid "Loading" -msgstr "" +msgstr "Učitavanje" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:599 #, python-format msgid "about a year ago" -msgstr "" +msgstr "prije oko godinu dana" #. module: web #. openerp-web @@ -1994,7 +2017,7 @@ msgstr "" #: code:addons/web/static/src/js/search.js:2120 #, python-format msgid "is not equal to" -msgstr "" +msgstr "nije jednako" #. module: web #. openerp-web @@ -2004,13 +2027,15 @@ msgid "" "The type of the field '%s' must be a many2many field with a relation to " "'ir.attachment' model." msgstr "" +"Tip polja '%s' mora biti many2many polje sa relacijom na 'ir.attachment' " +"model." #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:594 #, python-format msgid "%d hours ago" -msgstr "" +msgstr "%d sati prije" #. module: web #. openerp-web @@ -2018,21 +2043,21 @@ msgstr "" #: code:addons/web/static/src/js/view_form.js:4464 #, python-format msgid "Add: " -msgstr "" +msgstr "Dodaj: " #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1879 #, python-format msgid "Quick Add" -msgstr "" +msgstr "Brzo dodaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1826 #, python-format msgid "Latin 1" -msgstr "" +msgstr "Latin 1" #. module: web #. openerp-web @@ -2052,7 +2077,7 @@ msgstr "Uredu" #: code:addons/web/static/src/js/views.js:1237 #, python-format msgid "Uploading..." -msgstr "" +msgstr "Učitavanje..." #. module: web #. openerp-web @@ -2066,7 +2091,7 @@ msgstr "Učitavam Demonstrativne podatke" #: code:addons/web/static/src/xml/base.xml:637 #, python-format msgid "Created by :" -msgstr "" +msgstr "Kreirao:" #. module: web #. openerp-web @@ -2074,7 +2099,7 @@ msgstr "" #: code:addons/web/static/src/js/dates.js:26 #, python-format msgid "'%s' is not a valid datetime" -msgstr "" +msgstr "'%s' nije pravilno datum-vrijeme" #. module: web #. openerp-web @@ -2090,7 +2115,7 @@ msgstr "Datoteka:" #: code:addons/web/static/src/js/search.js:2122 #, python-format msgid "less than" -msgstr "" +msgstr "manje od" #. module: web #. openerp-web @@ -2105,7 +2130,7 @@ msgstr "Upozorenje" #: code:addons/web/static/src/xml/base.xml:569 #, python-format msgid "Edit SearchView" -msgstr "" +msgstr "Uredi pogled pretrage" #. module: web #. openerp-web @@ -2119,14 +2144,14 @@ msgstr "je istinito" #: code:addons/web/static/src/js/view_form.js:4030 #, python-format msgid "Add an item" -msgstr "" +msgstr "Dodaj stavku" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1621 #, python-format msgid "Save current filter" -msgstr "" +msgstr "Sačuvaj trenutni filter" #. module: web #. openerp-web @@ -2140,7 +2165,7 @@ msgstr "Portvrdi" #: code:addons/web/static/src/js/data_export.js:127 #, python-format msgid "Please enter save field list name" -msgstr "" +msgstr "Molimo unesite ime čuvanja liste polja" #. module: web #. openerp-web @@ -2154,14 +2179,14 @@ msgstr "Preuzimanje \"%s\"" #: code:addons/web/static/src/js/view_form.js:325 #, python-format msgid "New" -msgstr "" +msgstr "Novi" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1777 #, python-format msgid "Can't convert value %s to context" -msgstr "" +msgstr "Ne može se konvertovati vrijednost %s u kontekst" #. module: web #. openerp-web @@ -2169,7 +2194,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:563 #, python-format msgid "Fields View Get" -msgstr "" +msgstr "Dohvati polja pogleda" #. module: web #. openerp-web @@ -2185,21 +2210,21 @@ msgstr "Potvrdi password:" #: code:addons/web/static/src/js/search.js:2123 #, python-format msgid "greater or equal than" -msgstr "" +msgstr "veće ili jednako od" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1349 #, python-format msgid "Button" -msgstr "" +msgstr "Dugme" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:440 #, python-format msgid "OpenERP is a trademark of the" -msgstr "" +msgstr "OpenERP je prodajna marka" #. module: web #. openerp-web @@ -2227,48 +2252,48 @@ msgstr "je pogrešno" #: code:addons/web/static/src/xml/base.xml:426 #, python-format msgid "About OpenERP" -msgstr "" +msgstr "O OpenERP-u" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:301 #, python-format msgid "'%s' is not a correct date, datetime nor time" -msgstr "" +msgstr "'%s' nije pravilan datum, datum-vrijeme ili vrijeme" #. module: web #: code:addons/web/controllers/main.py:1307 #, python-format msgid "No content found for field '%s' on '%s:%s'" -msgstr "" +msgstr "Nije pronađen sadržaj polja '%s' na '%s:%s'" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:322 #, python-format msgid "Database Management" -msgstr "" +msgstr "Upravljanje bazama podataka" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:5138 #, python-format msgid "Image" -msgstr "" +msgstr "Slika" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:81 #, python-format msgid "Manage Databases" -msgstr "" +msgstr "Upravljaj bazama" #. module: web #. openerp-web #: code:addons/web/static/src/js/pyeval.js:770 #, python-format msgid "Evaluation Error" -msgstr "" +msgstr "Greška procjene" #. module: web #. openerp-web @@ -2287,21 +2312,21 @@ msgstr "ne važeći integer" #: code:addons/web/static/src/xml/base.xml:1648 #, python-format msgid "or" -msgstr "" +msgstr "ili" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1485 #, python-format msgid "No" -msgstr "" +msgstr "Ne" #. module: web #. openerp-web #: code:addons/web/static/src/js/formats.js:313 #, python-format msgid "'%s' is not convertible to date, datetime nor time" -msgstr "" +msgstr "'%s' nije konvertibilno u datum, datum-vrijeme ili vrijeme" #. module: web #. openerp-web @@ -2310,7 +2335,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:325 #, python-format msgid "Duplicate" -msgstr "" +msgstr "Dupliciraj" #. module: web #. openerp-web @@ -2319,21 +2344,21 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1419 #, python-format msgid "Discard" -msgstr "" +msgstr "Odbaci" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1642 #, python-format msgid "Add a condition" -msgstr "" +msgstr "Dodaj uslov" #. module: web #. openerp-web #: code:addons/web/static/src/js/coresetup.js:619 #, python-format msgid "Still loading..." -msgstr "" +msgstr "Još se učitava..." #. module: web #. openerp-web @@ -2341,13 +2366,14 @@ msgstr "" #, python-format msgid "Incorrect value for field %(fieldname)s: [%(value)s] is %(message)s" msgstr "" +"Ne pravilna vrijednost za polje %(fieldname)s: [%(value)s] je %(message)s" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:3926 #, python-format msgid "The o2m record must be saved before an action can be used" -msgstr "" +msgstr "o2m zapis mora biti sačuvan prije upotrebe neke akcije" #. module: web #. openerp-web @@ -2361,105 +2387,105 @@ msgstr "Spašeno" #: code:addons/web/static/src/xml/base.xml:1628 #, python-format msgid "Use by default" -msgstr "" +msgstr "Koristi kao zadano" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_list.js:1358 #, python-format msgid "%s (%d)" -msgstr "" +msgstr "%s (%d)" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:841 #, python-format msgid "triggered from search view" -msgstr "" +msgstr "aktivirano iz pogleda pretrage" #. module: web #. openerp-web #: code:addons/web/static/src/js/search.js:1079 #, python-format msgid "Filter" -msgstr "" +msgstr "Filter" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:972 #, python-format msgid "Widget:" -msgstr "" +msgstr "Widget:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:570 #, python-format msgid "Edit Action" -msgstr "" +msgstr "Uredi akciju" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:577 #, python-format msgid "ID:" -msgstr "" +msgstr "ID:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:892 #, python-format msgid "Only you" -msgstr "" +msgstr "Samo vi" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:571 #, python-format msgid "Edit Workflow" -msgstr "" +msgstr "Uredi radni tok" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1246 #, python-format msgid "Do you really want to delete this attachment ?" -msgstr "" +msgstr "Da li stvarno želite obrisati ovu zakačku ?" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:914 #, python-format msgid "Technical Translation" -msgstr "" +msgstr "Tehnički prevod" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:960 #, python-format msgid "Field:" -msgstr "" +msgstr "Polje:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:642 #, python-format msgid "Modified by :" -msgstr "" +msgstr "Modificirao:" #. module: web #. openerp-web #: code:addons/web/static/src/js/chrome.js:521 #, python-format msgid "The database %s has been dropped" -msgstr "" +msgstr "Baza podataka %s je bila odbačena" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:482 #, python-format msgid "User's timezone" -msgstr "" +msgstr "Vremenska zona korisnika" #. module: web #. openerp-web @@ -2467,21 +2493,21 @@ msgstr "" #: code:addons/web/static/src/js/chrome.js:1276 #, python-format msgid "Client Error" -msgstr "" +msgstr "Greška klijenta" #. module: web #. openerp-web #: code:addons/web/static/src/js/views.js:1073 #, python-format msgid "Print" -msgstr "" +msgstr "Štampaj" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1359 #, python-format msgid "Special:" -msgstr "" +msgstr "Specijalno:" #. module: web #: code:addons/web/controllers/main.py:877 @@ -2489,13 +2515,14 @@ msgstr "" msgid "" "The old password you provided is incorrect, your password was not changed." msgstr "" +"Stara šifra koju ste dali nije tačna, Vaša šifra neće biti promjenjena." #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:583 #, python-format msgid "Creation User:" -msgstr "" +msgstr "Korisnik kreiranja:" #. module: web #. openerp-web @@ -2509,14 +2536,14 @@ msgstr "Jeste li sigurni da želite izbrisati ovaj zapis?" #: code:addons/web/static/src/xml/base.xml:1413 #, python-format msgid "Save & Close" -msgstr "" +msgstr "Sačuvaj i Zatvori" #. module: web #. openerp-web #: code:addons/web/static/src/js/view_form.js:2932 #, python-format msgid "Search More..." -msgstr "" +msgstr "Pretraži više..." #. module: web #. openerp-web @@ -2524,7 +2551,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:329 #, python-format msgid "Password" -msgstr "" +msgstr "Šifra" #. module: web #. openerp-web @@ -2540,14 +2567,14 @@ msgstr "Uređivanje" #: code:addons/web/static/src/xml/base.xml:1727 #, python-format msgid "Remove" -msgstr "" +msgstr "Ukloni" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1090 #, python-format msgid "Select date" -msgstr "" +msgstr "Odaberi datum" #. module: web #. openerp-web @@ -2555,42 +2582,42 @@ msgstr "" #: code:addons/web/static/src/js/search.js:1369 #, python-format msgid "Search %(field)s for: %(value)s" -msgstr "" +msgstr "Pretraži %(field)s za: %(value)s" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1305 #, python-format msgid "Delete this file" -msgstr "" +msgstr "Obriši ovaj fajl" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:168 #, python-format msgid "Create Database" -msgstr "" +msgstr "Kreiraj bazu podataka" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:442 #, python-format msgid "GNU Affero General Public License" -msgstr "" +msgstr "GNU Affero General Public License" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1816 #, python-format msgid "Separator:" -msgstr "" +msgstr "Separator:" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:318 #, python-format msgid "Back to Login" -msgstr "" +msgstr "Vrati se na prijavu" #. module: web #. openerp-web @@ -2598,7 +2625,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1480 #, python-format msgid "Filters" -msgstr "" +msgstr "Filteri" #~ msgid "Send OpenERP Enterprise Report" #~ msgstr "Pošalji OpenERP Enterprise Izvještaj" diff --git a/addons/web/i18n/ca.po b/addons/web/i18n/ca.po index 5f01d27dc72..e8e7d947372 100644 --- a/addons/web/i18n/ca.po +++ b/addons/web/i18n/ca.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po index d7c1dc997e2..734ffdabcd7 100644 --- a/addons/web/i18n/cs.po +++ b/addons/web/i18n/cs.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" "X-Poedit-Language: Czech\n" #. module: web diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po index 3efc108c60c..53bbeca1ac5 100644 --- a/addons/web/i18n/da.po +++ b/addons/web/i18n/da.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-05 04:44+0000\n" -"X-Generator: Launchpad (build 16758)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po index a2281ab4b1a..80849a062f5 100644 --- a/addons/web/i18n/de.po +++ b/addons/web/i18n/de.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po index 1e3a37162db..228c6ddce90 100644 --- a/addons/web/i18n/en_AU.po +++ b/addons/web/i18n/en_AU.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po index 7dfa6515d4e..e927fddba18 100644 --- a/addons/web/i18n/en_GB.po +++ b/addons/web/i18n/en_GB.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po index 34f60912f93..aa9a5efc7cd 100644 --- a/addons/web/i18n/es.po +++ b/addons/web/i18n/es.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CL.po b/addons/web/i18n/es_CL.po index fc481f3d3f3..5feb88437f9 100644 --- a/addons/web/i18n/es_CL.po +++ b/addons/web/i18n/es_CL.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_CR.po b/addons/web/i18n/es_CR.po index fef6986e35d..2fb37c8fd6b 100644 --- a/addons/web/i18n/es_CR.po +++ b/addons/web/i18n/es_CR.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" "Language: es\n" #. module: web diff --git a/addons/web/i18n/es_DO.po b/addons/web/i18n/es_DO.po index 86bb3862f19..f6b97acb10d 100644 --- a/addons/web/i18n/es_DO.po +++ b/addons/web/i18n/es_DO.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po index 2689e3b0572..d14d816b4c6 100644 --- a/addons/web/i18n/es_EC.po +++ b/addons/web/i18n/es_EC.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/es_MX.po b/addons/web/i18n/es_MX.po index 211d645ac6b..66a41b0bbf2 100644 --- a/addons/web/i18n/es_MX.po +++ b/addons/web/i18n/es_MX.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po index c8ada6f9e52..614f8a89760 100644 --- a/addons/web/i18n/et.po +++ b/addons/web/i18n/et.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/eu.po b/addons/web/i18n/eu.po index ad981b78047..faf89c4f547 100644 --- a/addons/web/i18n/eu.po +++ b/addons/web/i18n/eu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fa.po b/addons/web/i18n/fa.po index e2f8024867f..98c0a3ebda1 100644 --- a/addons/web/i18n/fa.po +++ b/addons/web/i18n/fa.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po index ef20351be73..b840446b5f1 100644 --- a/addons/web/i18n/fi.po +++ b/addons/web/i18n/fi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po index 661ac102fe3..575f142faf1 100644 --- a/addons/web/i18n/fr.po +++ b/addons/web/i18n/fr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/fr_CA.po b/addons/web/i18n/fr_CA.po index 086b1885aec..81a3636fa0f 100644 --- a/addons/web/i18n/fr_CA.po +++ b/addons/web/i18n/fr_CA.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gl.po b/addons/web/i18n/gl.po index 3a8b37f7db7..aa4c8da7b4f 100644 --- a/addons/web/i18n/gl.po +++ b/addons/web/i18n/gl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/gu.po b/addons/web/i18n/gu.po index 7fab254c9d5..5eab79d4048 100644 --- a/addons/web/i18n/gu.po +++ b/addons/web/i18n/gu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hi.po b/addons/web/i18n/hi.po index d10150e471b..21ac7d61967 100644 --- a/addons/web/i18n/hi.po +++ b/addons/web/i18n/hi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hr.po b/addons/web/i18n/hr.po index 08710210cde..cfc545c15bb 100644 --- a/addons/web/i18n/hr.po +++ b/addons/web/i18n/hr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po index 4a1fd98dac1..1218445a11f 100644 --- a/addons/web/i18n/hu.po +++ b/addons/web/i18n/hu.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/id.po b/addons/web/i18n/id.po index 49e8cc77468..354b41f8d6c 100644 --- a/addons/web/i18n/id.po +++ b/addons/web/i18n/id.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index eb04e78d915..dd8a9d6b7ab 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index 8b0f350a322..2110c81e7b6 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ka.po b/addons/web/i18n/ka.po index 65084778ade..83f877b3dec 100644 --- a/addons/web/i18n/ka.po +++ b/addons/web/i18n/ka.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ko.po b/addons/web/i18n/ko.po index 8fefc62c832..c9f4bfc90c2 100644 --- a/addons/web/i18n/ko.po +++ b/addons/web/i18n/ko.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lo.po b/addons/web/i18n/lo.po index cfb3098e4cd..f5e5076c49c 100644 --- a/addons/web/i18n/lo.po +++ b/addons/web/i18n/lo.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lt.po b/addons/web/i18n/lt.po index 20e4e0f1e8e..0bb44ab1311 100644 --- a/addons/web/i18n/lt.po +++ b/addons/web/i18n/lt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/lv.po b/addons/web/i18n/lv.po index 038e54572ad..19e07517ef3 100644 --- a/addons/web/i18n/lv.po +++ b/addons/web/i18n/lv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po index ddaa0502bf7..1a4b2f87bbe 100644 --- a/addons/web/i18n/mk.po +++ b/addons/web/i18n/mk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po index 1a441ce0db5..45f41087030 100644 --- a/addons/web/i18n/mn.po +++ b/addons/web/i18n/mn.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po index f091a4110d3..4accf6de92b 100644 --- a/addons/web/i18n/nb.po +++ b/addons/web/i18n/nb.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po index 4a8d2c99643..dc1e2c65f1e 100644 --- a/addons/web/i18n/nl.po +++ b/addons/web/i18n/nl.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-21 19:38+0000\n" -"Last-Translator: Erwin van der Ploeg (Endian Solutions) \n" +"Last-Translator: Erwin van der Ploeg (BAS Solutions) \n" "Language-Team: Dutch \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:39+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po index efc1059a186..bbd40e6668d 100644 --- a/addons/web/i18n/nl_BE.po +++ b/addons/web/i18n/nl_BE.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po index fb435909899..60d37d8b42a 100644 --- a/addons/web/i18n/pl.po +++ b/addons/web/i18n/pl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po index 43af9b3df1a..a79ef048c3b 100644 --- a/addons/web/i18n/pt.po +++ b/addons/web/i18n/pt.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po index eba73e98386..8c235d0e77c 100644 --- a/addons/web/i18n/pt_BR.po +++ b/addons/web/i18n/pt_BR.po @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po index f128136055b..3f2cffc6ac3 100644 --- a/addons/web/i18n/ro.po +++ b/addons/web/i18n/ro.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po index 0ece8fa7647..13c91a530ee 100644 --- a/addons/web/i18n/ru.po +++ b/addons/web/i18n/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sk.po b/addons/web/i18n/sk.po index 20189da93fa..83cbc765b9d 100644 --- a/addons/web/i18n/sk.po +++ b/addons/web/i18n/sk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po index 993c9844123..22277901d2d 100644 --- a/addons/web/i18n/sl.po +++ b/addons/web/i18n/sl.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sq.po b/addons/web/i18n/sq.po index fe83bfb2472..4d0c8368035 100644 --- a/addons/web/i18n/sq.po +++ b/addons/web/i18n/sq.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:44+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:38+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sr@latin.po b/addons/web/i18n/sr@latin.po index 0318dfa0307..bb1820e5e8e 100644 --- a/addons/web/i18n/sr@latin.po +++ b/addons/web/i18n/sr@latin.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po index cd7c635f50c..47469fce2cc 100644 --- a/addons/web/i18n/sv.po +++ b/addons/web/i18n/sv.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/th.po b/addons/web/i18n/th.po index 57ea48c34b1..f56c84526f1 100644 --- a/addons/web/i18n/th.po +++ b/addons/web/i18n/th.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web @@ -82,7 +82,7 @@ msgstr "เปลี่ยนรหัสผ่านหลัก" #: code:addons/web/static/src/js/chrome.js:513 #, python-format msgid "Do you really want to delete the database: %s ?" -msgstr "ต้องการลบ ฐานข้อมูล: %s ?" +msgstr "คุณต้องการลบ ฐานข้อมูล: %s ?" #. module: web #. openerp-web @@ -141,7 +141,7 @@ msgstr "'%s' ไม่ถูกต้อง" #: code:addons/web/static/src/xml/base.xml:1858 #, python-format msgid "Here is a preview of the file we could not import:" -msgstr "" +msgstr "นี้คือตัวอย่างของแฟ้มที่เราไม่สามารถนำเข้าได้" #. module: web #. openerp-web @@ -291,7 +291,7 @@ msgstr "ไม่ได้กำหนด" #: code:addons/web/static/src/js/view_form.js:5002 #, python-format msgid "File Upload" -msgstr "อัพโหลดข้อมูล" +msgstr "อัพโหลดไฟล์" #. module: web #. openerp-web @@ -391,7 +391,7 @@ msgstr "วิดเจ็ต Unhandled" #: code:addons/web/static/src/xml/base.xml:1004 #, python-format msgid "Selection:" -msgstr "เลือก" +msgstr "การเลือก:" #. module: web #. openerp-web diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po index 64a2fb91f36..2ca387292be 100644 --- a/addons/web/i18n/tr.po +++ b/addons/web/i18n/tr.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:45+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po index 18f17f66786..8fd40ec6581 100644 --- a/addons/web/i18n/uk.po +++ b/addons/web/i18n/uk.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/vi.po b/addons/web/i18n/vi.po index 51831ce098b..09e1c688cd4 100644 --- a/addons/web/i18n/vi.po +++ b/addons/web/i18n/vi.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:40+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po index 1829371b6d4..2448925ae85 100644 --- a/addons/web/i18n/zh_CN.po +++ b/addons/web/i18n/zh_CN.po @@ -9,13 +9,13 @@ msgstr "" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" "PO-Revision-Date: 2012-12-04 01:53+0000\n" -"Last-Translator: 盈通 ccdos \n" +"Last-Translator: 盈通 ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po index c947aa2ac8a..651fd1bd0e0 100644 --- a/addons/web/i18n/zh_TW.po +++ b/addons/web/i18n/zh_TW.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-08-27 04:46+0000\n" -"X-Generator: Launchpad (build 16738)\n" +"X-Launchpad-Export-Date: 2013-09-14 05:41+0000\n" +"X-Generator: Launchpad (build 16761)\n" #. module: web #. openerp-web -- cgit v1.2.3 From 0afff9aae3497d2621bd9b3d5abd56531f60fb95 Mon Sep 17 00:00:00 2001 From: ima-openerp Date: Wed, 18 Sep 2013 12:28:54 +0530 Subject: [IMP]removed unused method which is defined only for web shortcuts module. bzr revid: ishwarmalvi13@gmail.com-20130918065854-u0aiyu5e1z7tf09g --- addons/web/controllers/main.py | 7 ------- 1 file changed, 7 deletions(-) (limited to 'addons/web') diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 651e5c42a97..81d37b5aae0 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1010,13 +1010,6 @@ class Menu(http.Controller): """ return request.session.model('ir.ui.menu').get_needaction_data(menu_ids, request.context) - @http.route('/web/menu/action', type='json', auth="user") - def action(self, menu_id): - # still used by web_shortcut - actions = load_actions_from_ir_values('action', 'tree_but_open', - [('ir.ui.menu', menu_id)], False) - return {"action": actions} - class DataSet(http.Controller): @http.route('/web/dataset/search_read', type='json', auth="user") -- cgit v1.2.3 From d4162cc0afee7805555f578beb1ddce0b838ed5d Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 24 Sep 2013 12:41:01 +0200 Subject: [FIX] @route compatibility with version 7.0: */ add request.debug property */ inject request at first argument at runtime, do not use wrapper method. */ force slashes in routes (do not use os.path.join() for urls) */ routes defined using the legacy decorator httprequest and jsonrequest uses auth="none" */ avoid registring web module routes twice bzr revid: chs@openerp.com-20130924104101-h1dexy6m74b56gvi --- addons/web/http.py | 54 ++++++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 30 deletions(-) (limited to 'addons/web') diff --git a/addons/web/http.py b/addons/web/http.py index c8fabafd594..73e1843e401 100644 --- a/addons/web/http.py +++ b/addons/web/http.py @@ -177,6 +177,11 @@ class WebRequest(object): self.disable_db = True self.uid = None + @property + def debug(self): + return 'debug' in self.httprequest.args + + def auth_method_user(): request.uid = request.session.uid @@ -382,10 +387,10 @@ def jsonrequest(f): Use the ``route()`` decorator instead. """ f.combine = True - base = f.__name__ + base = f.__name__.lstrip('/') if f.__name__ == "index": base = "" - return route([base, os.path.join(base, "")], type="json", auth="user")(f) + return route([base, base + "/"], type="json", auth="none")(f) class HttpRequest(WebRequest): """ Regular GET/POST request @@ -460,10 +465,10 @@ def httprequest(f): Use the ``route()`` decorator instead. """ f.combine = True - base = f.__name__ + base = f.__name__.lstrip('/') if f.__name__ == "index": base = "" - return route([base, os.path.join(base, "")], type="http", auth="user")(f) + return route([base, base + "/"], type="http", auth="none")(f) #---------------------------------------------------------- # Local storage of requests @@ -496,16 +501,13 @@ class ControllerType(type): def __init__(cls, name, bases, attrs): super(ControllerType, cls).__init__(name, bases, attrs) - # create wrappers for old-style methods with req as first argument - cls._methods_wrapper = {} + # flag old-style methods with req as first argument for k, v in attrs.items(): if inspect.isfunction(v): spec = inspect.getargspec(v) first_arg = spec.args[1] if len(spec.args) >= 2 else None if first_arg in ["req", "request"]: - def build_new(nv): - return lambda self, *args, **kwargs: nv(self, request, *args, **kwargs) - cls._methods_wrapper[k] = build_new(v) + v._first_arg_is_req = True # store the controller in the controllers list name_class = ("%s.%s" % (cls.__module__, cls.__name__), cls) @@ -514,7 +516,6 @@ class ControllerType(type): return # we want to know all modules that have controllers module = class_path[2] - controllers_per_module.setdefault(module, []) # but we only store controllers directly inheriting from Controller if not "Controller" in globals() or not Controller in bases: return @@ -523,12 +524,6 @@ class ControllerType(type): class Controller(object): __metaclass__ = ControllerType - def get_wrapped_method(self, name): - if name in self.__class__._methods_wrapper: - return functools.partial(self.__class__._methods_wrapper[name], self) - else: - return getattr(self, name) - ############################# # OpenERP Sessions # ############################# @@ -991,8 +986,8 @@ class Root(object): cls = v[1] subclasses = cls.__subclasses__() - subclasses = [c for c in subclasses if c.__module__.split(".")[:2] == ["openerp", "addons"] and \ - cls.__module__.split(".")[2] in modules] + subclasses = [c for c in subclasses if c.__module__.startswith('openerp.addons.') and + c.__module__.split(".")[2] in modules] if subclasses: name = "%s (extended by %s)" % (cls.__name__, ', '.join(sub.__name__ for sub in subclasses)) cls = type(name, tuple(reversed(subclasses)), {}) @@ -1001,17 +996,15 @@ class Root(object): members = inspect.getmembers(o) for mk, mv in members: if inspect.ismethod(mv) and getattr(mv, 'exposed', False) and \ - nodb_only == (getattr(mv, "auth", None) == "none"): - function = (o.get_wrapped_method(mk), mv) + nodb_only == (getattr(mv, "auth", "none") == "none"): for url in mv.routes: if getattr(mv, "combine", False): - url = os.path.join(o._cp_path, url) + url = o._cp_path.rstrip('/') + '/' + url.lstrip('/') if url.endswith("/") and len(url) > 1: url = url[: -1] - routing_map.add(routing.Rule(url, endpoint=function)) + routing_map.add(routing.Rule(url, endpoint=mv)) - modules_set = set(controllers_per_module.keys()) - modules_set -= set("web") + modules_set = set(controllers_per_module.keys()) - set(['web']) # building all none methods gen(["web"] + sorted(modules_set), True) if not db: @@ -1020,12 +1013,12 @@ class Root(object): registry = openerp.modules.registry.RegistryManager.get(db) with registry.cursor() as cr: m = registry.get('ir.module.module') - ids = m.search(cr, openerp.SUPERUSER_ID, [('state','=','installed')]) + ids = m.search(cr, openerp.SUPERUSER_ID, [('state', '=', 'installed'), ('name', '!=', 'web')]) installed = set([x['name'] for x in m.read(cr, 1, ids, ['name'])]) modules_set = modules_set.intersection(set(installed)) modules = ["web"] + sorted(modules_set) # building all other methods - gen(["web"] + sorted(modules_set), False) + gen(modules, False) return routing_map @@ -1044,17 +1037,18 @@ class Root(object): """ path = request.httprequest.path urls = self.get_db_router(request.db).bind("") - matched, arguments = urls.match(path) + func, arguments = urls.match(path) arguments = dict([(k, v) for k, v in arguments.items() if not k.startswith("_ignored_")]) - func, original = matched def nfunc(*args, **kwargs): kwargs.update(arguments) + if getattr(func, '_first_arg_is_req', False): + args = (request,) + args return func(*args, **kwargs) request.func = nfunc - request.auth_method = getattr(original, "auth", "user") - request.func_request_type = original.exposed + request.auth_method = getattr(func, "auth", "user") + request.func_request_type = func.exposed root = None -- cgit v1.2.3 From eae9b157313590084fbce975127f2ebfd800f2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20van=20der=20Essen?= Date: Tue, 24 Sep 2013 17:19:13 +0200 Subject: [IMP] helpful exception message bzr revid: fva@openerp.com-20130924151913-mq8sj2a8hahylmig --- addons/web/controllers/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'addons/web') diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 651e5c42a97..bcef905b3c4 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -1086,7 +1086,7 @@ class DataSet(http.Controller): return records if method.startswith('_'): - raise Exception("Access denied") + raise Exception("Access Denied: Underscore prefixed methods cannot be remotely called") return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) -- cgit v1.2.3 From 38e3daed00b9bfc7386a0c08debe7bc2f164f165 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 25 Sep 2013 16:45:56 +0200 Subject: wip bzr revid: nicolas.vanhoren@openerp.com-20130925144556-97abdprnibq631sc --- addons/web/static/src/js/view_form.js | 71 +++++++++++++++++++++++++++++++++++ addons/web/static/src/xml/base.xml | 13 +++++++ 2 files changed, 84 insertions(+) (limited to 'addons/web') diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 324896112cc..679eee0d361 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -5629,6 +5629,76 @@ instance.web.form.FieldMonetary = instance.web.form.FieldFloat.extend({ }, }); +/* + +*/ +instance.web.form.FieldMany2ManyCheckBoxes = instance.web.form.AbstractField.extend(instance.web.form.ReinitializeFieldMixin, { + className: "oe_form_many2many_checkboxes", + init: function() { + this._super.apply(this, arguments); + this.set("value", {}); + this.set("records", []); + this.field_manager.on("view_content_has_changed", this, function() { + var domain = new openerp.web.CompoundDomain(this.build_domain()).eval(); + if (! _.isEqual(domain, this.get("domain"))) { + this.set("domain", domain); + } + }); + this.records_orderer = new instance.web.DropMisordered(); + }, + initialize_field: function() { + instance.web.form.ReinitializeFieldMixin.initialize_field.call(this) + this.on("change:domain", this, this.query_records); + this.set("domain", new openerp.web.CompoundDomain(this.build_domain()).eval()); + this.on("change:records", this, this.render_value); + }, + query_records: function() { + var self = this; + var model = new openerp.Model(openerp.session, this.field.relation); + this.records_orderer.add(model.call("search", [this.get("domain")], {"context": this.build_context()}).then(function(record_ids) { + return model.call("name_get", [record_ids] , {"context": self.build_context()}); + })).then(function(res) { + self.set("records", res); + }); + }, + render_value: function() { + this.$().html(QWeb.render("FieldMany2ManyCheckBoxes", {widget: this, selected: this.get("value")})); + var inputs = this.$("input"); + inputs.change(_.bind(this.from_dom, this)); + if (this.get("effective_readonly")) + inputs.attr("disabled", "true"); + }, + from_dom: function() { + var new_value = {}; + this.$("input").each(function() { + var elem = $(this); + new_value[elem.data("record-id")] = elem.attr("checked") ? true : undefined; + }); + if (! _.isEqual(new_value, this.get("value"))) + this.internal_set_value(new_value); + }, + set_value: function(value) { + value = value || []; + if (value.length >= 1 && value[0] instanceof Array) { + value = value[0][2]; + } + var formatted = {}; + _.each(value, function(el) { + formatted[JSON.stringify(el)] = true; + }); + this._super(formatted); + }, + get_value: function() { + var value = _.filter(_.keys(this.get("value")), function(el) { + return this.get("value")[el]; + }, this); + value = _.map(value, function(el) { + return JSON.parse(el); + }); + return [commands.replace_with(value)]; + }, +}); + /** * Registry of form fields, called by :js:`instance.web.FormView`. * @@ -5664,6 +5734,7 @@ instance.web.form.widgets = new instance.web.Registry({ 'many2many_binary': 'instance.web.form.FieldMany2ManyBinaryMultiFiles', 'statusbar': 'instance.web.form.FieldStatus', 'monetary': 'instance.web.form.FieldMonetary', + 'many2many_checkboxes': 'instance.web.form.FieldMany2ManyCheckBoxes', }); /** diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index ee87237d045..48c51c4837c 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1934,4 +1934,17 @@ + + +
+ + + + + + + +
+
+
-- cgit v1.2.3 From 4aad26f5c27391afe235218b868652755c399f73 Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Thu, 26 Sep 2013 18:49:02 +0200 Subject: [ADD] es5-shim bzr revid: fme@openerp.com-20130926164902-5ioas0np4tb9qnge --- addons/web/__openerp__.py | 1 + addons/web/static/lib/es5-shim/README.md | 155 +++ addons/web/static/lib/es5-shim/es5-shim.js | 1320 ++++++++++++++++++++++++ addons/web/static/lib/es5-shim/es5-shim.map | 1 + addons/web/static/lib/es5-shim/es5-shim.min.js | 4 + addons/web/static/lib/es5-shim/package.json | 34 + addons/web/static/src/js/core.js | 25 - 7 files changed, 1515 insertions(+), 25 deletions(-) create mode 100644 addons/web/static/lib/es5-shim/README.md create mode 100644 addons/web/static/lib/es5-shim/es5-shim.js create mode 100644 addons/web/static/lib/es5-shim/es5-shim.map create mode 100644 addons/web/static/lib/es5-shim/es5-shim.min.js create mode 100644 addons/web/static/lib/es5-shim/package.json (limited to 'addons/web') diff --git a/addons/web/__openerp__.py b/addons/web/__openerp__.py index a3f02715b7b..bb9fcaa0dbd 100644 --- a/addons/web/__openerp__.py +++ b/addons/web/__openerp__.py @@ -13,6 +13,7 @@ This module provides the core of the OpenERP Web Client. 'auto_install': True, 'post_load': 'wsgi_postload', 'js' : [ + "static/lib/es5-shim/es5-shim.min.js", "static/lib/datejs/globalization/en-US.js", "static/lib/datejs/core.js", "static/lib/datejs/parser.js", diff --git a/addons/web/static/lib/es5-shim/README.md b/addons/web/static/lib/es5-shim/README.md new file mode 100644 index 00000000000..abe7abe2857 --- /dev/null +++ b/addons/web/static/lib/es5-shim/README.md @@ -0,0 +1,155 @@ +`es5-shim.js` and `es5-shim.min.js` monkey-patch a JavaScript context to +contain all EcmaScript 5 methods that can be faithfully emulated with a +legacy JavaScript engine. + +`es5-sham.js` and `es5-sham.min.js` monkey-patch other ES5 methods as +closely as possible. For these methods, as closely as possible to ES5 +is not very close. Many of these shams are intended only to allow code +to be written to ES5 without causing run-time errors in older engines. +In many cases, this means that these shams cause many ES5 methods to +silently fail. Decide carefully whether this is what you want. + + +## Tests + +The tests are written with the Jasmine BDD test framework. +To run the tests, navigate to /tests/. + +In order to run against the shim-code, the tests attempt to kill the current +implementation of the missing methods. This happens in /tests/helpers/h-kill.js. +So in order to run the tests against the built-in methods, invalidate that file somehow +(comment-out, delete the file, delete the script-tag, etc.). + +## Shims + +### Complete tests ### + +* Array.prototype.every +* Array.prototype.filter +* Array.prototype.forEach +* Array.prototype.indexOf +* Array.prototype.lastIndexOf +* Array.prototype.map +* Array.prototype.some +* Array.prototype.reduce +* Array.prototype.reduceRight +* Array.isArray +* Date.now +* Date.prototype.toJSON +* Function.prototype.bind + * :warning: Caveat: the bound function's length is always 0. + * :warning: Caveat: the bound function has a prototype property. + * :warning: Caveat: bound functions do not try too hard to keep you + from manipulating their ``arguments`` and ``caller`` properties. + * :warning: Caveat: bound functions don't have checks in ``call`` and + ``apply`` to avoid executing as a constructor. +* Number.prototype.toFixed +* Object.keys +* String.prototype.split +* String.prototype.trim +* Date.parse (for ISO parsing) +* Date.prototype.toISOString + +## Shams + +* :warning: Object.create + + For the case of simply "begetting" an object that inherits + prototypically from another, this should work fine across legacy + engines. + + :warning: Object.create(null) will work only in browsers that + support prototype assignment. This creates an object that does not + have any properties inherited from Object.prototype. It will + silently fail otherwise. + + :warning: The second argument is passed to Object.defineProperties + which will probably fail either silently or with extreme predudice. + +* :warning: Object.getPrototypeOf + + This will return "undefined" in some cases. It uses `__proto__` if + it's available. Failing that, it uses constructor.prototype, which + depends on the constructor property of the object's prototype having + not been replaced. If your object was created like this, it won't + work: + + function Foo() { + } + Foo.prototype = {}; + + Because the prototype reassignment destroys the constructor + property. + + This will work for all objects that were created using + `Object.create` implemented with this library. + +* :warning: Object.getOwnPropertyNames + + This method uses Object.keys, so it will not be accurate on legacy + engines. + +* Object.isSealed + + Returns "false" in all legacy engines for all objects, which is + conveniently guaranteed to be accurate. + +* Object.isFrozen + + Returns "false" in all legacy engines for all objects, which is + conveniently guaranteed to be accurate. + +* Object.isExtensible + + Works like a charm, by trying very hard to extend the object then + redacting the extension. + +### May fail + +* :warning: Object.getOwnPropertyDescriptor + + The behavior of this shim does not conform to ES5. It should + probably not be used at this time, until its behavior has been + reviewed and been confirmed to be useful in legacy engines. + +* :warning: Object.defineProperty + + In the worst of circumstances, IE 8 provides a version of this + method that only works on DOM objects. This sham will not be + installed. The given version of `defineProperty` will throw an + exception if used on non-DOM objects. + + In slightly better circumstances, this method will silently fail to + set "writable", "enumerable", and "configurable" properties. + + Providing a getter or setter with "get" or "set" on a descriptor + will silently fail on engines that lack "__defineGetter__" and + "__defineSetter__", which include all versions of IE. + + https://github.com/kriskowal/es5-shim/issues#issue/5 + +* :warning: Object.defineProperties + + This uses the Object.defineProperty shim + +* Object.seal + + Silently fails on all legacy engines. This should be + fine unless you are depending on the safety and security + provisions of this method, which you cannot possibly + obtain in legacy engines. + +* Object.freeze + + Silently fails on all legacy engines. This should be + fine unless you are depending on the safety and security + provisions of this method, which you cannot possibly + obtain in legacy engines. + +* Object.preventExtensions + + Silently fails on all legacy engines. This should be + fine unless you are depending on the safety and security + provisions of this method, which you cannot possibly + obtain in legacy engines. + diff --git a/addons/web/static/lib/es5-shim/es5-shim.js b/addons/web/static/lib/es5-shim/es5-shim.js new file mode 100644 index 00000000000..4609ea2f77a --- /dev/null +++ b/addons/web/static/lib/es5-shim/es5-shim.js @@ -0,0 +1,1320 @@ +// Copyright 2009-2012 by contributors, MIT License +// vim: ts=4 sts=4 sw=4 expandtab + +// Module systems magic dance +(function (definition) { + // RequireJS + if (typeof define == "function") { + define(definition); + // YUI3 + } else if (typeof YUI == "function") { + YUI.add("es5", definition); + // CommonJS and