diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-12-12 11:38:25 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-12-12 11:38:25 +0100 |
| commit | f351dd8cab980a67ee17c431574d8ba9c37b8fdc (patch) | |
| tree | 2cb6e64d0a5083aade80206ea7fbfbcda69992b8 /addons/web | |
| parent | 1144235d06a2ad42060c05d4ece145ce46a660e1 (diff) | |
| parent | 047e2b28de4653f11e097e6232d7fb79d54ce3af (diff) | |
[MERGE] forward port branch 12.0 up to 047e2b28de4
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/i18n/cs.po | 4 | ||||
| -rw-r--r-- | addons/web/i18n/es.po | 32 | ||||
| -rw-r--r-- | addons/web/i18n/it.po | 32 | ||||
| -rw-r--r-- | addons/web/i18n/ja.po | 16 | ||||
| -rw-r--r-- | addons/web/i18n/nb.po | 232 | ||||
| -rw-r--r-- | addons/web/i18n/pt_BR.po | 30 | ||||
| -rw-r--r-- | addons/web/static/lib/py.js/lib/py.js | 12 | ||||
| -rw-r--r-- | addons/web/static/src/js/chrome/action_manager_act_window.js | 2 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/graph/graph_renderer.js | 9 | ||||
| -rw-r--r-- | addons/web/static/src/js/views/pivot/pivot_view.js | 8 | ||||
| -rw-r--r-- | addons/web/static/src/scss/layout_background.scss | 54 | ||||
| -rw-r--r-- | addons/web/static/src/scss/layout_boxed.scss | 67 | ||||
| -rw-r--r-- | addons/web/static/src/scss/layout_clean.scss | 32 | ||||
| -rw-r--r-- | addons/web/static/src/scss/report.scss | 15 | ||||
| -rw-r--r-- | addons/web/static/tests/chrome/action_manager_tests.js | 56 | ||||
| -rw-r--r-- | addons/web/static/tests/core/py_utils_tests.js | 7 | ||||
| -rw-r--r-- | addons/web/static/tests/views/graph_tests.js | 33 | ||||
| -rw-r--r-- | addons/web/static/tests/views/pivot_tests.js | 17 |
18 files changed, 435 insertions, 223 deletions
diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po index d7a7df2f4e2..71f219b2bf7 100644 --- a/addons/web/i18n/cs.po +++ b/addons/web/i18n/cs.po @@ -262,7 +262,7 @@ msgstr "Přístup zamítnut" #: code:addons/web/static/src/js/services/crash_manager.js:15 #, python-format msgid "Access Error" -msgstr "" +msgstr "Chyba přístupu" #. module: web #. openerp-web @@ -2817,7 +2817,7 @@ msgstr "Uložit" #: code:addons/web/static/src/js/views/view_dialogs.js:137 #, python-format msgid "Save & Close" -msgstr "" +msgstr "Uložit a zavřít" #. module: web #. openerp-web diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po index 3380775f563..bee5737b4b9 100644 --- a/addons/web/i18n/es.po +++ b/addons/web/i18n/es.po @@ -3,40 +3,42 @@ # * web # # Translators: -# Martin Trigaux, 2018 -# e2f <projects@e2f.com>, 2018 # ES R2 <e2fds74f5ds412@outlook.com>, 2018 # David Perez <david@closemarketing.es>, 2018 # Ana Juaristi <ajuaristio@gmail.com>, 2018 # Mateo Tibaquirá Palacios <nestormateo@gmail.com>, 2018 # Alejandro Santana <alejandrosantana@anubia.es>, 2018 # Odoo developer at Praxya.com <sergio.estada@gmail.com>, 2018 -# David Arnold <blaggacao@users.noreply.github.com>, 2018 # José Vicente <txusev@gmail.com>, 2018 -# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2018 -# Luis M. Triana <luis.triana@jarsa.com.mx>, 2018 # David Casas <info@informaticacoslada.com>, 2018 -# Antonio Trueba, 2018 -# RGB Consulting <odoo@rgbconsulting.com>, 2018 -# e2f_EPV Translator <e2f_EPV@outlook.com>, 2018 # Kiko <kiko@comunitea.com>, 2018 -# Nicolás Broggi <rnbroggi@gmail.com>, 2018 # Gustavo Valverde, 2018 -# Albert Orellano <albert.orellano@megaterios.co>, 2018 +# e2f <projects@e2f.com>, 2018 # Cristian Salamea <ovnicraft@gmail.com>, 2018 # Pedro M. Baeza <pedro.baeza@gmail.com>, 2018 # Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com.mx>, 2018 +# David Arnold <blaggacao@users.noreply.github.com>, 2018 # Alejandro Die Sanchis <marketing@domatix.com>, 2018 +# Luis M. Ontalba <luis.martinez@tecnativa.com>, 2018 +# Luis M. Triana <luis.triana@jarsa.com.mx>, 2018 +# Antonio Trueba, 2018 +# RGB Consulting <odoo@rgbconsulting.com>, 2018 # Inigo Zuluaga <inigo_zuluaga@yahoo.es>, 2018 +# e2f_EPV Translator <e2f_EPV@outlook.com>, 2018 +# Albert Orellano <albert.orellano@megaterios.co>, 2018 +# Nicolás Broggi <rnbroggi@gmail.com>, 2018 # Rubi Navarro <ren@odoo.com>, 2018 # Cristopher Cravioto <ccr@odoo.com>, 2018 +# Martin Trigaux, 2018 +# Carlos Lopez <celm1990@hotmail.com>, 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" -"PO-Revision-Date: 2018-10-08 06:49+0000\n" -"Last-Translator: Cristopher Cravioto <ccr@odoo.com>, 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Carlos Lopez <celm1990@hotmail.com>, 2018\n" "Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1819,21 +1821,21 @@ msgstr "Idiomas" #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:9 #, python-format msgid "Last 30 Days" -msgstr "" +msgstr "Últimos 30 días" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:10 #, python-format msgid "Last 365 Days" -msgstr "" +msgstr "Últimos 365 días" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:8 #, python-format msgid "Last 7 Days" -msgstr "" +msgstr "Últimos 7 días" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout____last_update diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po index 9d4853a2d0d..3a1ed8ca728 100644 --- a/addons/web/i18n/it.po +++ b/addons/web/i18n/it.po @@ -356,21 +356,21 @@ msgstr "Aggiungi gruppo personalizzato" #: code:addons/web/static/src/xml/kanban.xml:49 #, python-format msgid "Add a Column" -msgstr "Aggiungi una colonna" +msgstr "Aggiungi colonna" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1130 #, python-format msgid "Add a condition" -msgstr "Aggiungi una condizione" +msgstr "Aggiungi condizione" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/list/list_editable_renderer.js:78 #, python-format msgid "Add a line" -msgstr "Aggiungi una riga" +msgstr "Aggiungi riga" #. module: web #. openerp-web @@ -2605,12 +2605,12 @@ msgstr "Preferenze" #. module: web #: model:ir.actions.report,name:web.action_report_externalpreview msgid "Preview External Report" -msgstr "Anteprima rendiconto esterno" +msgstr "Anteprima resoconto esterno" #. module: web #: model:ir.actions.report,name:web.action_report_internalpreview msgid "Preview Internal Report" -msgstr "Anteprima rendiconto interno" +msgstr "Anteprima resoconto interno" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout__image @@ -2767,12 +2767,12 @@ msgstr "Rimuovere questo preferito dall'elenco" #: code:addons/web/static/src/js/chrome/action_manager_report.js:112 #, python-format msgid "Report" -msgstr "Rendiconto" +msgstr "Resoconto" #. module: web #: model:ir.model,name:web.model_report_layout msgid "Report Layout" -msgstr "Struttura rendiconto" +msgstr "Struttura resoconto" #. module: web #. openerp-web @@ -3206,8 +3206,7 @@ msgid "" "The record has been modified, your changes will be discarded. Do you want to" " proceed?" msgstr "" -"Il documento è stato modificato, verranno abbandonate le modifiche. " -"Procedere?" +"Il record è stato modificato, verranno abbandonate le modifiche. Procedere?" #. module: web #. openerp-web @@ -3298,12 +3297,12 @@ msgstr "" #. module: web #: model_terms:ir.ui.view,arch_db:web.preview_externalreport msgid "This is a sample of an external report." -msgstr "Questo è un campione di un resoconto esterno." +msgstr "Campione di resoconto esterno." #. module: web #: model_terms:ir.ui.view,arch_db:web.preview_internalreport msgid "This is a sample of an internal report." -msgstr "Questo è un campione di resoconto interno." +msgstr "Campione di resoconto interno." #. module: web #. openerp-web @@ -3407,7 +3406,7 @@ msgstr "Tipo:" msgid "" "Unable to find Wkhtmltopdf on this system. The report will be shown in html." msgstr "" -"Impossibile trovare wkhtmltopdf nel sistema. Il resoconto verrà mostrato in " +"Impossibile trovare wkhtmltopdf nel sistema, il resoconto verrà mostrato in " "html." #. module: web @@ -3492,7 +3491,7 @@ msgstr "Aggiornare i dati (compatibile con l'importazione)" #: code:addons/web/static/src/js/fields/upgrade_fields.js:69 #, python-format msgid "Upgrade now" -msgstr "Aggiorna adesso" +msgstr "Avanza adesso" #. module: web #. openerp-web @@ -3506,7 +3505,7 @@ msgstr "Avanza a Enterprise" #: code:addons/web/static/src/xml/base.xml:1571 #, python-format msgid "Upgrade to future versions" -msgstr "Aggiornamento a versioni future" +msgstr "Avanzamento alle prossime versioni" #. module: web #. openerp-web @@ -3709,7 +3708,7 @@ msgstr "Ieri" #: code:addons/web/static/src/js/chrome/abstract_web_client.js:352 #, python-format msgid "You are back online" -msgstr "Nuovamente online" +msgstr "Di nuovo in linea" #. module: web #. openerp-web @@ -3758,6 +3757,9 @@ msgid "" "to get a correct display of headers and footers as well as support for " "table-breaking between pages." msgstr "" +"Per visualizzare correttamente le intestazioni e i piè di pagina e gestire " +"le interruzioni tabella tra pagine è necessario aggiornare wkhtmltopdf alla " +"versione 0.12.0 o superiore." #. module: web #. openerp-web diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po index 11915901fa5..6cfa0fe790a 100644 --- a/addons/web/i18n/ja.po +++ b/addons/web/i18n/ja.po @@ -637,7 +637,7 @@ msgstr "ベース" #: code:addons/web/static/src/xml/base.xml:1143 #, python-format msgid "Based On" -msgstr "" +msgstr "基準" #. module: web #. openerp-web @@ -819,7 +819,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:1185 #, python-format msgid "Compare To" -msgstr "" +msgstr "比較対象" #. module: web #. openerp-web @@ -1799,21 +1799,21 @@ msgstr "言語" #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:9 #, python-format msgid "Last 30 Days" -msgstr "" +msgstr "過去30日" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:10 #, python-format msgid "Last 365 Days" -msgstr "" +msgstr "過去365日" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:8 #, python-format msgid "Last 7 Days" -msgstr "" +msgstr "過去7日" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout____last_update @@ -2609,7 +2609,7 @@ msgstr "" #: code:addons/web/static/src/xml/web_calendar.xml:75 #, python-format msgid "Previous" -msgstr "" +msgstr "前" #. module: web #. openerp-web @@ -2623,7 +2623,7 @@ msgstr "前期間" #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:25 #, python-format msgid "Previous Year" -msgstr "" +msgstr "昨年" #. module: web #. openerp-web @@ -3356,7 +3356,7 @@ msgstr "" msgid "" "Try to add some records, or make sure that there is no active filter in the " "search bar." -msgstr "" +msgstr "レコードを追加するか、サーチバーのフィルタを調整してみてください。" #. module: web #. openerp-web diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po index 2b9fd80db2d..e8aa2ea9d07 100644 --- a/addons/web/i18n/nb.po +++ b/addons/web/i18n/nb.po @@ -3,16 +3,18 @@ # * web # # Translators: -# Martin Trigaux, 2018 # Eirik Halvorsen <eirik386@gmail.com>, 2018 # Jorunn D. Newth, 2018 +# Martin Trigaux, 2018 +# Marius Stedjan <marius@stedjan.com>, 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" -"PO-Revision-Date: 2018-10-08 06:49+0000\n" -"Last-Translator: Jorunn D. Newth, 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Marius Stedjan <marius@stedjan.com>, 2018\n" "Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -165,7 +167,7 @@ msgstr "'%s' er ikke et korrekt heltall" #: code:addons/web/static/src/js/fields/field_utils.js:548 #, python-format msgid "'%s' is not a correct monetary field" -msgstr "" +msgstr "'%s' er ikke et gyldig valutafelt" #. module: web #. openerp-web @@ -186,7 +188,7 @@ msgstr "(Enterprise-utgave)" #: code:addons/web/static/src/xml/base.xml:298 #, python-format msgid "(change)" -msgstr "" +msgstr "(endre)" #. module: web #. openerp-web @@ -194,7 +196,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:537 #, python-format msgid "(count)" -msgstr "" +msgstr "(antall)" #. module: web #. openerp-web @@ -225,6 +227,8 @@ msgid "" "A popup window has been blocked. You may need to change your browser " "settings to allow popup windows for this page." msgstr "" +"Et popup-vindu ble blokkert. Du må kanskje endre innstillinger i nettleseren" +" din til å tillate popup-vinduer på dette nettstedet." #. module: web #. openerp-web @@ -234,6 +238,9 @@ msgid "" "A popup window with your report was blocked. You may need to change your " "browser settings to allow popup windows for this page." msgstr "" +"Popup-vinduet med rapporten din ble blokkert. Du må kanskje endre " +"innstillinger i nettleseren din til å tillate popup-vinduer på dette " +"nettstedet." #. module: web #. openerp-web @@ -247,7 +254,7 @@ msgstr "ALLE" #: code:addons/web/static/src/xml/base.xml:633 #, python-format msgid "ANY" -msgstr "" +msgstr "NOEN" #. module: web #. openerp-web @@ -322,7 +329,7 @@ msgstr "Legg til" #: code:addons/web/static/src/js/views/calendar/calendar_renderer.js:82 #, python-format msgid "Add %s" -msgstr "" +msgstr "Legg til %s" #. module: web #. openerp-web @@ -336,14 +343,14 @@ msgstr "Legg til tilpasset filter" #: code:addons/web/static/src/xml/base.xml:1111 #, python-format msgid "Add Custom Group" -msgstr "" +msgstr "Legg til tilpasset gruppe" #. module: web #. openerp-web #: code:addons/web/static/src/xml/kanban.xml:49 #, python-format msgid "Add a Column" -msgstr "" +msgstr "Legg til kolonne" #. module: web #. openerp-web @@ -357,21 +364,21 @@ msgstr "Legg til betingelse" #: code:addons/web/static/src/js/views/list/list_editable_renderer.js:78 #, python-format msgid "Add a line" -msgstr "" +msgstr "Legg til linje" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:616 #, python-format msgid "Add branch" -msgstr "" +msgstr "Legg til gren" #. module: web #. openerp-web #: code:addons/web/static/src/xml/kanban.xml:48 #, python-format msgid "Add column" -msgstr "" +msgstr "Legg til kolonne" #. module: web #. openerp-web @@ -392,14 +399,14 @@ msgstr "Legg til ny verdi" #: code:addons/web/static/src/xml/base.xml:615 #, python-format msgid "Add node" -msgstr "" +msgstr "Legg til notat" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:701 #, python-format msgid "Add tag" -msgstr "" +msgstr "Legg til tag" #. module: web #. openerp-web @@ -497,6 +504,9 @@ msgid "" "JavaScript file served from a different origin. (Opening your browser " "console might give you a hint on the error.)" msgstr "" +"En ukjent CORS-feil oppstod. Denne feilen kommer sannsynligvis fra en " +"ekstern JavaScript-fil fra en annen opprinnelse. (Om du åpner nettleser-" +"konsollen, kan du sannsynligvis få et hint om feilen.)" #. module: web #. openerp-web @@ -511,7 +521,7 @@ msgstr "Og mer" #: code:addons/web/static/src/xml/base.xml:628 #, python-format msgid "Any" -msgstr "" +msgstr "Noen" #. module: web #. openerp-web @@ -535,7 +545,7 @@ msgstr "Arkiver" #: code:addons/web/static/src/xml/kanban.xml:27 #, python-format msgid "Archive All" -msgstr "" +msgstr "Arkiver alle" #. module: web #. openerp-web @@ -551,13 +561,14 @@ msgstr "Arkivert" msgid "" "Are you sure that you want to archive all the records from this column?" msgstr "" +"Er du sikker på at du vil arkivere alle oppføringene i denne kolonnen?" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/list/list_controller.js:156 #, python-format msgid "Are you sure that you want to archive all the selected records?" -msgstr "" +msgstr "Er du sikker på at du vil arkivere de valgte oppføringene?" #. module: web #. openerp-web @@ -586,7 +597,7 @@ msgstr "Er du sikker på at du vil fjerne denne oppføringen?" #: code:addons/web/static/src/xml/base.xml:1028 #, python-format msgid "Attach" -msgstr "" +msgstr "Legg til vedlegg" #. module: web #. openerp-web @@ -629,14 +640,14 @@ msgstr "Base" #: code:addons/web/static/src/xml/base.xml:1143 #, python-format msgid "Based On" -msgstr "" +msgstr "Basert på" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:250 #, python-format msgid "Become Superuser" -msgstr "" +msgstr "Bli superbruker" #. module: web #: code:addons/web/controllers/main.py:1538 @@ -645,6 +656,8 @@ msgid "" "Binary fields can not be exported to Excel unless their content is " "base64-encoded. That does not seem to be the case for %s." msgstr "" +"Binærfelter kan ikke eksporteres til Excel med mindre de er base64-kodet. " +"Det ser ikke ut til å være tilfellet for %s." #. module: web #. openerp-web @@ -693,7 +706,7 @@ msgstr "Bytes, Kb, Mb, Gb, Tb, Pb, Eb, Zb, Yb" #: code:addons/web/static/src/xml/base.xml:1222 #, python-format msgid "CLEAR" -msgstr "" +msgstr "NULLSTILL" #. module: web #. openerp-web @@ -736,7 +749,7 @@ msgstr "Kan ikke vise diagram med modus:" #: code:addons/web/static/src/js/views/kanban/kanban_record.js:414 #, python-format msgid "Card color: %s" -msgstr "" +msgstr "Kortfarge: %s" #. module: web #. openerp-web @@ -811,7 +824,7 @@ msgstr "Kolonnetittel" #: code:addons/web/static/src/xml/base.xml:1185 #, python-format msgid "Compare To" -msgstr "" +msgstr "Sammenlign med" #. module: web #. openerp-web @@ -899,7 +912,7 @@ msgstr "Kopier hele feilmeldingen til utklippstavle" #: code:addons/web/static/src/js/core/ajax.js:372 #, python-format msgid "Could not connect to the server" -msgstr "" +msgstr "Kan ikke koble til Server" #. module: web #. openerp-web @@ -994,7 +1007,7 @@ msgstr "Opprett:" #: code:addons/web/static/src/js/views/calendar/calendar_controller.js:245 #, python-format msgid "Create: %s" -msgstr "" +msgstr "Opprett: %s" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout__create_uid @@ -1032,7 +1045,7 @@ msgstr "Opprettet av:" #: code:addons/web/static/src/xml/base.xml:919 #, python-format msgid "Current state" -msgstr "" +msgstr "Nåværende status" #. module: web #. openerp-web @@ -1048,7 +1061,7 @@ msgstr "Tilpasset filter" #: code:addons/web/static/src/xml/kanban.xml:88 #, python-format msgid "Dark blue" -msgstr "" +msgstr "Mørk blå" #. module: web #. openerp-web @@ -1057,7 +1070,7 @@ msgstr "" #: code:addons/web/static/src/xml/kanban.xml:85 #, python-format msgid "Dark purple" -msgstr "" +msgstr "Mørk lilla" #. module: web #: model_terms:ir.ui.view,arch_db:web.login @@ -1111,14 +1124,14 @@ msgstr "Slett" #: code:addons/web/static/src/xml/base.xml:614 #, python-format msgid "Delete node" -msgstr "" +msgstr "Slett node" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/list/list_editable_renderer.js:557 #, python-format msgid "Delete row " -msgstr "" +msgstr "Slett rad" #. module: web #. openerp-web @@ -1234,7 +1247,7 @@ msgstr "Last ned .xls-fil" #: code:addons/web/static/src/xml/base.xml:1556 #, python-format msgid "Dropdown menu" -msgstr "" +msgstr "Nedtrekksmeny" #. module: web #. openerp-web @@ -1295,7 +1308,7 @@ msgstr "Rediger stadium" #: code:addons/web/static/src/xml/base.xml:276 #, python-format msgid "Edit View:" -msgstr "" +msgstr "Rediger visning:" #. module: web #. openerp-web @@ -1334,7 +1347,7 @@ msgstr "Feil, passord ikke endret!" #: code:addons/web/static/src/xml/kanban.xml:62 #, python-format msgid "Esc to discard" -msgstr "" +msgstr "Klikk Esc for å forkaste" #. module: web #. openerp-web @@ -1369,7 +1382,7 @@ msgstr "Utvid alle" #: code:addons/web/static/src/xml/base.xml:1433 #, python-format msgid "Expand parents" -msgstr "" +msgstr "Utvid overordnede" #. module: web #. openerp-web @@ -1390,7 +1403,7 @@ msgstr "Eksporter data" #: code:addons/web/static/src/xml/base.xml:1400 #, python-format msgid "Export Format:" -msgstr "" +msgstr "Eksportformat:" #. module: web #. openerp-web @@ -1413,14 +1426,14 @@ msgstr "Ekstern ID" #: code:addons/web/static/src/xml/base.xml:826 #, python-format msgid "External link" -msgstr "" +msgstr "Ekstern link" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:1220 #, python-format msgid "FILTER" -msgstr "" +msgstr "FILTER" #. module: web #. openerp-web @@ -1534,7 +1547,7 @@ msgstr "Minimer" #: code:addons/web/static/src/xml/base.xml:756 #, python-format msgid "Followed by" -msgstr "" +msgstr "Følges av" #. module: web #. openerp-web @@ -1561,7 +1574,7 @@ msgstr "Skjema" #: code:addons/web/static/src/js/views/search/filters_menu.js:179 #, python-format msgid "From %s To %s" -msgstr "" +msgstr "Fra %s til %s" #. module: web #. openerp-web @@ -1570,7 +1583,7 @@ msgstr "" #: code:addons/web/static/src/xml/kanban.xml:89 #, python-format msgid "Fushia" -msgstr "" +msgstr "Fushia" #. module: web #. openerp-web @@ -1591,7 +1604,7 @@ msgstr "" #: code:addons/web/static/src/js/views/kanban/kanban_column_quick_create.js:189 #, python-format msgid "Got it" -msgstr "" +msgstr "OK" #. module: web #. openerp-web @@ -1628,56 +1641,56 @@ msgstr "Grupper etter: %s" #. module: web #: model:ir.model,name:web.model_ir_http msgid "HTTP Routing" -msgstr "" +msgstr "HTTP-ruting" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:877 #, python-format msgid "Hide in Kanban" -msgstr "" +msgstr "Gjem i kanban" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:432 #, python-format msgid "Hit DOWN to navigate to the list below" -msgstr "" +msgstr "Klikk NED for å navigere til listen under" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:439 #, python-format msgid "Hit ENTER to" -msgstr "" +msgstr "Klikk ENTER for å" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:431 #, python-format msgid "Hit ENTER to CREATE" -msgstr "" +msgstr "Klikk ENTER for å OPPRETTE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:423 #, python-format msgid "Hit ENTER to SAVE" -msgstr "" +msgstr "Klikk ENTER for å LAGRE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/base.xml:424 #, python-format msgid "Hit ESCAPE to DISCARD" -msgstr "" +msgstr "Klikk ESCAPE for å FORKASTE" #. module: web #. openerp-web #: code:addons/web/static/src/xml/colorpicker.xml:41 #, python-format msgid "Hue" -msgstr "" +msgstr "Kulør" #. module: web #. openerp-web @@ -1745,7 +1758,7 @@ msgstr "Ugyldig domene" #: code:addons/web/static/src/xml/base.xml:737 #, python-format msgid "Invalid field chain" -msgstr "" +msgstr "Ugyldig feltkjede" #. module: web #. openerp-web @@ -1793,21 +1806,21 @@ msgstr "Språk" #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:9 #, python-format msgid "Last 30 Days" -msgstr "" +msgstr "Siste 30 dager" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:10 #, python-format msgid "Last 365 Days" -msgstr "" +msgstr "Siste 365 dager" #. module: web #. openerp-web #: code:addons/web/static/src/js/views/search/time_range_menu_options.js:8 #, python-format msgid "Last 7 Days" -msgstr "" +msgstr "Siste 7 dager" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout____last_update @@ -1880,14 +1893,14 @@ msgstr "Forlat utviklerverktøy" #: code:addons/web/static/src/xml/kanban.xml:84 #, python-format msgid "Light blue" -msgstr "" +msgstr "Lys blå" #. module: web #. openerp-web #: code:addons/web/static/src/xml/colorpicker.xml:49 #, python-format msgid "Lightness %" -msgstr "" +msgstr "Lystetthet %" #. module: web #. openerp-web @@ -1930,7 +1943,7 @@ msgstr "Laster inn (%d)" #: code:addons/web/static/src/xml/base.xml:1466 #, python-format msgid "Loading, please wait..." -msgstr "" +msgstr "Laster, vennligst vent..." #. module: web #. openerp-web @@ -1950,7 +1963,7 @@ msgstr "Logg inn" #. module: web #: model_terms:ir.ui.view,arch_db:web.login msgid "Log in as superuser" -msgstr "" +msgstr "Logg inn som superbruker" #. module: web #. openerp-web @@ -1993,7 +2006,7 @@ msgstr "Epost:" #: code:addons/web/static/src/xml/base.xml:271 #, python-format msgid "Manage Attachments" -msgstr "" +msgstr "Administrer vedlegg" #. module: web #: model_terms:ir.ui.view,arch_db:web.login_layout @@ -2013,7 +2026,7 @@ msgstr "Administrer filtre" #: code:addons/web/static/src/xml/base.xml:639 #, python-format msgid "Match" -msgstr "" +msgstr "Match" #. module: web #. openerp-web @@ -2051,7 +2064,7 @@ msgstr "Mål" #: code:addons/web/static/src/xml/kanban.xml:87 #, python-format msgid "Medium blue" -msgstr "" +msgstr "Medium blå" #. module: web #. openerp-web @@ -2196,7 +2209,7 @@ msgstr "Ingen oppdatering:" #: code:addons/web/static/src/js/tools/debug_manager.js:359 #, python-format msgid "No attachment available" -msgstr "" +msgstr "Ingen vedlegg tilgjengelig" #. module: web #. openerp-web @@ -2204,7 +2217,7 @@ msgstr "" #: code:addons/web/static/src/xml/kanban.xml:80 #, python-format msgid "No color" -msgstr "" +msgstr "Ingen farge" #. module: web #. openerp-web @@ -2255,7 +2268,7 @@ msgstr "" #: code:addons/web/static/src/xml/base.xml:927 #, python-format msgid "Not active state, click to change it" -msgstr "" +msgstr "Ikke aktiv tilstand, klikk for å endre den" #. module: web #. openerp-web @@ -2363,7 +2376,7 @@ msgstr "Ved endring:" #: code:addons/web/static/src/js/fields/basic_fields.js:2283 #, python-format msgid "Only Integer Value should be valid." -msgstr "" +msgstr "Kun heltall er gyldig verdi" #. module: web #: code:addons/web/controllers/main.py:502 @@ -2384,7 +2397,7 @@ msgstr "Bare deg" #: code:addons/web/static/src/xml/colorpicker.xml:55 #, python-format msgid "Opacity %" -msgstr "" +msgstr "Gjennomsiktighet %" #. module: web #. openerp-web @@ -2405,7 +2418,7 @@ msgstr "Åpne utviklerverktøy" #: code:addons/web/static/src/xml/base.xml:241 #, python-format msgid "Open View" -msgstr "" +msgstr "Åpne Visning" #. module: web #. openerp-web @@ -2452,7 +2465,7 @@ msgstr "Åpne: " #: code:addons/web/static/src/xml/kanban.xml:82 #, python-format msgid "Orange" -msgstr "" +msgstr "Oransje" #. module: web #: model_terms:ir.ui.view,arch_db:web.external_layout_background @@ -2488,7 +2501,7 @@ msgstr "Telefon:" #: code:addons/web/static/src/js/widgets/colorpicker.js:33 #, python-format msgid "Pick a color" -msgstr "" +msgstr "Velg en farge" #. module: web #. openerp-web @@ -2505,6 +2518,8 @@ msgid "" "Pie chart cannot display all zero numbers.. Try to change your domain to " "display positive results" msgstr "" +"Kakediagram kan ikke vise kun nullverdier. Forsøk å endre domenet for å vise" +" positive resultater." #. module: web #. openerp-web @@ -2529,7 +2544,7 @@ msgstr "Pivot" #: code:addons/web/static/src/js/views/list/list_renderer.js:352 #, python-format msgid "Please click on the \"save\" button first." -msgstr "" +msgstr "Klikk på 'Lagre'-knappen først." #. module: web #. openerp-web @@ -2557,7 +2572,7 @@ msgstr "Velg hvilke felt som skal lagres i eksportlisten..." #: code:addons/web/static/src/xml/base.xml:1525 #, python-format msgid "Please update translations of :" -msgstr "" +msgstr "Oppdater oversettelse for:" #. module: web #. openerp-web @@ -2592,12 +2607,12 @@ msgstr "Forhåndsvis intern rapport" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout__image msgid "Preview image src" -msgstr "" +msgstr "Forhåndsvis bildelink" #. module: web #: model:ir.model.fields,field_description:web.field_report_layout__pdf msgid "Preview pdf src" -msgstr "" +msgstr "Forhåndsvis pdf-link" #. module: web #. openerp-web @@ -2650,12 +2665,12 @@ msgstr "Kvartal" #: code:addons/web/static/src/xml/kanban.xml:32 #, python-format msgid "Quick add" -msgstr "" +msgstr "Hurtigopprett" #. module: web #: model:ir.model,name:web.model_ir_qweb_field_image msgid "Qweb Field Image" -msgstr "" +msgstr "Qweb Felt-bilde" #. module: web #. openerp-web @@ -2679,7 +2694,7 @@ msgstr "Rød" #: code:addons/web/static/src/xml/base.xml:249 #, python-format msgid "Regenerate Assets Bundles" -msgstr "" +msgstr "Regenerer Ressursbunt" #. module: web #. openerp-web @@ -2693,7 +2708,7 @@ msgstr "Relasjon ikke tillatt" #: code:addons/web/static/src/xml/base.xml:771 #, python-format msgid "Relation to follow" -msgstr "" +msgstr "Relasjon å følge" #. module: web #. openerp-web @@ -2730,7 +2745,7 @@ msgstr "Fjern fra favoritter" #: code:addons/web/static/src/xml/base.xml:696 #, python-format msgid "Remove tag" -msgstr "" +msgstr "Fjern tag" #. module: web #. openerp-web @@ -2749,14 +2764,14 @@ msgstr "Rapport" #. module: web #: model:ir.model,name:web.model_report_layout msgid "Report Layout" -msgstr "" +msgstr "Rapportlayout" #. module: web #. openerp-web #: code:addons/web/static/src/js/services/crash_manager.js:223 #, python-format msgid "Request timeout" -msgstr "" +msgstr "Forespørsel timet ut" #. module: web #. openerp-web @@ -2770,7 +2785,7 @@ msgstr "Gjenopprett" #: code:addons/web/static/src/xml/base.xml:240 #, python-format msgid "Run Click Everywhere Test" -msgstr "" +msgstr "Kjør Click Everywhere test" #. module: web #. openerp-web @@ -2791,7 +2806,7 @@ msgstr "Kjør JS-tester" #: code:addons/web/static/src/xml/base.xml:1226 #, python-format msgid "SEE RESULT" -msgstr "" +msgstr "SE RESULTAT" #. module: web #. openerp-web @@ -2800,14 +2815,14 @@ msgstr "" #: code:addons/web/static/src/xml/kanban.xml:86 #, python-format msgid "Salmon pink" -msgstr "" +msgstr "Lakserosa" #. module: web #. openerp-web #: code:addons/web/static/src/xml/colorpicker.xml:45 #, python-format msgid "Saturation %" -msgstr "" +msgstr "Fargetetthet %" #. module: web #. openerp-web @@ -2826,7 +2841,7 @@ msgstr "Lagre" #: code:addons/web/static/src/js/views/view_dialogs.js:137 #, python-format msgid "Save & Close" -msgstr "" +msgstr "Lagre og lukk" #. module: web #. openerp-web @@ -2952,6 +2967,8 @@ msgid "" "Select <i class=\"fa fa-database\" role=\"img\" aria-label=\"Database\" " "title=\"Database\"/>" msgstr "" +"Velg <i class=\"fa fa-database\" role=\"img\" aria-label=\"Database\" " +"title=\"Database\"/>" #. module: web #. openerp-web @@ -3135,6 +3152,8 @@ msgid "" "The field chain is not valid. Did you maybe use a non-existing field name or" " followed a non-relational field?" msgstr "" +"Feltkjeden er ikke gyldig. Brukte du kanskje et ikkeeksisterende felt, eller" +" fulgte et ikke-relasjonelt felt?" #. module: web #. openerp-web @@ -3172,6 +3191,8 @@ msgid "" "The operation was interrupted. This usually means that the current operation" " is taking too much time." msgstr "" +"Operasjonen ble avbrutt. Dette betyr som regel at den nåværende operasjonen " +"tar for mye tid." #. module: web #. openerp-web @@ -3253,6 +3274,7 @@ msgstr "Dette år" #, python-format msgid "This date is on the future. Make sure it is what you expected." msgstr "" +"Dette datoen er i fremtiden. Vær sikker på at det er dette du forventet." #. module: web #. openerp-web @@ -3294,7 +3316,7 @@ msgstr "Tidsspenn" #: code:addons/web/static/src/xml/base.xml:1139 #, python-format msgid "Time Ranges" -msgstr "" +msgstr "Tidsintervaller" #. module: web #. openerp-web @@ -3305,6 +3327,9 @@ msgid "" "one. The time in Odoo is displayed according to the timezone set on your " "user's preferences." msgstr "" +"Tidssonefeil : Tidssonen i nettleseren din stemmer ikke med den valgte " +"tidssonen. Tiden i Odoo vises i henhold til tidssonen du har satt i " +"brukerens innstillinger." #. module: web #. openerp-web @@ -3352,6 +3377,8 @@ msgid "" "Try to add some records, or make sure\n" " that there is at least one measure and no active filter in the search bar." msgstr "" +"Prøv å legge til oppføringer, eller forsikre deg om at\n" +" det er minst en måleverdi, og ingen aktive filtre i søkefeltet." #. module: web #. openerp-web @@ -3361,6 +3388,8 @@ msgid "" "Try to add some records, or make sure that there is no active filter in the " "search bar." msgstr "" +"Forsøk å legge til oppføringer, eller forsikre deg om at det ikke finnes " +"aktive filtre i søkefeltet." #. module: web #. openerp-web @@ -3382,7 +3411,7 @@ msgstr "Type:" #, python-format msgid "" "Unable to find Wkhtmltopdf on this system. The report will be shown in html." -msgstr "" +msgstr "Kan ikke finne Wkhtmltopdf på systemet. Rapporten vil vises som html." #. module: web #. openerp-web @@ -3396,7 +3425,7 @@ msgstr "Av-arkiver" #: code:addons/web/static/src/xml/kanban.xml:28 #, python-format msgid "Unarchive All" -msgstr "" +msgstr "Dearkiver alle" #. module: web #. openerp-web @@ -3438,7 +3467,7 @@ msgstr "Ukjent type " #: code:addons/web/static/src/js/views/list/list_editable_renderer.js:556 #, python-format msgid "Unlink row " -msgstr "" +msgstr "Slett rad" #. module: web #. openerp-web @@ -3459,7 +3488,7 @@ msgstr "Uten navn" #: code:addons/web/static/src/xml/base.xml:1393 #, python-format msgid "Update data (import-compatible export)" -msgstr "" +msgstr "Oppdater data (import-kompatibel eksport)" #. module: web #. openerp-web @@ -3473,7 +3502,7 @@ msgstr "Oppgrader nå" #: code:addons/web/static/src/xml/base.xml:1577 #, python-format msgid "Upgrade to enterprise" -msgstr "" +msgstr "Oppgrader til enterprise" #. module: web #. openerp-web @@ -3519,7 +3548,7 @@ msgstr "Bruk som standard" #: code:addons/web/static/src/xml/base.xml:1387 #, python-format msgid "Use data in a spreadsheet (export all data)" -msgstr "" +msgstr "Bruk data i et regneark (eksporter all data)" #. module: web #. openerp-web @@ -3568,7 +3597,7 @@ msgstr "Advarsel" #: code:addons/web/static/src/js/widgets/attach_document.js:87 #, python-format msgid "Warning : You have to save first before attaching a file." -msgstr "" +msgstr "Advarsel : Du må lagre før du legger ved en fil." #. module: web #: model_terms:ir.ui.view,arch_db:web.benchmark_suite @@ -3722,7 +3751,7 @@ msgstr "" msgid "" "You need to start Odoo with at least two workers to print a pdf version of " "the reports." -msgstr "" +msgstr "Du må starte Odoo med minst to workers for å printe pdf-rapporter." #. module: web #. openerp-web @@ -3733,6 +3762,9 @@ msgid "" "to get a correct display of headers and footers as well as support for " "table-breaking between pages." msgstr "" +"Du bør oppgradere versjonen av Wkhtmltopdf til minst 0.12.0 for å kunne få " +"korrekt visning av topp- og bunntekst, samt for å få støtte for tabeller som" +" går over flere sider." #. module: web #. openerp-web @@ -3749,13 +3781,15 @@ msgid "" "Your installation of Wkhtmltopdf seems to be broken. The report will be " "shown in html." msgstr "" +"Din installasjon av Wkhtmltopdf ser ikke ut til å fungere. Rapporten blir " +"vist som HTML." #. module: web #. openerp-web #: code:addons/web/static/src/js/views/kanban/kanban_record.js:246 #, python-format msgid "[No widget %s]" -msgstr "" +msgstr "[Ingen widget %s]" #. module: web #. openerp-web @@ -3804,7 +3838,7 @@ msgstr "alle oppføringer" #: code:addons/web/static/src/js/widgets/domain_selector.js:28 #, python-format msgid "child of" -msgstr "" +msgstr "underordnet av" #. module: web #. openerp-web @@ -3819,7 +3853,7 @@ msgstr "inneholder" #: code:addons/web/static/src/js/widgets/domain_selector.js:24 #, python-format msgid "does not contain" -msgstr "" +msgstr "inneholder ikke" #. module: web #. openerp-web @@ -3912,7 +3946,7 @@ msgstr "er ikke" #: code:addons/web/static/src/js/widgets/domain_selector.js:18 #, python-format msgid "is not =" -msgstr "" +msgstr "er ikke =" #. module: web #. openerp-web @@ -4047,7 +4081,7 @@ msgstr "eller" #: code:addons/web/static/src/js/widgets/domain_selector.js:29 #, python-format msgid "parent of" -msgstr "" +msgstr "overordnet av" #. module: web #. openerp-web diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po index 1fd37f82ff9..adf20a58ea5 100644 --- a/addons/web/i18n/pt_BR.po +++ b/addons/web/i18n/pt_BR.po @@ -3,30 +3,32 @@ # * web # # Translators: -# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2018 -# danimaribeiro <danimaribeiro@gmail.com>, 2018 -# Martin Trigaux, 2018 -# Mateus Lopes <mateus1@gmail.com>, 2018 -# Luiz Carlos de Lima <luiz.carlos@akretion.com.br>, 2018 # Thiago MACÊDO <thiago95macedo@gmail.com>, 2018 -# falexandresilva <falexandresilva@gmail.com>, 2018 -# grazziano <gra.negocia@gmail.com>, 2018 # Marcos Abreu <marcoos.abreu@gmail.com>, 2018 -# Diego Bittencourt <diegomb86@gmail.com>, 2018 +# Luiz Carlos de Lima <luiz.carlos@akretion.com.br>, 2018 # Adriel Kotviski <kotviski@gmail.com>, 2018 -# Silmar <pinheirosilmar@gmail.com>, 2018 +# falexandresilva <falexandresilva@gmail.com>, 2018 +# Diego Bittencourt <diegomb86@gmail.com>, 2018 +# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2018 +# danimaribeiro <danimaribeiro@gmail.com>, 2018 # André Augusto Firmino Cordeiro <a.cordeito@gmail.com>, 2018 +# Silmar <pinheirosilmar@gmail.com>, 2018 +# Martin Trigaux, 2018 # Luciano Giacomazzi <lucianogiacomazzi@gmail.com>, 2018 -# Maicon Grahl <maicongrahl@hotmail.com>, 2018 +# grazziano <gra.negocia@gmail.com>, 2018 # Franciele Neiva <franciele.neiva@br.ey.com>, 2018 +# Mateus Lopes <mateus1@gmail.com>, 2018 +# Maicon Grahl <maicongrahl@hotmail.com>, 2018 # Yannick Belot <yannickbh@gmail.com>, 2018 +# Rafael H L Moretti <rafael.moretti@gmail.com>, 2018 +# msgid "" msgstr "" "Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2018-10-08 06:49+0000\n" -"PO-Revision-Date: 2018-10-08 06:49+0000\n" -"Last-Translator: Yannick Belot <yannickbh@gmail.com>, 2018\n" +"PO-Revision-Date: 2018-08-24 09:33+0000\n" +"Last-Translator: Rafael H L Moretti <rafael.moretti@gmail.com>, 2018\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -1737,6 +1739,8 @@ msgid "" "Invalid database name. Only alphanumerical characters, underscore, hyphen " "and dot are allowed." msgstr "" +"Nome de base de dados inválido. Apenas caracteres alfanuméricos, subtraço, " +"hífen e ponto são permitidos." #. module: web #. openerp-web @@ -3821,7 +3825,7 @@ msgstr "contém" #: code:addons/web/static/src/js/widgets/domain_selector.js:24 #, python-format msgid "does not contain" -msgstr "" +msgstr "não contém" #. module: web #. openerp-web diff --git a/addons/web/static/lib/py.js/lib/py.js b/addons/web/static/lib/py.js/lib/py.js index 06d834321de..bd794323995 100644 --- a/addons/web/static/lib/py.js/lib/py.js +++ b/addons/web/static/lib/py.js/lib/py.js @@ -282,7 +282,10 @@ var py = {}; var name_pattern = new RegExp('^' + Name + '$'); var strip = new RegExp('^' + Whitespace); return function tokenize(s) { - var max=s.length, tokens = [], start, end = undefined; + s = s + .replace(/\\\"/g, '\\u0022') // for double quote + .replace(/\\\'/g, '\\u0027'); // for single quote + var max=s.length, tokens = [], start, end; // /g flag makes repeated exec() have memory var pseudoprog = new RegExp(PseudoToken, 'g'); @@ -302,7 +305,6 @@ var py = {}; end = pseudoprog.lastIndex; // strip leading space caught by Whitespace var token = s.slice(start, end).replace(strip, ''); - var initial = token[0]; if (number_pattern.test(token)) { tokens.push(create(symbols['(number)'], { @@ -310,9 +312,13 @@ var py = {}; })); } else if (string_pattern.test(token)) { var m = string_pattern.exec(token); + var value = (m[3] !== undefined ? m[3] : m[5]); + value + .replace(/\\u0022/g, '"') + .replace(/\\u0027/g, "'"); tokens.push(create(symbols['(string)'], { unicode: !!(m[2] || m[4]), - value: (m[3] !== undefined ? m[3] : m[5]) + value: value })); } else if (token in symbols) { var symbol; diff --git a/addons/web/static/src/js/chrome/action_manager_act_window.js b/addons/web/static/src/js/chrome/action_manager_act_window.js index 04b06377d3f..c1667e9b9e6 100644 --- a/addons/web/static/src/js/chrome/action_manager_act_window.js +++ b/addons/web/static/src/js/chrome/action_manager_act_window.js @@ -635,7 +635,7 @@ ActionManager.include({ _.object(_.reject(_.pairs(env.context), function (pair) { return pair[0].match('^(?:(?:default_|search_default_|show_).+|' + '.+_view_ref|group_by|group_by_no_leaf|active_id|' + - 'active_ids)$') !== null; + 'active_ids|orderedBy)$') !== null; })) ); ctx.add(actionData.context || {}); diff --git a/addons/web/static/src/js/views/graph/graph_renderer.js b/addons/web/static/src/js/views/graph/graph_renderer.js index fe4efab1b20..38c2f02351e 100644 --- a/addons/web/static/src/js/views/graph/graph_renderer.js +++ b/addons/web/static/src/js/views/graph/graph_renderer.js @@ -337,8 +337,8 @@ return AbstractRenderer.extend({ var self = this; // Remove Undefined of first GroupBy - var graphData = _.filter(this.state.data, function(elem){ - return elem.labels[0] !== undefined; + var graphData = _.filter(this.state.data, function (elem) { + return elem.labels[0] !== undefined && elem.labels[0] !== _t("Undefined"); }); // undefined label value becomes a string 'Undefined' translated @@ -391,10 +391,9 @@ return AbstractRenderer.extend({ var tick = 0; var serie, tickLabel; var identity = function (p) {return p;}; - - for (var i = 0; i < this.state.data.length; i++) { + for (var i = 0; i < graphData.length; i++) { if (graphData[i].labels[0] !== tickLabel) { - tickLabel = this.state.data[i].labels[0]; + tickLabel = graphData[i].labels[0]; ticksLabels.push(tickLabel); tick++; } diff --git a/addons/web/static/src/js/views/pivot/pivot_view.js b/addons/web/static/src/js/views/pivot/pivot_view.js index 38d8d80a9d7..5e05a2fe7e7 100644 --- a/addons/web/static/src/js/views/pivot/pivot_view.js +++ b/addons/web/static/src/js/views/pivot/pivot_view.js @@ -70,9 +70,6 @@ var PivotView = AbstractView.extend({ widgets[name] = field.attrs.widget; } - if (field.attrs.string) { - measures[name].string = field.attrs.string; - } if (field.attrs.invisible && py.eval(field.attrs.invisible)) { delete measures[name]; @@ -89,6 +86,11 @@ var PivotView = AbstractView.extend({ if (field.attrs.type === 'measure' && !(field.attrs.name in measures)) { measures[field.attrs.name] = self.fields[field.attrs.name]; } + + if (field.attrs.string) { + measures[name].string = field.attrs.string; + } + if (field.attrs.type === 'measure' || 'operator' in field.attrs) { activeMeasures.push(name); measures[name] = self.fields[name]; diff --git a/addons/web/static/src/scss/layout_background.scss b/addons/web/static/src/scss/layout_background.scss index ff2d0cef3b0..9c47ac72a27 100644 --- a/addons/web/static/src/scss/layout_background.scss +++ b/addons/web/static/src/scss/layout_background.scss @@ -34,34 +34,48 @@ background-position: bottom center; background-repeat: no-repeat; min-height: 620px; + + .table { + border-top: 1px solid gray('300'); + } + + .table td, .table th { + border-top: none; + } thead tr th, h2 { color: $o-brand-odoo; } tbody { color: gray('700'); - tr:nth-child(odd) { - background-color: rgba(220, 205, 216, 0.2); - } - tr td { - border-top: none; + tr { + &:nth-child(odd) { + background-color: rgba(220, 205, 216, 0.2); + } + &.o_line_section { + color: $o-brand-odoo; + background-color: rgba(73, 80, 87, 0.2) !important; + } } } /*Total table*/ - .row > .col-4 > table { - tr:nth-child(odd) { - background-color: transparent !important; - } - tr:first-child td { - /*we could get rid of this rule if .border-black td would be terminated in report.scss*/ - border-top: none !important; - } - tr:last-child td { - color: $o-brand-odoo; - } - } - #total { - table tr:last-child td { - border-bottom: 1px solid black; + /* row div rule compat 12.0 */ + .row > div > table, + div#total table { + tr { + &:nth-child(odd) { + background-color: transparent !important; + } + /* first-child & last-child rule compat 12.0 */ + &:first-child, + &:last-child, + &.o_subtotal, + &.o_total { + border-top: none !important; + td { + color: $o-brand-odoo; + border-top: 1px solid gray('400') !important; + } + } } } } diff --git a/addons/web/static/src/scss/layout_boxed.scss b/addons/web/static/src/scss/layout_boxed.scss index b0b2fb1f743..bf19b6fb7ae 100644 --- a/addons/web/static/src/scss/layout_boxed.scss +++ b/addons/web/static/src/scss/layout_boxed.scss @@ -23,52 +23,73 @@ } } .o_report_layout_boxed { - // This is not a general rule since the id is not used in all the reports, - // we should make a general structure for report body to use it everywhere - #informations { - border: 1px solid gray('700'); - padding-top: 10px; - margin: 0; - } > h2 { text-transform: uppercase; } table { border: 1px solid gray('700'); thead { + border-bottom: 2px solid gray('700'); tr th { - border-bottom: 3px solid gray('700') !important; text-transform: uppercase; + border: 1px solid gray('700'); } } tbody { color: gray('700'); tr { td { + // remove border-top from standard layout border-top: none; border-right: 1px solid gray('700'); } - td:last-child { + &.o_line_section td, + &.o_line_note td, + &.is-subtotal td { + border-top: 1px solid gray('700'); + border-bottom: 1px solid gray('700'); + } + &.o_line_section td { + background-color: gray('700'); + color: #fff; + } + &.is-subtotal, + td.o_price_total { background-color: gray('200'); } } } } + /* compat 12.0 */ + .page > table:not(.o_main_table) tr td:last-child { + background-color: gray('200'); + } + /* compat 12.0 */ + .row:not(#total) > div > table tr:not(:first-child):not(:last-child) td:last-child { + background-color: gray('200'); + } /*Total table*/ - .row > .col-4 > table { - td { - border-right: none; - } - tr:last-child td, tr:first-child td { - /*we could get rid of this rule if .border-black td would be terminated in report.scss*/ - border-top: none !important; - } - tr:first-child td { - background-color: transparent; - } - tr:last-child td { - background-color: gray('700'); - color: #fff; + /* row div rule compat 12.0 */ + .row > div > table, + div#total table { + tr { + &:first-child, + &.o_subtotal { + border-bottom: 1px solid gray('700'); + + td:first-child { + border-right: none; + } + } + &:last-child td, + &.o_total td { + background-color: gray('700'); + color: #fff; + + &:first-child { + border-right: none; + } + } } } } diff --git a/addons/web/static/src/scss/layout_clean.scss b/addons/web/static/src/scss/layout_clean.scss index 06b2e808dd4..910abc763a4 100644 --- a/addons/web/static/src/scss/layout_clean.scss +++ b/addons/web/static/src/scss/layout_clean.scss @@ -18,12 +18,10 @@ font-weight: bolder; } .pagenumber { - width: 35px; - height: 35px; border: 3px solid $o-brand-odoo; background-color: $o-brand-primary; color: white; - padding-top: 6px; + padding: 4px 8px; text-align: center; } } @@ -36,6 +34,10 @@ color: $o-brand-odoo; } table { + &.o_main_table { + margin-bottom: 0; + } + thead { color: $o-brand-odoo; tr th { @@ -66,18 +68,22 @@ } } /*Total table*/ - .row > .col-4 { - width: 43%; - position: relative; - top: -20px; - > table { - tr:last-child td { - border-top: 1px solid gray('200') !important; - } - tr:first-child td { - /*we could get rid of this rule if .border-black td would be terminated in report.scss*/ + /* compat 12.0 */ + .row:not(#total) > div:has(table) { + top: -16px; + } + /* row col rule compat 12.0 */ + .row > div > table, + div#total table { + tr { + &:first-child td, + &.o_subtotal { border-top: none !important; } + &:last-child td, + &.o_total { + border-top: 1px solid gray('200') !important; + } } } } diff --git a/addons/web/static/src/scss/report.scss b/addons/web/static/src/scss/report.scss index 37a7630225b..e901b5b9364 100644 --- a/addons/web/static/src/scss/report.scss +++ b/addons/web/static/src/scss/report.scss @@ -44,3 +44,18 @@ body { .o_underline { text-decoration: underline; } + +/*Total table*/ +div#total { + page-break-inside: avoid; + table { + tr { + &.o_subtotal, + &.o_total { + td { + border-top: 1px solid black !important; + } + } + } + } +} diff --git a/addons/web/static/tests/chrome/action_manager_tests.js b/addons/web/static/tests/chrome/action_manager_tests.js index 6c0b0d96703..7eea78ded29 100644 --- a/addons/web/static/tests/chrome/action_manager_tests.js +++ b/addons/web/static/tests/chrome/action_manager_tests.js @@ -2202,6 +2202,62 @@ QUnit.module('ActionManager', { actionManager.destroy(); }); + QUnit.test('orderedBy in context is not propagated when executing another action', function (assert) { + assert.expect(6); + + this.data.partner.fields.foo.sortable = true, + + this.archs['partner,false,form'] = '<header>' + + '<button name="8" string="Execute action" type="action"/>' + + '</header>'; + + var searchReadCount = 0; + var actionManager = createActionManager({ + actions: this.actions, + archs: this.archs, + data: this.data, + mockRPC: function (route, args) { + if (route === '/web/dataset/search_read') { + if (searchReadCount === 1) { + assert.strictEqual(args.model, 'partner'); + assert.notOk(args.sort); + } + if (searchReadCount === 2) { + assert.strictEqual(args.model, 'partner'); + assert.strictEqual(args.sort, "foo ASC"); + } + if (searchReadCount === 3) { + assert.strictEqual(args.model, 'pony'); + assert.notOk(args.sort); + } + searchReadCount += 1; + } + return this._super.apply(this, arguments); + }, + }); + actionManager.doAction(3); + + // Simulate the activation of a filter + var searchData = { + domains: [[["foo", "=", "yop"]]], + contexts: [{ + orderedBy: [], + }], + }; + actionManager.trigger_up('search', searchData); + + // Sort records + actionManager.$('.o_list_view th.o_column_sortable').click(); + + // get to the form view of the model, on the first record + actionManager.$('.o_data_cell:first').click(); + + // Change model by clicking on the button within the form + actionManager.$('.o_form_view button').click(); + + actionManager.destroy(); + }); + QUnit.test('breadcrumbs are updated when switching between views', function (assert) { assert.expect(10); diff --git a/addons/web/static/tests/core/py_utils_tests.js b/addons/web/static/tests/core/py_utils_tests.js index d59fd30f957..be5760fc6c7 100644 --- a/addons/web/static/tests/core/py_utils_tests.js +++ b/addons/web/static/tests/core/py_utils_tests.js @@ -1254,6 +1254,13 @@ QUnit.module('core', function () { assert.checkAST(expr); }); + QUnit.test("parse escaped quoted strings", function (assert) { + assert.expect(2); + + assert.checkAST(`'\"'`, "a string containing \""); + assert.checkAST(`'\'`, "a string containing \'"); + }); + QUnit.module('pyutils (_normalizeDomain)'); QUnit.assert.checkNormalization = function (domain, normalizedDomain) { diff --git a/addons/web/static/tests/views/graph_tests.js b/addons/web/static/tests/views/graph_tests.js index 73f2179dc8f..d651afc030c 100644 --- a/addons/web/static/tests/views/graph_tests.js +++ b/addons/web/static/tests/views/graph_tests.js @@ -785,13 +785,40 @@ QUnit.module('Views', { '</graph>', }); - assert.strictEqual(graph.$("svg.nvd3-svg:contains('Undefined')").length, 0); - assert.strictEqual(graph.$("svg.nvd3-svg:contains('March')").length, 1); + assert.strictEqual(graph.$("svg.nvd3-svg .nv-x:contains('Undefined')").length, 0); + assert.strictEqual(graph.$("svg.nvd3-svg:contains('January')").length, 1); testUtils.dom.click(graph.$buttons.find('.o_graph_button[data-mode=bar]')); - assert.strictEqual(graph.$("svg.nvd3-svg:contains('Undefined')").length, 1); + assert.strictEqual(graph.$("svg.nvd3-svg .nv-x:contains('Undefined')").length, 1); + assert.strictEqual(graph.$("svg.nvd3-svg:contains('January')").length, 1); + + graph.destroy(); + }); + + QUnit.test('Undefined should appear in bar, pie graph but not in line graph with multiple groupbys', function (assert) { + assert.expect(6); + + var graph = createView({ + View: GraphView, + model: "foo", + groupBy:['date', 'color_id'], + data: this.data, + arch: '<graph string="Partners" type="line">' + + '<field name="bar"/>' + + '</graph>', + }); + + assert.strictEqual(graph.$("svg.nvd3-svg .nv-x:contains('Undefined')").length, 0); assert.strictEqual(graph.$("svg.nvd3-svg:contains('January')").length, 1); + graph.$buttons.find('.o_graph_button[data-mode=bar]').click(); + assert.strictEqual(graph.$("svg.nvd3-svg .nv-x:contains('Undefined')").length, 1); + assert.strictEqual(graph.$("svg.nvd3-svg:contains('January')").length, 1); + + // Undefined should not appear after switching back to line chart + graph.$buttons.find('.o_graph_button[data-mode=line]').click(); + assert.strictEqual(graph.$("svg.nvd3-svg .nv-x:contains('Undefined')").length, 0); + assert.strictEqual(graph.$("svg.nvd3-svg:contains('January')").length, 1); graph.destroy(); }); }); diff --git a/addons/web/static/tests/views/pivot_tests.js b/addons/web/static/tests/views/pivot_tests.js index 46c28529bed..3e3ba9fd89a 100644 --- a/addons/web/static/tests/views/pivot_tests.js +++ b/addons/web/static/tests/views/pivot_tests.js @@ -149,6 +149,23 @@ QUnit.module('Views', { pivot.destroy(); }); + QUnit.test('pivot rendering with string attribute on non stored field', function (assert) { + assert.expect(1); + + this.data.partner.fields.fubar = {string: "Fubar", type: "integer", store:false}; + + var pivot = createView({ + View: PivotView, + model: "partner", + data: this.data, + arch: '<pivot string="Partners">' + + '<field name="fubar" string="fubar" type="measure"/>' + + '</pivot>', + }); + assert.ok(pivot.$el.hasClass('o_pivot'),'Non stored fields can have a string attribute'); + pivot.destroy(); + }); + QUnit.test('pivot rendering with invisible attribute on field', function (assert) { assert.expect(2); // when invisible, a field should neither be an active measure, |
