From 9a856855ea465ca1ca25c15dbde46bf160c0b2c8 Mon Sep 17 00:00:00 2001 From: Flectra Community Bot Date: Tue, 1 Oct 2024 07:56:39 +0200 Subject: [PATCH] Automatic Update form OCA2FC Migrator --- .gitlab-ci.yml | 258 ++++++- README.md | 12 +- announcement/COPYRIGHT | 23 + announcement/LICENSE | 663 ++++++++++++++++++ announcement/README.rst | 132 ++++ announcement/__init__.py | 2 + announcement/__manifest__.py | 30 + announcement/demo/announcement_tag_demo.xml | 23 + announcement/i18n/announcement.pot | 438 ++++++++++++ announcement/i18n/es.po | 445 ++++++++++++ announcement/i18n/it.po | 444 ++++++++++++ announcement/models/__init__.py | 4 + announcement/models/announcement.py | 274 ++++++++ announcement/models/announcement_tag.py | 45 ++ announcement/models/ir_http.py | 12 + announcement/models/res_users.py | 94 +++ announcement/pyproject.toml | 3 + .../security/announcement_security.xml | 58 ++ announcement/security/ir.model.access.csv | 7 + announcement/static/description/icon.png | Bin 0 -> 4887 bytes announcement/static/description/index.html | 482 +++++++++++++ .../announcement_dialog.esm.js | 8 + .../announcement_menu.esm.js | 102 +++ .../announcement_menu/announcement_menu.xml | 56 ++ .../announcement_service.esm.js | 37 + announcement/views/announcement_tag_views.xml | 49 ++ announcement/views/announcement_views.xml | 241 +++++++ announcement/wizards/__init__.py | 1 + .../wizards/read_announcement_wizard.py | 14 + .../wizards/read_announcement_wizard.xml | 14 + barcode_action/COPYRIGHT | 17 + barcode_action/LICENSE | 663 ++++++++++++++++++ barcode_action/README.rst | 152 ++++ barcode_action/__init__.py | 2 + barcode_action/__manifest__.py | 26 + barcode_action/demo/barcode_action_demo.xml | 20 + barcode_action/i18n/barcode_action.pot | 131 ++++ barcode_action/i18n/es.po | 137 ++++ barcode_action/i18n/hr.po | 139 ++++ barcode_action/i18n/it.po | 137 ++++ barcode_action/i18n/pt.po | 137 ++++ barcode_action/i18n/zh_CN.po | 138 ++++ barcode_action/models/__init__.py | 1 + barcode_action/models/res_partner.py | 35 + barcode_action/pyproject.toml | 3 + barcode_action/security/ir.model.access.csv | 2 + barcode_action/static/description/icon.png | Bin 0 -> 9455 bytes barcode_action/static/description/index.html | 492 +++++++++++++ .../src/js/action_barcode_widget.esm.js | 37 + barcode_action/tests/__init__.py | 1 + barcode_action/tests/test_partner_find.py | 22 + barcode_action/wizard/__init__.py | 1 + barcode_action/wizard/barcode_action.py | 15 + barcode_action/wizard/barcode_action_view.xml | 58 ++ base_menu_visibility_restriction/COPYRIGHT | 15 + base_menu_visibility_restriction/LICENSE | 663 ++++++++++++++++++ base_menu_visibility_restriction/README.rst | 104 +++ base_menu_visibility_restriction/__init__.py | 1 + .../__manifest__.py | 17 + .../i18n/base_menu_visibility_restriction.pot | 24 + base_menu_visibility_restriction/i18n/es.po | 30 + base_menu_visibility_restriction/i18n/it.po | 30 + .../models/__init__.py | 1 + .../models/ir_ui_menu.py | 26 + .../pyproject.toml | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 445 ++++++++++++ .../tests/__init__.py | 1 + .../tests/test_ir_ui_menu.py | 23 + .../views/ir_ui_menu.xml | 20 + base_optional_quick_create/COPYRIGHT | 19 + base_optional_quick_create/LICENSE | 663 ++++++++++++++++++ base_optional_quick_create/README.rst | 100 +++ base_optional_quick_create/__init__.py | 1 + base_optional_quick_create/__manifest__.py | 17 + .../i18n/base_optional_quick_create.pot | 33 + base_optional_quick_create/i18n/de.po | 52 ++ base_optional_quick_create/i18n/es.po | 42 ++ base_optional_quick_create/i18n/fi.po | 38 + base_optional_quick_create/i18n/fr.po | 36 + base_optional_quick_create/i18n/hr.po | 44 ++ base_optional_quick_create/i18n/hr_HR.po | 40 ++ base_optional_quick_create/i18n/it.po | 48 ++ base_optional_quick_create/i18n/ja.po | 38 + base_optional_quick_create/i18n/nb_NO.po | 39 ++ base_optional_quick_create/i18n/pt_BR.po | 43 ++ base_optional_quick_create/i18n/sl.po | 43 ++ base_optional_quick_create/i18n/tr.po | 38 + base_optional_quick_create/i18n/tr_TR.po | 39 ++ base_optional_quick_create/i18n/zh_CN.po | 40 ++ base_optional_quick_create/models/__init__.py | 1 + base_optional_quick_create/models/ir_model.py | 107 +++ base_optional_quick_create/pyproject.toml | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 449 ++++++++++++ base_optional_quick_create/tests/__init__.py | 3 + .../tests/test_quick_create.py | 46 ++ .../views/model_view.xml | 12 + base_substate/COPYRIGHT | 19 + base_substate/LICENSE | 663 ++++++++++++++++++ base_substate/README.rst | 95 +++ base_substate/__init__.py | 1 + base_substate/__manifest__.py | 20 + base_substate/i18n/base_substate.pot | 221 ++++++ base_substate/i18n/es.po | 237 +++++++ base_substate/i18n/it.po | 238 +++++++ base_substate/models/__init__.py | 2 + base_substate/models/base_substate.py | 103 +++ base_substate/models/base_substate_mixin.py | 131 ++++ base_substate/pyproject.toml | 3 + .../security/base_substate_security.xml | 7 + base_substate/security/ir.model.access.csv | 7 + base_substate/static/description/icon.png | Bin 0 -> 9455 bytes base_substate/static/description/index.html | 439 ++++++++++++ base_substate/tests/__init__.py | 3 + base_substate/tests/models_mixin.py | 125 ++++ base_substate/tests/sale_test.py | 55 ++ base_substate/tests/test_base_substate.py | 119 ++++ .../views/base_substate_type_views.xml | 85 +++ .../views/base_substate_value_views.xml | 83 +++ base_substate/views/base_substate_views.xml | 88 +++ base_tier_validation/COPYRIGHT | 2 + base_tier_validation/README.rst | 30 +- base_tier_validation/__manifest__.py | 3 +- .../i18n/base_tier_validation.pot | 134 +++- base_tier_validation/i18n/es.po | 138 +++- base_tier_validation/i18n/es_MX.po | 138 +++- base_tier_validation/i18n/fr.po | 138 +++- base_tier_validation/i18n/it.po | 169 ++++- base_tier_validation/i18n/nl_NL.po | 138 +++- base_tier_validation/i18n/sv.po | 215 +++++- base_tier_validation/i18n/tr.po | 138 +++- base_tier_validation/i18n/zh_CN.po | 138 +++- base_tier_validation/models/__init__.py | 1 + base_tier_validation/models/res_users.py | 16 - .../models/tier_definition.py | 6 +- .../models/tier_validation.py | 177 ++++- .../models/tier_validation_exception.py | 92 +++ .../security/ir.model.access.csv | 2 + .../static/description/index.html | 42 +- base_tier_validation/tests/common.py | 18 + .../tests/test_tier_validation.py | 111 +-- .../tests/tier_validation_tester.py | 2 + .../views/tier_definition_view.xml | 1 + .../views/tier_validation_exception_view.xml | 124 ++++ base_tier_validation_formula/i18n/it.po | 4 +- base_tier_validation_forward/COPYRIGHT | 16 + base_tier_validation_forward/LICENSE | 663 ++++++++++++++++++ base_tier_validation_forward/README.rst | 107 +++ base_tier_validation_forward/__init__.py | 5 + base_tier_validation_forward/__manifest__.py | 29 + .../data/mail_data.xml | 13 + base_tier_validation_forward/hooks.py | 19 + .../i18n/base_tier_validation_forward.pot | 193 +++++ base_tier_validation_forward/i18n/es.po | 202 ++++++ base_tier_validation_forward/i18n/it.po | 202 ++++++ .../models/__init__.py | 5 + .../models/tier_definition.py | 13 + .../models/tier_review.py | 53 ++ .../models/tier_validation.py | 94 +++ base_tier_validation_forward/pyproject.toml | 3 + .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 447 ++++++++++++ .../static/src/xml/tier_review_template.xml | 12 + .../templates/tier_validation_templates.xml | 18 + .../tests/__init__.py | 3 + .../tests/test_tier_validation.py | 134 ++++ .../views/tier_definition_view.xml | 15 + .../wizard/__init__.py | 4 + .../wizard/comment_wizard.py | 15 + .../wizard/forward_wizard.py | 54 ++ .../wizard/forward_wizard_view.xml | 33 + date_range/README.rst | 2 +- date_range/__manifest__.py | 2 +- date_range/i18n/am.po | 5 - date_range/i18n/ar.po | 10 +- date_range/i18n/bg.po | 10 +- date_range/i18n/bs.po | 10 +- date_range/i18n/ca.po | 10 +- date_range/i18n/ca_ES.po | 5 - date_range/i18n/cs.po | 10 +- date_range/i18n/da.po | 10 +- date_range/i18n/date_range.pot | 5 - date_range/i18n/de.po | 10 +- date_range/i18n/el_GR.po | 10 +- date_range/i18n/en_AU.po | 5 - date_range/i18n/en_GB.po | 10 +- date_range/i18n/es.po | 8 +- date_range/i18n/es_AR.po | 10 +- date_range/i18n/es_CL.po | 10 +- date_range/i18n/es_CO.po | 10 +- date_range/i18n/es_CR.po | 10 +- date_range/i18n/es_DO.po | 10 +- date_range/i18n/es_EC.po | 10 +- date_range/i18n/es_ES.po | 10 +- date_range/i18n/es_MX.po | 10 +- date_range/i18n/es_PE.po | 10 +- date_range/i18n/es_PY.po | 10 +- date_range/i18n/es_VE.po | 10 +- date_range/i18n/et.po | 10 +- date_range/i18n/eu.po | 10 +- date_range/i18n/fa.po | 10 +- date_range/i18n/fi.po | 10 +- date_range/i18n/fr.po | 25 +- date_range/i18n/fr_CA.po | 10 +- date_range/i18n/fr_CH.po | 10 +- date_range/i18n/fr_FR.po | 8 +- date_range/i18n/gl.po | 10 +- date_range/i18n/gl_ES.po | 5 - date_range/i18n/he.po | 10 +- date_range/i18n/hi.po | 5 - date_range/i18n/hr.po | 10 +- date_range/i18n/hr_HR.po | 10 +- date_range/i18n/hu.po | 10 +- date_range/i18n/id.po | 10 +- date_range/i18n/it.po | 17 +- date_range/i18n/ja.po | 10 +- date_range/i18n/ko.po | 10 +- date_range/i18n/lo.po | 5 - date_range/i18n/lt.po | 10 +- date_range/i18n/lt_LT.po | 5 - date_range/i18n/lv.po | 10 +- date_range/i18n/mk.po | 10 +- date_range/i18n/mn.po | 10 +- date_range/i18n/nb.po | 10 +- date_range/i18n/nb_NO.po | 5 - date_range/i18n/nl.po | 10 +- date_range/i18n/nl_BE.po | 10 +- date_range/i18n/nl_NL.po | 8 +- date_range/i18n/pl.po | 10 +- date_range/i18n/pt.po | 8 +- date_range/i18n/pt_BR.po | 10 +- date_range/i18n/pt_PT.po | 10 +- date_range/i18n/ro.po | 10 +- date_range/i18n/ru.po | 10 +- date_range/i18n/sk.po | 10 +- date_range/i18n/sl.po | 10 +- date_range/i18n/sr.po | 10 +- date_range/i18n/sr@latin.po | 10 +- date_range/i18n/sv.po | 139 ++-- date_range/i18n/th.po | 10 +- date_range/i18n/tr.po | 10 +- date_range/i18n/tr_TR.po | 10 +- date_range/i18n/uk.po | 10 +- date_range/i18n/vi.po | 10 +- date_range/i18n/vi_VN.po | 10 +- date_range/i18n/zh_CN.po | 86 +-- date_range/i18n/zh_TW.po | 10 +- date_range/models/date_range.py | 3 +- date_range/models/date_range_type.py | 1 + date_range/static/description/index.html | 2 +- date_range/views/date_range_view.xml | 2 +- multi_step_wizard/COPYRIGHT | 16 + multi_step_wizard/LICENSE | 663 ++++++++++++++++++ multi_step_wizard/README.rst | 175 +++++ multi_step_wizard/__init__.py | 3 + multi_step_wizard/__manifest__.py | 12 + multi_step_wizard/i18n/ca.po | 56 ++ multi_step_wizard/i18n/de.po | 47 ++ multi_step_wizard/i18n/es.po | 47 ++ multi_step_wizard/i18n/hr.po | 75 ++ multi_step_wizard/i18n/it.po | 47 ++ multi_step_wizard/i18n/multi_step_wizard.pot | 44 ++ multi_step_wizard/i18n/nl.po | 68 ++ multi_step_wizard/i18n/zh_CN.po | 74 ++ multi_step_wizard/models/__init__.py | 3 + multi_step_wizard/models/multi_step_wizard.py | 78 +++ multi_step_wizard/pyproject.toml | 3 + multi_step_wizard/static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 519 ++++++++++++++ multi_step_wizard/tests/__init__.py | 4 + multi_step_wizard/tests/common.py | 22 + .../tests/multi_step_wizard_test.py | 13 + .../tests/test_multi_step_wizard.py | 23 + .../views/multi_step_wizard_views.xml | 36 + server_action_mass_edit/COPYRIGHT | 18 + server_action_mass_edit/LICENSE | 663 ++++++++++++++++++ server_action_mass_edit/README.rst | 161 +++++ server_action_mass_edit/__init__.py | 2 + server_action_mass_edit/__manifest__.py | 30 + server_action_mass_edit/demo/mass_editing.xml | 79 +++ server_action_mass_edit/i18n/am.po | 290 ++++++++ server_action_mass_edit/i18n/ar.po | 297 ++++++++ server_action_mass_edit/i18n/bg.po | 296 ++++++++ server_action_mass_edit/i18n/bs.po | 297 ++++++++ server_action_mass_edit/i18n/ca.po | 296 ++++++++ server_action_mass_edit/i18n/cs.po | 296 ++++++++ server_action_mass_edit/i18n/da.po | 299 ++++++++ server_action_mass_edit/i18n/de.po | 371 ++++++++++ server_action_mass_edit/i18n/el_GR.po | 295 ++++++++ server_action_mass_edit/i18n/en_GB.po | 297 ++++++++ server_action_mass_edit/i18n/es.po | 405 +++++++++++ server_action_mass_edit/i18n/es_AR.po | 297 ++++++++ server_action_mass_edit/i18n/es_CL.po | 297 ++++++++ server_action_mass_edit/i18n/es_CO.po | 297 ++++++++ server_action_mass_edit/i18n/es_CR.po | 294 ++++++++ server_action_mass_edit/i18n/es_DO.po | 297 ++++++++ server_action_mass_edit/i18n/es_EC.po | 297 ++++++++ server_action_mass_edit/i18n/es_ES.po | 294 ++++++++ server_action_mass_edit/i18n/es_MX.po | 323 +++++++++ server_action_mass_edit/i18n/es_PE.po | 297 ++++++++ server_action_mass_edit/i18n/es_PY.po | 294 ++++++++ server_action_mass_edit/i18n/es_VE.po | 297 ++++++++ server_action_mass_edit/i18n/et.po | 296 ++++++++ server_action_mass_edit/i18n/eu.po | 293 ++++++++ server_action_mass_edit/i18n/fa.po | 296 ++++++++ server_action_mass_edit/i18n/fi.po | 332 +++++++++ server_action_mass_edit/i18n/fr.po | 339 +++++++++ server_action_mass_edit/i18n/fr_CA.po | 337 +++++++++ server_action_mass_edit/i18n/fr_CH.po | 294 ++++++++ server_action_mass_edit/i18n/fr_FR.po | 301 ++++++++ server_action_mass_edit/i18n/gl.po | 298 ++++++++ server_action_mass_edit/i18n/gl_ES.po | 291 ++++++++ server_action_mass_edit/i18n/he.po | 296 ++++++++ server_action_mass_edit/i18n/hr.po | 373 ++++++++++ server_action_mass_edit/i18n/hr_HR.po | 298 ++++++++ server_action_mass_edit/i18n/hu.po | 296 ++++++++ server_action_mass_edit/i18n/id.po | 296 ++++++++ server_action_mass_edit/i18n/it.po | 435 ++++++++++++ server_action_mass_edit/i18n/ja.po | 296 ++++++++ server_action_mass_edit/i18n/ko.po | 296 ++++++++ server_action_mass_edit/i18n/lt.po | 297 ++++++++ server_action_mass_edit/i18n/lt_LT.po | 292 ++++++++ server_action_mass_edit/i18n/lv.po | 294 ++++++++ server_action_mass_edit/i18n/mk.po | 296 ++++++++ server_action_mass_edit/i18n/mn.po | 296 ++++++++ server_action_mass_edit/i18n/nb.po | 297 ++++++++ server_action_mass_edit/i18n/nb_NO.po | 294 ++++++++ server_action_mass_edit/i18n/nl.po | 321 +++++++++ server_action_mass_edit/i18n/nl_BE.po | 297 ++++++++ server_action_mass_edit/i18n/nl_NL.po | 304 ++++++++ server_action_mass_edit/i18n/pl.po | 297 ++++++++ server_action_mass_edit/i18n/pt.po | 396 +++++++++++ server_action_mass_edit/i18n/pt_BR.po | 364 ++++++++++ server_action_mass_edit/i18n/pt_PT.po | 332 +++++++++ server_action_mass_edit/i18n/ro.po | 298 ++++++++ server_action_mass_edit/i18n/ru.po | 295 ++++++++ .../i18n/server_action_mass_edit.pot | 288 ++++++++ server_action_mass_edit/i18n/sk.po | 296 ++++++++ server_action_mass_edit/i18n/sl.po | 333 +++++++++ server_action_mass_edit/i18n/sr.po | 294 ++++++++ server_action_mass_edit/i18n/sr@latin.po | 298 ++++++++ server_action_mass_edit/i18n/sv.po | 334 +++++++++ server_action_mass_edit/i18n/th.po | 296 ++++++++ server_action_mass_edit/i18n/tr.po | 391 +++++++++++ server_action_mass_edit/i18n/tr_TR.po | 297 ++++++++ server_action_mass_edit/i18n/uk.po | 334 +++++++++ server_action_mass_edit/i18n/vi.po | 296 ++++++++ server_action_mass_edit/i18n/vi_VN.po | 294 ++++++++ server_action_mass_edit/i18n/zh_CN.po | 357 ++++++++++ server_action_mass_edit/i18n/zh_TW.po | 297 ++++++++ server_action_mass_edit/models/__init__.py | 3 + .../models/ir_actions_server.py | 72 ++ .../ir_actions_server_mass_edit_line.py | 69 ++ server_action_mass_edit/models/ir_ui_view.py | 7 + server_action_mass_edit/pyproject.toml | 3 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 505 +++++++++++++ .../mass_editing-item_tree-result.png | Bin 0 -> 42018 bytes .../description/mass_editing-item_tree.png | Bin 0 -> 51621 bytes .../description/mass_editing-wizard_form.png | Bin 0 -> 23859 bytes .../static/description/mass_editing_form.png | Bin 0 -> 64613 bytes .../static/src/js/record.esm.js | 29 + .../static/src/js/static_list.esm.js | 33 + server_action_mass_edit/tests/__init__.py | 3 + .../tests/test_mass_editing.py | 406 +++++++++++ .../views/ir_actions_server.xml | 44 ++ server_action_mass_edit/wizard/__init__.py | 3 + .../wizard/mass_editing_wizard.py | 339 +++++++++ .../wizard/mass_editing_wizard.xml | 52 ++ 372 files changed, 43363 insertions(+), 725 deletions(-) create mode 100644 announcement/COPYRIGHT create mode 100644 announcement/LICENSE create mode 100644 announcement/README.rst create mode 100644 announcement/__init__.py create mode 100644 announcement/__manifest__.py create mode 100644 announcement/demo/announcement_tag_demo.xml create mode 100644 announcement/i18n/announcement.pot create mode 100644 announcement/i18n/es.po create mode 100644 announcement/i18n/it.po create mode 100644 announcement/models/__init__.py create mode 100644 announcement/models/announcement.py create mode 100644 announcement/models/announcement_tag.py create mode 100644 announcement/models/ir_http.py create mode 100644 announcement/models/res_users.py create mode 100644 announcement/pyproject.toml create mode 100644 announcement/security/announcement_security.xml create mode 100644 announcement/security/ir.model.access.csv create mode 100644 announcement/static/description/icon.png create mode 100644 announcement/static/description/index.html create mode 100644 announcement/static/src/js/announcement_dialog/announcement_dialog.esm.js create mode 100644 announcement/static/src/js/announcement_menu/announcement_menu.esm.js create mode 100644 announcement/static/src/js/announcement_menu/announcement_menu.xml create mode 100644 announcement/static/src/js/announcement_service/announcement_service.esm.js create mode 100644 announcement/views/announcement_tag_views.xml create mode 100644 announcement/views/announcement_views.xml create mode 100644 announcement/wizards/__init__.py create mode 100644 announcement/wizards/read_announcement_wizard.py create mode 100644 announcement/wizards/read_announcement_wizard.xml create mode 100644 barcode_action/COPYRIGHT create mode 100644 barcode_action/LICENSE create mode 100644 barcode_action/README.rst create mode 100644 barcode_action/__init__.py create mode 100644 barcode_action/__manifest__.py create mode 100644 barcode_action/demo/barcode_action_demo.xml create mode 100644 barcode_action/i18n/barcode_action.pot create mode 100644 barcode_action/i18n/es.po create mode 100644 barcode_action/i18n/hr.po create mode 100644 barcode_action/i18n/it.po create mode 100644 barcode_action/i18n/pt.po create mode 100644 barcode_action/i18n/zh_CN.po create mode 100644 barcode_action/models/__init__.py create mode 100644 barcode_action/models/res_partner.py create mode 100644 barcode_action/pyproject.toml create mode 100644 barcode_action/security/ir.model.access.csv create mode 100644 barcode_action/static/description/icon.png create mode 100644 barcode_action/static/description/index.html create mode 100644 barcode_action/static/src/js/action_barcode_widget.esm.js create mode 100644 barcode_action/tests/__init__.py create mode 100644 barcode_action/tests/test_partner_find.py create mode 100644 barcode_action/wizard/__init__.py create mode 100644 barcode_action/wizard/barcode_action.py create mode 100644 barcode_action/wizard/barcode_action_view.xml create mode 100644 base_menu_visibility_restriction/COPYRIGHT create mode 100644 base_menu_visibility_restriction/LICENSE create mode 100644 base_menu_visibility_restriction/README.rst create mode 100644 base_menu_visibility_restriction/__init__.py create mode 100644 base_menu_visibility_restriction/__manifest__.py create mode 100644 base_menu_visibility_restriction/i18n/base_menu_visibility_restriction.pot create mode 100644 base_menu_visibility_restriction/i18n/es.po create mode 100644 base_menu_visibility_restriction/i18n/it.po create mode 100644 base_menu_visibility_restriction/models/__init__.py create mode 100644 base_menu_visibility_restriction/models/ir_ui_menu.py create mode 100644 base_menu_visibility_restriction/pyproject.toml create mode 100644 base_menu_visibility_restriction/static/description/icon.png create mode 100644 base_menu_visibility_restriction/static/description/index.html create mode 100644 base_menu_visibility_restriction/tests/__init__.py create mode 100644 base_menu_visibility_restriction/tests/test_ir_ui_menu.py create mode 100644 base_menu_visibility_restriction/views/ir_ui_menu.xml create mode 100644 base_optional_quick_create/COPYRIGHT create mode 100644 base_optional_quick_create/LICENSE create mode 100644 base_optional_quick_create/README.rst create mode 100644 base_optional_quick_create/__init__.py create mode 100644 base_optional_quick_create/__manifest__.py create mode 100644 base_optional_quick_create/i18n/base_optional_quick_create.pot create mode 100644 base_optional_quick_create/i18n/de.po create mode 100644 base_optional_quick_create/i18n/es.po create mode 100644 base_optional_quick_create/i18n/fi.po create mode 100644 base_optional_quick_create/i18n/fr.po create mode 100644 base_optional_quick_create/i18n/hr.po create mode 100644 base_optional_quick_create/i18n/hr_HR.po create mode 100644 base_optional_quick_create/i18n/it.po create mode 100644 base_optional_quick_create/i18n/ja.po create mode 100644 base_optional_quick_create/i18n/nb_NO.po create mode 100644 base_optional_quick_create/i18n/pt_BR.po create mode 100644 base_optional_quick_create/i18n/sl.po create mode 100644 base_optional_quick_create/i18n/tr.po create mode 100644 base_optional_quick_create/i18n/tr_TR.po create mode 100644 base_optional_quick_create/i18n/zh_CN.po create mode 100644 base_optional_quick_create/models/__init__.py create mode 100644 base_optional_quick_create/models/ir_model.py create mode 100644 base_optional_quick_create/pyproject.toml create mode 100644 base_optional_quick_create/static/description/icon.png create mode 100644 base_optional_quick_create/static/description/index.html create mode 100644 base_optional_quick_create/tests/__init__.py create mode 100644 base_optional_quick_create/tests/test_quick_create.py create mode 100644 base_optional_quick_create/views/model_view.xml create mode 100644 base_substate/COPYRIGHT create mode 100644 base_substate/LICENSE create mode 100644 base_substate/README.rst create mode 100644 base_substate/__init__.py create mode 100644 base_substate/__manifest__.py create mode 100644 base_substate/i18n/base_substate.pot create mode 100644 base_substate/i18n/es.po create mode 100644 base_substate/i18n/it.po create mode 100644 base_substate/models/__init__.py create mode 100644 base_substate/models/base_substate.py create mode 100644 base_substate/models/base_substate_mixin.py create mode 100644 base_substate/pyproject.toml create mode 100644 base_substate/security/base_substate_security.xml create mode 100644 base_substate/security/ir.model.access.csv create mode 100644 base_substate/static/description/icon.png create mode 100644 base_substate/static/description/index.html create mode 100644 base_substate/tests/__init__.py create mode 100644 base_substate/tests/models_mixin.py create mode 100644 base_substate/tests/sale_test.py create mode 100644 base_substate/tests/test_base_substate.py create mode 100644 base_substate/views/base_substate_type_views.xml create mode 100644 base_substate/views/base_substate_value_views.xml create mode 100644 base_substate/views/base_substate_views.xml create mode 100644 base_tier_validation/models/tier_validation_exception.py create mode 100644 base_tier_validation/views/tier_validation_exception_view.xml create mode 100644 base_tier_validation_forward/COPYRIGHT create mode 100644 base_tier_validation_forward/LICENSE create mode 100644 base_tier_validation_forward/README.rst create mode 100644 base_tier_validation_forward/__init__.py create mode 100644 base_tier_validation_forward/__manifest__.py create mode 100644 base_tier_validation_forward/data/mail_data.xml create mode 100644 base_tier_validation_forward/hooks.py create mode 100644 base_tier_validation_forward/i18n/base_tier_validation_forward.pot create mode 100644 base_tier_validation_forward/i18n/es.po create mode 100644 base_tier_validation_forward/i18n/it.po create mode 100644 base_tier_validation_forward/models/__init__.py create mode 100644 base_tier_validation_forward/models/tier_definition.py create mode 100644 base_tier_validation_forward/models/tier_review.py create mode 100644 base_tier_validation_forward/models/tier_validation.py create mode 100644 base_tier_validation_forward/pyproject.toml create mode 100644 base_tier_validation_forward/security/ir.model.access.csv create mode 100644 base_tier_validation_forward/static/description/icon.png create mode 100644 base_tier_validation_forward/static/description/index.html create mode 100644 base_tier_validation_forward/static/src/xml/tier_review_template.xml create mode 100644 base_tier_validation_forward/templates/tier_validation_templates.xml create mode 100644 base_tier_validation_forward/tests/__init__.py create mode 100644 base_tier_validation_forward/tests/test_tier_validation.py create mode 100644 base_tier_validation_forward/views/tier_definition_view.xml create mode 100644 base_tier_validation_forward/wizard/__init__.py create mode 100644 base_tier_validation_forward/wizard/comment_wizard.py create mode 100644 base_tier_validation_forward/wizard/forward_wizard.py create mode 100644 base_tier_validation_forward/wizard/forward_wizard_view.xml create mode 100644 multi_step_wizard/COPYRIGHT create mode 100644 multi_step_wizard/LICENSE create mode 100644 multi_step_wizard/README.rst create mode 100644 multi_step_wizard/__init__.py create mode 100644 multi_step_wizard/__manifest__.py create mode 100644 multi_step_wizard/i18n/ca.po create mode 100644 multi_step_wizard/i18n/de.po create mode 100644 multi_step_wizard/i18n/es.po create mode 100644 multi_step_wizard/i18n/hr.po create mode 100644 multi_step_wizard/i18n/it.po create mode 100644 multi_step_wizard/i18n/multi_step_wizard.pot create mode 100644 multi_step_wizard/i18n/nl.po create mode 100644 multi_step_wizard/i18n/zh_CN.po create mode 100644 multi_step_wizard/models/__init__.py create mode 100644 multi_step_wizard/models/multi_step_wizard.py create mode 100644 multi_step_wizard/pyproject.toml create mode 100644 multi_step_wizard/static/description/icon.png create mode 100644 multi_step_wizard/static/description/index.html create mode 100644 multi_step_wizard/tests/__init__.py create mode 100644 multi_step_wizard/tests/common.py create mode 100644 multi_step_wizard/tests/multi_step_wizard_test.py create mode 100644 multi_step_wizard/tests/test_multi_step_wizard.py create mode 100644 multi_step_wizard/views/multi_step_wizard_views.xml create mode 100644 server_action_mass_edit/COPYRIGHT create mode 100644 server_action_mass_edit/LICENSE create mode 100644 server_action_mass_edit/README.rst create mode 100644 server_action_mass_edit/__init__.py create mode 100644 server_action_mass_edit/__manifest__.py create mode 100644 server_action_mass_edit/demo/mass_editing.xml create mode 100644 server_action_mass_edit/i18n/am.po create mode 100644 server_action_mass_edit/i18n/ar.po create mode 100644 server_action_mass_edit/i18n/bg.po create mode 100644 server_action_mass_edit/i18n/bs.po create mode 100644 server_action_mass_edit/i18n/ca.po create mode 100644 server_action_mass_edit/i18n/cs.po create mode 100644 server_action_mass_edit/i18n/da.po create mode 100644 server_action_mass_edit/i18n/de.po create mode 100644 server_action_mass_edit/i18n/el_GR.po create mode 100644 server_action_mass_edit/i18n/en_GB.po create mode 100644 server_action_mass_edit/i18n/es.po create mode 100644 server_action_mass_edit/i18n/es_AR.po create mode 100644 server_action_mass_edit/i18n/es_CL.po create mode 100644 server_action_mass_edit/i18n/es_CO.po create mode 100644 server_action_mass_edit/i18n/es_CR.po create mode 100644 server_action_mass_edit/i18n/es_DO.po create mode 100644 server_action_mass_edit/i18n/es_EC.po create mode 100644 server_action_mass_edit/i18n/es_ES.po create mode 100644 server_action_mass_edit/i18n/es_MX.po create mode 100644 server_action_mass_edit/i18n/es_PE.po create mode 100644 server_action_mass_edit/i18n/es_PY.po create mode 100644 server_action_mass_edit/i18n/es_VE.po create mode 100644 server_action_mass_edit/i18n/et.po create mode 100644 server_action_mass_edit/i18n/eu.po create mode 100644 server_action_mass_edit/i18n/fa.po create mode 100644 server_action_mass_edit/i18n/fi.po create mode 100644 server_action_mass_edit/i18n/fr.po create mode 100644 server_action_mass_edit/i18n/fr_CA.po create mode 100644 server_action_mass_edit/i18n/fr_CH.po create mode 100644 server_action_mass_edit/i18n/fr_FR.po create mode 100644 server_action_mass_edit/i18n/gl.po create mode 100644 server_action_mass_edit/i18n/gl_ES.po create mode 100644 server_action_mass_edit/i18n/he.po create mode 100644 server_action_mass_edit/i18n/hr.po create mode 100644 server_action_mass_edit/i18n/hr_HR.po create mode 100644 server_action_mass_edit/i18n/hu.po create mode 100644 server_action_mass_edit/i18n/id.po create mode 100644 server_action_mass_edit/i18n/it.po create mode 100644 server_action_mass_edit/i18n/ja.po create mode 100644 server_action_mass_edit/i18n/ko.po create mode 100644 server_action_mass_edit/i18n/lt.po create mode 100644 server_action_mass_edit/i18n/lt_LT.po create mode 100644 server_action_mass_edit/i18n/lv.po create mode 100644 server_action_mass_edit/i18n/mk.po create mode 100644 server_action_mass_edit/i18n/mn.po create mode 100644 server_action_mass_edit/i18n/nb.po create mode 100644 server_action_mass_edit/i18n/nb_NO.po create mode 100644 server_action_mass_edit/i18n/nl.po create mode 100644 server_action_mass_edit/i18n/nl_BE.po create mode 100644 server_action_mass_edit/i18n/nl_NL.po create mode 100644 server_action_mass_edit/i18n/pl.po create mode 100644 server_action_mass_edit/i18n/pt.po create mode 100644 server_action_mass_edit/i18n/pt_BR.po create mode 100644 server_action_mass_edit/i18n/pt_PT.po create mode 100644 server_action_mass_edit/i18n/ro.po create mode 100644 server_action_mass_edit/i18n/ru.po create mode 100644 server_action_mass_edit/i18n/server_action_mass_edit.pot create mode 100644 server_action_mass_edit/i18n/sk.po create mode 100644 server_action_mass_edit/i18n/sl.po create mode 100644 server_action_mass_edit/i18n/sr.po create mode 100644 server_action_mass_edit/i18n/sr@latin.po create mode 100644 server_action_mass_edit/i18n/sv.po create mode 100644 server_action_mass_edit/i18n/th.po create mode 100644 server_action_mass_edit/i18n/tr.po create mode 100644 server_action_mass_edit/i18n/tr_TR.po create mode 100644 server_action_mass_edit/i18n/uk.po create mode 100644 server_action_mass_edit/i18n/vi.po create mode 100644 server_action_mass_edit/i18n/vi_VN.po create mode 100644 server_action_mass_edit/i18n/zh_CN.po create mode 100644 server_action_mass_edit/i18n/zh_TW.po create mode 100644 server_action_mass_edit/models/__init__.py create mode 100644 server_action_mass_edit/models/ir_actions_server.py create mode 100644 server_action_mass_edit/models/ir_actions_server_mass_edit_line.py create mode 100644 server_action_mass_edit/models/ir_ui_view.py create mode 100644 server_action_mass_edit/pyproject.toml create mode 100644 server_action_mass_edit/security/ir.model.access.csv create mode 100644 server_action_mass_edit/static/description/icon.png create mode 100644 server_action_mass_edit/static/description/index.html create mode 100644 server_action_mass_edit/static/description/mass_editing-item_tree-result.png create mode 100644 server_action_mass_edit/static/description/mass_editing-item_tree.png create mode 100644 server_action_mass_edit/static/description/mass_editing-wizard_form.png create mode 100644 server_action_mass_edit/static/description/mass_editing_form.png create mode 100644 server_action_mass_edit/static/src/js/record.esm.js create mode 100644 server_action_mass_edit/static/src/js/static_list.esm.js create mode 100644 server_action_mass_edit/tests/__init__.py create mode 100644 server_action_mass_edit/tests/test_mass_editing.py create mode 100644 server_action_mass_edit/views/ir_actions_server.xml create mode 100644 server_action_mass_edit/wizard/__init__.py create mode 100644 server_action_mass_edit/wizard/mass_editing_wizard.py create mode 100644 server_action_mass_edit/wizard/mass_editing_wizard.xml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 376c5c8..d8b64b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -42,20 +42,121 @@ test_all_modules: --db_password flectra --database test_all --test-enable - --init base_technical_features,base_search_custom_field_filter,sequence_reset_period,base_tier_validation,base_revision,date_range_account,date_range,base_tier_validation_formula + --init multi_step_wizard,base_menu_visibility_restriction,base_substate,base_technical_features,base_search_custom_field_filter,server_action_mass_edit,sequence_reset_period,base_optional_quick_create,base_tier_validation_forward,announcement,base_tier_validation,base_revision,date_range_account,barcode_action,date_range,base_tier_validation_formula --stop-after-init --log-level error + --log-handler flectra.addons.multi_step_wizard:TEST + --log-handler flectra.addons.base_menu_visibility_restriction:TEST + --log-handler flectra.addons.base_substate:TEST --log-handler flectra.addons.base_technical_features:TEST --log-handler flectra.addons.base_search_custom_field_filter:TEST + --log-handler flectra.addons.server_action_mass_edit:TEST --log-handler flectra.addons.sequence_reset_period:TEST + --log-handler flectra.addons.base_optional_quick_create:TEST + --log-handler flectra.addons.base_tier_validation_forward:TEST + --log-handler flectra.addons.announcement:TEST --log-handler flectra.addons.base_tier_validation:TEST --log-handler flectra.addons.base_revision:TEST --log-handler flectra.addons.date_range_account:TEST + --log-handler flectra.addons.barcode_action:TEST --log-handler flectra.addons.date_range:TEST --log-handler flectra.addons.base_tier_validation_formula:TEST " +test_module_multi_step_wizard: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_multi_step_wizard + - psql -h psql -U flectra -d test_multi_step_wizard -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_multi_step_wizard + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_multi_step_wizard + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_multi_step_wizard + --test-enable -i multi_step_wizard + --stop-after-init + --log-level error + --log-handler flectra.addons.multi_step_wizard:TEST" + +test_module_base_menu_visibility_restriction: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_base_menu_visibility_restriction + - psql -h psql -U flectra -d test_base_menu_visibility_restriction -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_menu_visibility_restriction + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_menu_visibility_restriction + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_base_menu_visibility_restriction + --test-enable -i base_menu_visibility_restriction + --stop-after-init + --log-level error + --log-handler flectra.addons.base_menu_visibility_restriction:TEST" + +test_module_base_substate: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_base_substate + - psql -h psql -U flectra -d test_base_substate -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_substate + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_substate + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_base_substate + --test-enable -i base_substate + --stop-after-init + --log-level error + --log-handler flectra.addons.base_substate:TEST" + test_module_base_technical_features: stage: testsingle when: on_failure @@ -118,6 +219,37 @@ test_module_base_search_custom_field_filter: --log-level error --log-handler flectra.addons.base_search_custom_field_filter:TEST" +test_module_server_action_mass_edit: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_server_action_mass_edit + - psql -h psql -U flectra -d test_server_action_mass_edit -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_server_action_mass_edit + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_server_action_mass_edit + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_server_action_mass_edit + --test-enable -i server_action_mass_edit + --stop-after-init + --log-level error + --log-handler flectra.addons.server_action_mass_edit:TEST" + test_module_sequence_reset_period: stage: testsingle when: on_failure @@ -149,6 +281,99 @@ test_module_sequence_reset_period: --log-level error --log-handler flectra.addons.sequence_reset_period:TEST" +test_module_base_optional_quick_create: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_base_optional_quick_create + - psql -h psql -U flectra -d test_base_optional_quick_create -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_optional_quick_create + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_optional_quick_create + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_base_optional_quick_create + --test-enable -i base_optional_quick_create + --stop-after-init + --log-level error + --log-handler flectra.addons.base_optional_quick_create:TEST" + +test_module_base_tier_validation_forward: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_base_tier_validation_forward + - psql -h psql -U flectra -d test_base_tier_validation_forward -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_tier_validation_forward + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_tier_validation_forward + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_base_tier_validation_forward + --test-enable -i base_tier_validation_forward + --stop-after-init + --log-level error + --log-handler flectra.addons.base_tier_validation_forward:TEST" + +test_module_announcement: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_announcement + - psql -h psql -U flectra -d test_announcement -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_announcement + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_announcement + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_announcement + --test-enable -i announcement + --stop-after-init + --log-level error + --log-handler flectra.addons.announcement:TEST" + test_module_base_tier_validation: stage: testsingle when: on_failure @@ -242,6 +467,37 @@ test_module_date_range_account: --log-level error --log-handler flectra.addons.date_range_account:TEST" +test_module_barcode_action: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - su - flectra -c "mkdir ~/others" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_barcode_action + - psql -h psql -U flectra -d test_barcode_action -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_barcode_action + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_barcode_action + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR} + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_barcode_action + --test-enable -i barcode_action + --stop-after-init + --log-level error + --log-handler flectra.addons.barcode_action:TEST" + test_module_date_range: stage: testsingle when: on_failure diff --git a/README.md b/README.md index 76daf31..a566a39 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,21 @@ Available addons addon | version | summary --- | --- | --- +[multi_step_wizard](multi_step_wizard/) | 3.0.1.0.0| Multi-Steps Wizards +[base_menu_visibility_restriction](base_menu_visibility_restriction/) | 3.0.1.0.0| Restrict (with groups) menu visibilty +[base_substate](base_substate/) | 3.0.1.0.0| Base Sub State [base_technical_features](base_technical_features/) | 3.0.1.0.0| Access to technical features without activating debug mode [base_search_custom_field_filter](base_search_custom_field_filter/) | 3.0.1.0.0| Add custom filters for fields via UI +[server_action_mass_edit](server_action_mass_edit/) | 3.0.1.0.1| Mass Editing [sequence_reset_period](sequence_reset_period/) | 3.0.1.0.0| Auto-generate yearly/monthly/weekly/daily sequence period ranges -[base_tier_validation](base_tier_validation/) | 3.0.1.5.1| Implement a validation process based on tiers. +[base_optional_quick_create](base_optional_quick_create/) | 3.0.1.0.0| Avoid "quick create" on m2o fields, on a "by model" basis +[base_tier_validation_forward](base_tier_validation_forward/) | 3.0.1.0.0| Forward option for base tiers +[announcement](announcement/) | 3.0.1.0.0| Notify internal users about relevant organization stuff +[base_tier_validation](base_tier_validation/) | 3.0.2.1.3| Implement a validation process based on tiers. [base_revision](base_revision/) | 3.0.1.0.0| Keep track of revised document [date_range_account](date_range_account/) | 3.0.1.0.0| Add Date Range menu entry in Invoicing app -[date_range](date_range/) | 3.0.1.0.0| Manage all kind of date range +[barcode_action](barcode_action/) | 3.0.1.0.0| Allows to use barcodes as a launcher +[date_range](date_range/) | 3.0.1.2.0| Manage all kind of date range [base_tier_validation_formula](base_tier_validation_formula/) | 3.0.1.0.0| Formulas for Base tier validation diff --git a/announcement/COPYRIGHT b/announcement/COPYRIGHT new file mode 100644 index 0000000..b231215 --- /dev/null +++ b/announcement/COPYRIGHT @@ -0,0 +1,23 @@ +Most of the files are + + * Copyright 2024 Tecnativa - Carlos Roca + /* Copyright 2024 Tecnativa - Carlos Roca + /* Copyright 2024 Tecnativa - David Vidal + :Copyright: This stylesheet has been placed in the public domain. + + + Announcement Tag multi-company + + [('company_id', 'in', [False] + company_ids)] + + diff --git a/announcement/security/ir.model.access.csv b/announcement/security/ir.model.access.csv new file mode 100644 index 0000000..a326d51 --- /dev/null +++ b/announcement/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_announcement_management,announcement.manager,model_announcement,announcement.announcemenent_manager,1,1,1,1 +access_announcement_user,announcement.user,model_announcement,base.group_user,1,0,0,0 +access_announcement_log_all,announcement_log_all,model_announcement_log,base.group_user,1,0,1,0 +access_read_announcement_wizard,access_read_announcement_wizard,model_read_announcement_wizard,announcemenent_manager,1,1,1,1 +access_announcement_tag_management,announcement.tag.manager,model_announcement_tag,announcement.announcemenent_manager,1,1,1,1 +access_announcement_tag_user,announcement.tag.user,model_announcement_tag,base.group_user,1,0,0,0 diff --git a/announcement/static/description/icon.png b/announcement/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9592dd60d5666dbb20ccd3d6c1f3453d47f3de19 GIT binary patch literal 4887 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 JPDHLkV1ieT6{`RM literal 0 KcmV+b0RR6000031 diff --git a/announcement/static/description/index.html b/announcement/static/description/index.html new file mode 100644 index 0000000..4764d73 --- /dev/null +++ b/announcement/static/description/index.html @@ -0,0 +1,482 @@ + + + + + +Announcement + + + +
+

Announcement

+ + +

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

+

This module adds popup announcements in the backend for targeted +internal users. Those announcements can contain rich format and a user +read log is kept for everyone.

+

Table of contents

+ +
+

Configuration

+

To create new announcements a user should be in the Announcements +Managers group. When your user has such permissions, this is the way to +create an announcement:

+
    +
  1. Go to Discuss > Announcements
  2. +
  3. Create a new one and define a title. This title will be shown in the +announcement header.
  4. +
  5. Define the announcement scope:
      +
    • Specific users: manually select which users will see the +announcement.
    • +
    • User groups: users from the selected groups will be the ones to +see the announcement.
    • +
    +
  6. +
  7. Define the announcement body. You can use rich formatting and event +paste your own html (editor in debug mode).
  8. +
  9. By default, the announcement will be archived. This is to prevent the +announcement to show up before time.
  10. +
  11. Once the announcement is ready, unarchive it going to the Actions +menu an choosing the Unarchive option.
  12. +
  13. Optionally you can set an announcement date to schedule the +announcement. The announcement won’t show up until that date.
  14. +
  15. If the announcement doesn’t make sense once a date is passed, you can +set a due date. From that date, the announcement won’t be shown to +anyone.
  16. +
+
+
+

Usage

+

When a user in the scope of active announcements logs in, those will +popup. The user has to mark them as read to continue working. If the +announcement is set during the user session, the announcement will be +eventually prompted in the top bar on the right part. The user click on +the unread announcements icon (a speaker) and the announcements will +popup for the user to check them.

+

Users can go Discuss > Announcements to check current and past +announcements. Announcement managers can also track which users have +read the announcement.

+
+
+

Known issues / Roadmap

+
    +
  • It could be integrated in Discuss app to review past announcements.
  • +
  • Log other information like geolocation, IP, browser agent, etc when +marking announcement as read.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Pedro M. Baeza
    • +
    • David Vidal
    • +
    • Carlos Roca
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-ux project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/announcement/static/src/js/announcement_dialog/announcement_dialog.esm.js b/announcement/static/src/js/announcement_dialog/announcement_dialog.esm.js new file mode 100644 index 0000000..6564f34 --- /dev/null +++ b/announcement/static/src/js/announcement_dialog/announcement_dialog.esm.js @@ -0,0 +1,8 @@ +/* @flectra-module */ +/* Copyright 2024 Tecnativa - Carlos Roca + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ +import {ConfirmationDialog} from "@web/core/confirmation_dialog/confirmation_dialog"; + +// Defined AnnouncementDialog to allow make possible changes in other modules +// like announcement_dialog_size +export class AnnouncementDialog extends ConfirmationDialog {} diff --git a/announcement/static/src/js/announcement_menu/announcement_menu.esm.js b/announcement/static/src/js/announcement_menu/announcement_menu.esm.js new file mode 100644 index 0000000..8271199 --- /dev/null +++ b/announcement/static/src/js/announcement_menu/announcement_menu.esm.js @@ -0,0 +1,102 @@ +/* @flectra-module */ +/* Copyright 2024 Tecnativa - David Vidal + * Copyright 2024 Tecnativa - Carlos Roca + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ +import {Component, markup, onMounted, useState} from "@flectra/owl"; +import {_lt} from "@web/core/l10n/translation"; +import {AnnouncementDialog} from "../announcement_dialog/announcement_dialog.esm"; +import {Dropdown} from "@web/core/dropdown/dropdown"; +import {DropdownItem} from "@web/core/dropdown/dropdown_item"; +import {deserializeDateTime} from "@web/core/l10n/dates"; +import {registry} from "@web/core/registry"; +import {session} from "@web/session"; +import {useDiscussSystray} from "@mail/utils/common/hooks"; +import {useService} from "@web/core/utils/hooks"; + +const {DateTime} = luxon; + +export class AnnouncementMenu extends Component { + setup() { + this.discussSystray = useDiscussSystray(); + this.orm = useService("orm"); + this.dialogService = useService("dialog"); + const announcements_service = useService("announcementService"); + this.announcements = useState(announcements_service.announcements); + // When the user logs in we show him his unread announcements + onMounted(async () => { + // Let's check if the user just logged in and to decide if we popup the + // announcements. This delay is hardcoded to 5 minutes, although we could + // allow to configure it in the future. + const user = await this.orm.call("res.users", "read", [ + session.uid, + ["login_date"], + ]); + const minutes_since_last_login = + (DateTime.now().toSeconds() - + deserializeDateTime(user[0]?.login_date).toSeconds()) / + 60; + const popup_announcement = Boolean(minutes_since_last_login < 5); + const launchPopUp = () => { + if (flectra.isReady) { + if (popup_announcement && this.announcements.count > 0) { + this.openAnnouncement(this.announcements.data[0]); + } + } else { + setTimeout(launchPopUp, 500); + } + }; + setTimeout(launchPopUp, 500); + }); + } + + async getDialogAnnouncementProps(announcement) { + return { + title: announcement.name, + body: markup(announcement.content || ""), + confirm: async () => { + await this.orm.call( + "res.users", + "mark_announcement_as_read", + [announcement.id], + {context: session.user_context} + ); + this.announcements.data = this.announcements.data.filter( + (el) => el.id !== announcement.id + ); + this.announcements.count--; + if (this.announcements.count > 0) { + this.openAnnouncement(this.announcements.data[0]); + } + }, + confirmLabel: _lt("Mark as read"), + }; + } + + // ------------------------------------------------------------ + // Handlers + // ------------------------------------------------------------ + + /** + * Show announcement popup + * @private + * @param {MouseEvent} announcement + */ + async openAnnouncement(announcement) { + this.dialogService.add( + AnnouncementDialog, + await this.getDialogAnnouncementProps(announcement) + ); + } +} + +AnnouncementMenu.components = {Dropdown, DropdownItem}; +AnnouncementMenu.props = []; +AnnouncementMenu.template = "announcement.AnnouncementMenu"; + +export const systrayAnnouncement = { + Component: AnnouncementMenu, +}; + +registry + .category("systray") + .add("announcement.announcement_menu", systrayAnnouncement, {sequence: 100}); diff --git a/announcement/static/src/js/announcement_menu/announcement_menu.xml b/announcement/static/src/js/announcement_menu/announcement_menu.xml new file mode 100644 index 0000000..a17fb3c --- /dev/null +++ b/announcement/static/src/js/announcement_menu/announcement_menu.xml @@ -0,0 +1,56 @@ + + + + + + + + + +
+
+ No announcements. +
+
+ +
+ Announcement +
+
+
+
+ +
+
+ + + + diff --git a/announcement/static/src/js/announcement_service/announcement_service.esm.js b/announcement/static/src/js/announcement_service/announcement_service.esm.js new file mode 100644 index 0000000..45d6c56 --- /dev/null +++ b/announcement/static/src/js/announcement_service/announcement_service.esm.js @@ -0,0 +1,37 @@ +/** @flectra-module */ +/* Copyright 2024 Tecnativa - David Vidal + * Copyright 2024 Tecnativa - Carlos Roca + * License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). */ +import {reactive} from "@flectra/owl"; +import {registry} from "@web/core/registry"; +import {session} from "@web/session"; + +export const announcementService = { + dependencies: ["orm"], + async start(env, {orm}) { + const announcements = reactive({}); + if (session.announcements) { + Object.assign(announcements, session.announcements); + } else { + Object.assign( + announcements, + await orm.call("res.users", "get_announcements", [], { + context: session.user_context, + }) + ); + } + setInterval(async () => { + Object.assign( + announcements, + await orm.call("res.users", "get_announcements", [], { + context: session.user_context, + }) + ); + }, 60000); + return { + announcements, + }; + }, +}; + +registry.category("services").add("announcementService", announcementService); diff --git a/announcement/views/announcement_tag_views.xml b/announcement/views/announcement_tag_views.xml new file mode 100644 index 0000000..9688c51 --- /dev/null +++ b/announcement/views/announcement_tag_views.xml @@ -0,0 +1,49 @@ + + + + + announcement.tag + + + + + + + + + + announcement.tag + +
+ + + + + + + + + + + + +
+
+
+ + Announcement Tags + ir.actions.act_window + announcement.tag + tree,form + {} + + +
diff --git a/announcement/views/announcement_views.xml b/announcement/views/announcement_views.xml new file mode 100644 index 0000000..e5d86a8 --- /dev/null +++ b/announcement/views/announcement_views.xml @@ -0,0 +1,241 @@ + + + + + announcement.log + + + + + + + + + Announcement Logs + announcement.log + {} + [('announcement_id', '=', active_id)] + tree + + + announcement + + + + + + + + + + + announcement + + + + + + + + + + + + + + announcement + +
+ +
+ +
+

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + announcement + + + + + + + + + + + + + + + + + announcement + + + + + + +
+
+
+ + +
+
+
+
+
+
+
+
+ + announcement + + + + + + + + + + announcement + + + + + + + + + + + + + + + + Announcements + ir.actions.act_window + announcement + tree,kanban,calendar,form + {} + + + diff --git a/announcement/wizards/__init__.py b/announcement/wizards/__init__.py new file mode 100644 index 0000000..f1c6a25 --- /dev/null +++ b/announcement/wizards/__init__.py @@ -0,0 +1 @@ +from . import read_announcement_wizard diff --git a/announcement/wizards/read_announcement_wizard.py b/announcement/wizards/read_announcement_wizard.py new file mode 100644 index 0000000..a0a4de2 --- /dev/null +++ b/announcement/wizards/read_announcement_wizard.py @@ -0,0 +1,14 @@ +# Copyright 2022 Tecnativa - David Vidal +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import fields, models + + +class ReadAnnouncementWizard(models.TransientModel): + _name = "read.announcement.wizard" + _description = "Show altogether users who read and users who didn't" + _order = "date desc" + + date = fields.Datetime(string="Read Date") + user_id = fields.Many2one(comodel_name="res.users") + announcement_id = fields.Many2one(comodel_name="announcement") + read_state = fields.Selection(selection=[("read", "Read"), ("unread", "Unread")]) diff --git a/announcement/wizards/read_announcement_wizard.xml b/announcement/wizards/read_announcement_wizard.xml new file mode 100644 index 0000000..fa1fb34 --- /dev/null +++ b/announcement/wizards/read_announcement_wizard.xml @@ -0,0 +1,14 @@ + + + + + read.announcement.wizard + + + + + + + + diff --git a/barcode_action/COPYRIGHT b/barcode_action/COPYRIGHT new file mode 100644 index 0000000..75ac0f1 --- /dev/null +++ b/barcode_action/COPYRIGHT @@ -0,0 +1,17 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2017 Creu Blanca + Copyright 2018 Creu Blanca + Copyright 2020 ForgeFlow S.L. + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/barcode_action/LICENSE b/barcode_action/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/barcode_action/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/barcode_action/README.rst b/barcode_action/README.rst new file mode 100644 index 0000000..b5977d2 --- /dev/null +++ b/barcode_action/README.rst @@ -0,0 +1,152 @@ +======================= +Barcode action launcher +======================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:87fc995f6dec3e033f207c35131f848aaf3987733def7d2e096696664e9c93df + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/barcode_action + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-barcode_action + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to use barcodes as launchers of actions. + +The action will launch a function that uses the barcode in order to +return an action. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Actions must be configured with the following data in the context: \* +model: Model where we can find the method (required) \* method: Method +to execute (required) \* res_id: Id as base (optional) + +The method must return an action. Installing this module with demo data +will install a demo application that allows the system administrator to +find a partner by the external reference encoded in a barcode. + +Go to *Settings / Find partners* and scan a barcode that contains the +internal reference of an existing partner. As soon as you read the +barcode the system will redirect you to that partner's form view. + +Technical implementation of this example: + +Action: + +:: + + + + + +Python code: + +:: + + import json + from odoo import api, models, _ + from odoo.tools.safe_eval import safe_eval + + + class ResPartner(models.Model): + _inherit = 'res.partner' + + @api.multi + def find_res_partner_by_ref_using_barcode(self, barcode): + partner = self.search([('ref', '=', barcode)], limit=1) + if not partner: + action = self.env.ref('res_partner_find') + result = action.read()[0] + context = safe_eval(result['context']) + context.update({ + 'default_state': 'warning', + 'default_status': _('Partner with Internal Reference ' + '%s cannot be found') % barcode + }) + result['context'] = json.dumps(context) + return result + action = self.env.ref('base.action_partner_form') + result = action.read()[0] + res = self.env.ref('base.view_partner_form', False) + result['views'] = [(res and res.id or False, 'form')] + result['res_id'] = partner.id + return result + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Creu Blanca +* ForgeFlow + +Contributors +------------ + +- Enric Tobella +- Jordi Ballester +- Foram Shah +- Dhara Solanki +- `APSL `__: + + - Miquel Pascual + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/barcode_action/__init__.py b/barcode_action/__init__.py new file mode 100644 index 0000000..134df27 --- /dev/null +++ b/barcode_action/__init__.py @@ -0,0 +1,2 @@ +from . import wizard +from . import models diff --git a/barcode_action/__manifest__.py b/barcode_action/__manifest__.py new file mode 100644 index 0000000..26f42fe --- /dev/null +++ b/barcode_action/__manifest__.py @@ -0,0 +1,26 @@ +# Copyright 2017 Creu Blanca +# Copyright 2020 ForgeFlow S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Barcode action launcher", + "version": "3.0.1.0.0", + "category": "Extra Tools", + "website": "https://gitlab.com/flectra-community/server-ux", + "author": "Creu Blanca, ForgeFlow, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "application": False, + "summary": "Allows to use barcodes as a launcher", + "depends": ["barcodes"], + "data": [ + "security/ir.model.access.csv", + "wizard/barcode_action_view.xml", + ], + "assets": { + "web.assets_backend": [ + "barcode_action/static/src/js/action_barcode_widget.esm.js", + ], + }, + "demo": ["demo/barcode_action_demo.xml"], +} diff --git a/barcode_action/demo/barcode_action_demo.xml b/barcode_action/demo/barcode_action_demo.xml new file mode 100644 index 0000000..bf58a34 --- /dev/null +++ b/barcode_action/demo/barcode_action_demo.xml @@ -0,0 +1,20 @@ + + + + Find Partner + ir.actions.act_window + barcode.action + form + {'default_model': 'res.partner', 'default_method': 'find_res_partner_by_ref_using_barcode'} + + new + + + diff --git a/barcode_action/i18n/barcode_action.pot b/barcode_action/i18n/barcode_action.pot new file mode 100644 index 0000000..6dffe90 --- /dev/null +++ b/barcode_action/i18n/barcode_action.pot @@ -0,0 +1,131 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +msgid "Barcode Action" +msgstr "" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "" diff --git a/barcode_action/i18n/es.po b/barcode_action/i18n/es.po new file mode 100644 index 0000000..785f0d2 --- /dev/null +++ b/barcode_action/i18n/es.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-07 22:35+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +msgid "Barcode Action" +msgstr "Acción de Código de Barras" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "Buscador por código de barras" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "Código de barras escaneado" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "Cerrar" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "Buscar" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "Buscar Contacto" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "Buscar contactos" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "ID" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "Método" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "Modelo" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "No se ha encontrado el contacto con referencia %s" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "Res" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "Estado" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "Estado" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Valor del último código de barras escaneado." + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "Esperando" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "Aviso" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" diff --git a/barcode_action/i18n/hr.po b/barcode_action/i18n/hr.po new file mode 100644 index 0000000..53ff826 --- /dev/null +++ b/barcode_action/i18n/hr.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-12-04 12:04+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.9.1\n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +#, fuzzy +msgid "Barcode Action" +msgstr "barcode.action" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "Barkod pokretač" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "Barkod skeniran" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "Zatvori" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "Kontakt" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "Traži" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "Nađi partnera" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "Nađi partnere" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "ID" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "Zadnje ažurirao" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "Zadnje ažuriranje" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "Metoda" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "Model" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "Partner sa šifrom %s nije pronađen" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "Res" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "Država" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "Status" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Vrijednost zadnje skeniranog barkoda." + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "Na čekanju" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "Upozorenje" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnje modificirano" diff --git a/barcode_action/i18n/it.po b/barcode_action/i18n/it.po new file mode 100644 index 0000000..d126746 --- /dev/null +++ b/barcode_action/i18n/it.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-09-18 10:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +msgid "Barcode Action" +msgstr "Azione codice a barre" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "Applicazione codice a barre" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "Codice a barre letto" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "Chiudi" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "Contatto" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "Trova" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "Trova partner" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "Trova partner" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "ID" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "Metodo" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "Modello" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "Partner con riferimento interno %s non trovato" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "Res" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "Stato" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "Stato" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Valore dell'ultimo codice a barre letto." + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "In attesa" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "Attenzione" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" diff --git a/barcode_action/i18n/pt.po b/barcode_action/i18n/pt.po new file mode 100644 index 0000000..cefcc6f --- /dev/null +++ b/barcode_action/i18n/pt.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-07-02 22:50+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: none\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +msgid "Barcode Action" +msgstr "Ação de Código de Barras" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "Launcher de Códigos de Barras" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "Código de Barras Digitalizado" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "Fechar" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "Contacto" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "Nome a Exibir" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "Pesquisar" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "Pesquisar Parceiro" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "Pesquisar Parceiros" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "ID" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "Método" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "Modelo" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "O parceiro com Refª Interna %s não pode ser encontrado" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "Res" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "Estado" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "Situação" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Valor do último código de barras digitalizado." + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "À Espera" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "Aviso" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" diff --git a/barcode_action/i18n/zh_CN.po b/barcode_action/i18n/zh_CN.po new file mode 100644 index 0000000..49846d8 --- /dev/null +++ b/barcode_action/i18n/zh_CN.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * barcode_action +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-02 16:57+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_barcode_action +#, fuzzy +msgid "Barcode Action" +msgstr "barcode.action" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.barcode_action_action +msgid "Barcode Launcher" +msgstr "条形码启动器" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action___barcode_scanned +msgid "Barcode Scanned" +msgstr "条形码扫描" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Close" +msgstr "关闭" + +#. module: barcode_action +#: model:ir.model,name:barcode_action.model_res_partner +msgid "Contact" +msgstr "联系人" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: barcode_action +#: model_terms:ir.ui.view,arch_db:barcode_action.barcode_action_form +msgid "Find" +msgstr "查找" + +#. module: barcode_action +#: model:ir.actions.act_window,name:barcode_action.res_partner_find +msgid "Find Partner" +msgstr "查找合作伙伴" + +#. module: barcode_action +#: model:ir.ui.menu,name:barcode_action.menu_orders_customers +msgid "Find partners" +msgstr "查找合作伙伴" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__id +msgid "ID" +msgstr "ID" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__method +msgid "Method" +msgstr "方法" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__model +msgid "Model" +msgstr "模型" + +#. module: barcode_action +#. odoo-python +#: code:addons/barcode_action/models/res_partner.py:0 +#, python-format +msgid "Partner with Internal Reference %s cannot be found" +msgstr "无法找到内部参考%s的合作伙伴" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__res_id +msgid "Res" +msgstr "Res" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__state +msgid "State" +msgstr "状态" + +#. module: barcode_action +#: model:ir.model.fields,field_description:barcode_action.field_barcode_action__status +msgid "Status" +msgstr "状态" + +#. module: barcode_action +#: model:ir.model.fields,help:barcode_action.field_barcode_action___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "最后扫描的条形码的值。" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__waiting +msgid "Waiting" +msgstr "等待" + +#. module: barcode_action +#: model:ir.model.fields.selection,name:barcode_action.selection__barcode_action__state__warning +msgid "Warning" +msgstr "警告" + +#~ msgid "Last Modified on" +#~ msgstr "最后修改时间" diff --git a/barcode_action/models/__init__.py b/barcode_action/models/__init__.py new file mode 100644 index 0000000..91fed54 --- /dev/null +++ b/barcode_action/models/__init__.py @@ -0,0 +1 @@ +from . import res_partner diff --git a/barcode_action/models/res_partner.py b/barcode_action/models/res_partner.py new file mode 100644 index 0000000..cb01209 --- /dev/null +++ b/barcode_action/models/res_partner.py @@ -0,0 +1,35 @@ +# Copyright 2018 Creu Blanca +# Copyright 2020 ForgeFlow S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +import json + +from flectra import _, models +from flectra.tools.safe_eval import safe_eval + + +class ResPartner(models.Model): + _inherit = "res.partner" + + def find_res_partner_by_ref_using_barcode(self, barcode): + partner = self.search([("ref", "=", barcode)], limit=1) + if not partner: + xmlid = "barcode_action.res_partner_find" + action = self.env["ir.actions.act_window"]._for_xml_id(xmlid) + context = safe_eval(action["context"]) + context.update( + { + "default_state": "warning", + "default_status": _( + "Partner with Internal Reference " "%s cannot be found" + ) + % barcode, + } + ) + action["context"] = json.dumps(context) + return action + xmlid = "base.action_partner_form" + action = self.env["ir.actions.act_window"]._for_xml_id(xmlid) + res = self.env.ref("base.view_partner_form", False) + action["views"] = [(res and res.id or False, "form")] + action["res_id"] = partner.id + return action diff --git a/barcode_action/pyproject.toml b/barcode_action/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/barcode_action/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/barcode_action/security/ir.model.access.csv b/barcode_action/security/ir.model.access.csv new file mode 100644 index 0000000..3117267 --- /dev/null +++ b/barcode_action/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_barcode_action,barcode.action,model_barcode_action,base.group_user,1,1,1,1 diff --git a/barcode_action/static/description/icon.png b/barcode_action/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/barcode_action/static/description/index.html b/barcode_action/static/description/index.html new file mode 100644 index 0000000..3efd6b2 --- /dev/null +++ b/barcode_action/static/description/index.html @@ -0,0 +1,492 @@ + + + + + +Barcode action launcher + + + +
+

Barcode action launcher

+ + +

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

+

This module allows to use barcodes as launchers of actions.

+

The action will launch a function that uses the barcode in order to +return an action.

+

Table of contents

+ +
+

Usage

+

Actions must be configured with the following data in the context: * +model: Model where we can find the method (required) * method: Method +to execute (required) * res_id: Id as base (optional)

+

The method must return an action. Installing this module with demo data +will install a demo application that allows the system administrator to +find a partner by the external reference encoded in a barcode.

+

Go to Settings / Find partners and scan a barcode that contains the +internal reference of an existing partner. As soon as you read the +barcode the system will redirect you to that partner’s form view.

+

Technical implementation of this example:

+

Action:

+
+<act_window id="res_partner_find"
+    name="Find Partner"
+    res_model="barcode.action"
+    view_mode="form"
+    view_type="form"
+    context="{'default_model': 'res.partner', 'default_method': 'find_res_partner_by_ref_using_barcode'}"
+    target="new"/>
+
+<menuitem id="menu_orders_customers" name="Find partners"
+    action="res_partner_find"
+    parent="base.menu_administration"/>
+
+

Python code:

+
+import json
+from odoo import api, models, _
+from odoo.tools.safe_eval import safe_eval
+
+
+class ResPartner(models.Model):
+    _inherit = 'res.partner'
+
+    @api.multi
+    def find_res_partner_by_ref_using_barcode(self, barcode):
+        partner = self.search([('ref', '=', barcode)], limit=1)
+        if not partner:
+            action = self.env.ref('res_partner_find')
+            result = action.read()[0]
+            context = safe_eval(result['context'])
+            context.update({
+                'default_state': 'warning',
+                'default_status': _('Partner with Internal Reference '
+                                    '%s cannot be found') % barcode
+            })
+            result['context'] = json.dumps(context)
+            return result
+        action = self.env.ref('base.action_partner_form')
+        result = action.read()[0]
+        res = self.env.ref('base.view_partner_form', False)
+        result['views'] = [(res and res.id or False, 'form')]
+        result['res_id'] = partner.id
+        return result
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Creu Blanca
  • +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-ux project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/barcode_action/static/src/js/action_barcode_widget.esm.js b/barcode_action/static/src/js/action_barcode_widget.esm.js new file mode 100644 index 0000000..6ea4ed6 --- /dev/null +++ b/barcode_action/static/src/js/action_barcode_widget.esm.js @@ -0,0 +1,37 @@ +/** @flectra-module **/ + +import {registry} from "@web/core/registry"; +import {standardFieldProps} from "@web/views/fields/standard_field_props"; +import {useBus, useService} from "@web/core/utils/hooks"; + +import {Component, xml} from "@flectra/owl"; + +export class ActionBarcodeField extends Component { + setup() { + const barcode = useService("barcode"); + this.rpc = useService("rpc"); + useBus(barcode.bus, "barcode_scanned", this.onBarcodeScanned); + } + onBarcodeScanned(event) { + const {barcode} = event.detail; + var self = this; + var record = this.props.record; + this.rpc(`/web/dataset/call_kw/${record.data.model}/${record.data.method}`, { + model: record.data.model, + method: record.data.method, + args: [[record.data.res_id], barcode], + kwargs: {}, + }).then(function (action) { + self.env.services.action.doAction(action); + }); + } +} + +ActionBarcodeField.template = xml``; +ActionBarcodeField.props = {...standardFieldProps}; + +export const actionBarcodeField = { + component: ActionBarcodeField, +}; + +registry.category("fields").add("action_barcode_handler", actionBarcodeField); diff --git a/barcode_action/tests/__init__.py b/barcode_action/tests/__init__.py new file mode 100644 index 0000000..1050b9e --- /dev/null +++ b/barcode_action/tests/__init__.py @@ -0,0 +1 @@ +from . import test_partner_find diff --git a/barcode_action/tests/test_partner_find.py b/barcode_action/tests/test_partner_find.py new file mode 100644 index 0000000..a26ae04 --- /dev/null +++ b/barcode_action/tests/test_partner_find.py @@ -0,0 +1,22 @@ +# Copyright 2018 Creu Blanca +# Copyright 2020 ForgeFlow S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). +from flectra.tests.common import TransactionCase + + +class TestPartnerFind(TransactionCase): + def test_partner(self): + partner_obj = self.env["res.partner"] + ref = "testing_partner_internal_reference" + partner = partner_obj.create({"name": "Testing partner", "ref": ref}) + # We should find the partner when the ref is found + self.assertEqual( + partner.id, + partner_obj.find_res_partner_by_ref_using_barcode(ref).get("res_id", False), + ) + # No partner is found, then there is no res_id on the result + self.assertFalse( + partner_obj.find_res_partner_by_ref_using_barcode(f"{ref}-{ref}").get( + "res_id", False + ) + ) diff --git a/barcode_action/wizard/__init__.py b/barcode_action/wizard/__init__.py new file mode 100644 index 0000000..3808e0e --- /dev/null +++ b/barcode_action/wizard/__init__.py @@ -0,0 +1 @@ +from . import barcode_action diff --git a/barcode_action/wizard/barcode_action.py b/barcode_action/wizard/barcode_action.py new file mode 100644 index 0000000..e9fb219 --- /dev/null +++ b/barcode_action/wizard/barcode_action.py @@ -0,0 +1,15 @@ +from flectra import fields, models + + +class BarcodeAction(models.TransientModel): + _name = "barcode.action" + _inherit = "barcodes.barcode_events_mixin" + _description = "Barcode Action" + + model = fields.Char(required=True) + res_id = fields.Integer() + method = fields.Char(required=True) + state = fields.Selection( + [("waiting", "Waiting"), ("warning", "Warning")], default="waiting" + ) + status = fields.Text(default="Start scanning") diff --git a/barcode_action/wizard/barcode_action_view.xml b/barcode_action/wizard/barcode_action_view.xml new file mode 100644 index 0000000..1ae4fd3 --- /dev/null +++ b/barcode_action/wizard/barcode_action_view.xml @@ -0,0 +1,58 @@ + + + + + barcode.action.form + barcode.action + +
+ + + + + + + +
+
+ +
+
+ + + Barcode Launcher + ir.actions.act_window + barcode.action + form + + new + +
diff --git a/base_menu_visibility_restriction/COPYRIGHT b/base_menu_visibility_restriction/COPYRIGHT new file mode 100644 index 0000000..28eee67 --- /dev/null +++ b/base_menu_visibility_restriction/COPYRIGHT @@ -0,0 +1,15 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2020 Tecnativa - Víctor Martínez + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/base_menu_visibility_restriction/LICENSE b/base_menu_visibility_restriction/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/base_menu_visibility_restriction/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/base_menu_visibility_restriction/README.rst b/base_menu_visibility_restriction/README.rst new file mode 100644 index 0000000..7488a33 --- /dev/null +++ b/base_menu_visibility_restriction/README.rst @@ -0,0 +1,104 @@ +================================ +Base Menu Visibility Restriction +================================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:eb9f5f2eca3b8520ba152aac34d978b776132af5ecd2770ddb3eb6e99190070c + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/base_menu_visibility_restriction + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-base_menu_visibility_restriction + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This addon lets you assign "excluded groups" to menu items. If a user +belongs to a group that is assigned to a menu item as an excluded group, +the user will not be able to see the menu item. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +1. Activate the developer mode +2. Go to *Settings > Technical > User interface > Menu Items*. +3. Search for any menu and edit it. +4. Update "Excluded groups" with one group. +5. Login with a user of that group, and you won't see such menu. + +You can try with demo data for the menu Apps > App Store and user demo. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Tecnativa + +Contributors +------------ + +- `Tecnativa `__: + + - Víctor Martínez + +- Dhara Solanki +- Nedas Žilinskas + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-victoralmau| image:: https://github.com/victoralmau.png?size=40px + :target: https://github.com/victoralmau + :alt: victoralmau + +Current `maintainer `__: + +|maintainer-victoralmau| + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/base_menu_visibility_restriction/__init__.py b/base_menu_visibility_restriction/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/base_menu_visibility_restriction/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/base_menu_visibility_restriction/__manifest__.py b/base_menu_visibility_restriction/__manifest__.py new file mode 100644 index 0000000..a87b491 --- /dev/null +++ b/base_menu_visibility_restriction/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2020 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Base Menu Visibility Restriction", + "version": "3.0.1.0.0", + "category": "Extra Tools", + "development_status": "Production/Stable", + "author": "Tecnativa, Odoo Community Association (OCA)", + "summary": "Restrict (with groups) menu visibilty", + "website": "https://gitlab.com/flectra-community/server-ux", + "license": "AGPL-3", + "depends": ["web_tour"], + "maintainers": ["victoralmau"], + "data": ["views/ir_ui_menu.xml"], + "installable": True, +} diff --git a/base_menu_visibility_restriction/i18n/base_menu_visibility_restriction.pot b/base_menu_visibility_restriction/i18n/base_menu_visibility_restriction.pot new file mode 100644 index 0000000..2f0de65 --- /dev/null +++ b/base_menu_visibility_restriction/i18n/base_menu_visibility_restriction.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_menu_visibility_restriction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_menu_visibility_restriction +#: model:ir.model.fields,field_description:base_menu_visibility_restriction.field_ir_ui_menu__excluded_group_ids +msgid "Excluded Groups" +msgstr "" + +#. module: base_menu_visibility_restriction +#: model:ir.model,name:base_menu_visibility_restriction.model_ir_ui_menu +msgid "Menu" +msgstr "" diff --git a/base_menu_visibility_restriction/i18n/es.po b/base_menu_visibility_restriction/i18n/es.po new file mode 100644 index 0000000..e92e251 --- /dev/null +++ b/base_menu_visibility_restriction/i18n/es.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_menu_visibility_restriction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-09-03 13:43+0000\n" +"Last-Translator: kikopeiro \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_menu_visibility_restriction +#: model:ir.model.fields,field_description:base_menu_visibility_restriction.field_ir_ui_menu__excluded_group_ids +msgid "Excluded Groups" +msgstr "Grupos excluidos" + +#. module: base_menu_visibility_restriction +#: model:ir.model,name:base_menu_visibility_restriction.model_ir_ui_menu +msgid "Menu" +msgstr "Menú" + +#~ msgid "Menu visibility restriction demo group" +#~ msgstr "Grupo demo de restricción de visibilidad de menús" diff --git a/base_menu_visibility_restriction/i18n/it.po b/base_menu_visibility_restriction/i18n/it.po new file mode 100644 index 0000000..e0260a5 --- /dev/null +++ b/base_menu_visibility_restriction/i18n/it.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_menu_visibility_restriction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-31 17:24+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_menu_visibility_restriction +#: model:ir.model.fields,field_description:base_menu_visibility_restriction.field_ir_ui_menu__excluded_group_ids +msgid "Excluded Groups" +msgstr "Gruppi esclusi" + +#. module: base_menu_visibility_restriction +#: model:ir.model,name:base_menu_visibility_restriction.model_ir_ui_menu +msgid "Menu" +msgstr "Menu" + +#~ msgid "Menu visibility restriction demo group" +#~ msgstr "Gruppo demo restrizione visibilità menu" diff --git a/base_menu_visibility_restriction/models/__init__.py b/base_menu_visibility_restriction/models/__init__.py new file mode 100644 index 0000000..7930c4e --- /dev/null +++ b/base_menu_visibility_restriction/models/__init__.py @@ -0,0 +1 @@ +from . import ir_ui_menu diff --git a/base_menu_visibility_restriction/models/ir_ui_menu.py b/base_menu_visibility_restriction/models/ir_ui_menu.py new file mode 100644 index 0000000..5688963 --- /dev/null +++ b/base_menu_visibility_restriction/models/ir_ui_menu.py @@ -0,0 +1,26 @@ +# Copyright 2020 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from flectra import api, fields, models, tools + + +class IrUiMenu(models.Model): + _inherit = "ir.ui.menu" + + excluded_group_ids = fields.Many2many( + comodel_name="res.groups", + relation="ir_ui_menu_excluded_group_rel", + column1="menu_id", + column2="gid", + string="Excluded Groups", + ) + + @api.model + @tools.ormcache("frozenset(self.env.user.groups_id.ids)", "debug") + def _visible_menu_ids(self, debug=False): + """Return the ids of the menu items visible to the user.""" + visible = super()._visible_menu_ids(debug=debug) + context = {"ir.ui.menu.full_list": True} + menus = self.with_context(**context).browse(visible) + groups = self.env.user.groups_id + visible = menus - menus.filtered(lambda menu: menu.excluded_group_ids & groups) + return set(visible.ids) diff --git a/base_menu_visibility_restriction/pyproject.toml b/base_menu_visibility_restriction/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/base_menu_visibility_restriction/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/base_menu_visibility_restriction/static/description/icon.png b/base_menu_visibility_restriction/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/base_menu_visibility_restriction/static/description/index.html b/base_menu_visibility_restriction/static/description/index.html new file mode 100644 index 0000000..e14362d --- /dev/null +++ b/base_menu_visibility_restriction/static/description/index.html @@ -0,0 +1,445 @@ + + + + + +Base Menu Visibility Restriction + + + +
+

Base Menu Visibility Restriction

+ + +

Production/Stable License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

+

This addon lets you assign “excluded groups” to menu items. If a user +belongs to a group that is assigned to a menu item as an excluded group, +the user will not be able to see the menu item.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Activate the developer mode
  2. +
  3. Go to Settings > Technical > User interface > Menu Items.
  4. +
  5. Search for any menu and edit it.
  6. +
  7. Update “Excluded groups” with one group.
  8. +
  9. Login with a user of that group, and you won’t see such menu.
  10. +
+

You can try with demo data for the menu Apps > App Store and user demo.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

victoralmau

+

This module is part of the OCA/server-ux project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/base_menu_visibility_restriction/tests/__init__.py b/base_menu_visibility_restriction/tests/__init__.py new file mode 100644 index 0000000..9d98086 --- /dev/null +++ b/base_menu_visibility_restriction/tests/__init__.py @@ -0,0 +1 @@ +from . import test_ir_ui_menu diff --git a/base_menu_visibility_restriction/tests/test_ir_ui_menu.py b/base_menu_visibility_restriction/tests/test_ir_ui_menu.py new file mode 100644 index 0000000..3ff7006 --- /dev/null +++ b/base_menu_visibility_restriction/tests/test_ir_ui_menu.py @@ -0,0 +1,23 @@ +# Copyright 2020 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra.tests.common import TransactionCase + + +class TestIrUiMenuCase(TransactionCase): + def setUp(self): + super().setUp() + self.user_admin = self.browse_ref("base.user_admin").id + self.group_hide_menu = self.env["res.groups"].create( + {"name": "Hide menu items custom", "users": [(4, self.user_admin)]} + ) + self.model_ir_uir_menu = self.env["ir.ui.menu"] + self.ir_ui_menu = self.browse_ref("base.menu_management") + + def test_ir_ui_menu_admin(self): + items = self.model_ir_uir_menu.with_user(self.user_admin)._visible_menu_ids() + self.assertTrue(self.ir_ui_menu.id in items) + # Update ir_ui_menu to assign excluded_group_ids + self.ir_ui_menu.write({"excluded_group_ids": [(4, self.group_hide_menu.id)]}) + items = self.model_ir_uir_menu.with_user(self.user_admin)._visible_menu_ids() + self.assertTrue(self.ir_ui_menu.id not in items) diff --git a/base_menu_visibility_restriction/views/ir_ui_menu.xml b/base_menu_visibility_restriction/views/ir_ui_menu.xml new file mode 100644 index 0000000..a6f079f --- /dev/null +++ b/base_menu_visibility_restriction/views/ir_ui_menu.xml @@ -0,0 +1,20 @@ + + + + + ir.ui.menu.restricted + ir.ui.menu + + + + + + + + diff --git a/base_optional_quick_create/COPYRIGHT b/base_optional_quick_create/COPYRIGHT new file mode 100644 index 0000000..2503e81 --- /dev/null +++ b/base_optional_quick_create/COPYRIGHT @@ -0,0 +1,19 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2013 Agile Business Group sagl () + Copyright 2016 ACSONE SA/NV () + Copyright 2016 ACSONE SA/NV (https://acsone.eu) + Copyright 2016 Akretion (Alexis de Lattre alexis.delattre@akretion.com) + Copyright 2018 Simone Rubino - Agile Business Group + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/base_optional_quick_create/LICENSE b/base_optional_quick_create/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/base_optional_quick_create/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/base_optional_quick_create/README.rst b/base_optional_quick_create/README.rst new file mode 100644 index 0000000..18607aa --- /dev/null +++ b/base_optional_quick_create/README.rst @@ -0,0 +1,100 @@ +===================== +Optional quick create +===================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:d4906b8105f705d8f55ca6c29c1e8787776b16274d8651f8a37177e382839f66 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/base_optional_quick_create + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-base_optional_quick_create + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to avoid to *quick create* new records, through +many2one fields, for a specific model. You can configure which models +should allow *quick create*. When specified, the *quick create* option +will always open the standard create form. + +Got the idea from https://twitter.com/nbessi/status/337869826028605441 + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + + - go into the menu of *ir_model*, + - select the model for which you want to disable the quick create + option, + - enable the option *Avoid quick create*. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Agile Business Group + +Contributors +------------ + +- Jonathan Nemry jonathan.nemry@acsone.eu +- Lorenzo Battistini lorenzo.battistini@agilebg.com +- Alexis de Lattre alexis.delattre@akretion.com +- Gilles Meyomesse gilles.meyomesse@acsone.eu (https://acsone.eu) +- Carmen Rondon Regalado crondon@archeti.com + +Other credits +------------- + +This module is maintained by: \* Odoo Community Association + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/base_optional_quick_create/__init__.py b/base_optional_quick_create/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/base_optional_quick_create/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/base_optional_quick_create/__manifest__.py b/base_optional_quick_create/__manifest__.py new file mode 100644 index 0000000..7a42f56 --- /dev/null +++ b/base_optional_quick_create/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2013 Agile Business Group sagl () +# Copyright 2016 ACSONE SA/NV () + +{ + "name": "Optional quick create", + "version": "3.0.1.0.0", + "category": "Tools", + "summary": 'Avoid "quick create" on m2o fields, on a "by model" basis', + "author": "Agile Business Group,Odoo Community Association (OCA)", + "website": "https://gitlab.com/flectra-community/server-ux", + "license": "AGPL-3", + "depends": ["base"], + "data": [ + "views/model_view.xml", + ], + "installable": True, +} diff --git a/base_optional_quick_create/i18n/base_optional_quick_create.pot b/base_optional_quick_create/i18n/base_optional_quick_create.pot new file mode 100644 index 0000000..bd491c0 --- /dev/null +++ b/base_optional_quick_create/i18n/base_optional_quick_create.pot @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "" diff --git a/base_optional_quick_create/i18n/de.po b/base_optional_quick_create/i18n/de.po new file mode 100644 index 0000000..127a145 --- /dev/null +++ b/base_optional_quick_create/i18n/de.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-10 00:47+0000\n" +"PO-Revision-Date: 2018-09-06 13:26+0000\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.1.1\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +#, fuzzy +msgid "Avoid Quick Create" +msgstr "Unterbinde Schnellanlage" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Datenmodelle" + +#, python-format +#~ msgid "" +#~ "Can't create %s with name %s quickly.\n" +#~ "Please contact your system administrator to disable this behaviour." +#~ msgstr "" +#~ "Kann %s mit Name %s nicht schnell anlegen.\n" +#~ "Sprechen Sie mit dem Administrator, um dieses Verhalten abzustellen." + +#~ msgid "Can't create quickly. Opening create form" +#~ msgstr "Kann Schnellanlage nicht ausführen. Verwenden Sie Formularanlage" diff --git a/base_optional_quick_create/i18n/es.po b/base_optional_quick_create/i18n/es.po new file mode 100644 index 0000000..82771cd --- /dev/null +++ b/base_optional_quick_create/i18n/es.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2023-08-27 16:07+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "Evitar la creación rápida" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" +"No se pueden crear %(model)s con nombre %(name)s rápidamente.\n" +"Ponte en contacto con el administrador del sistema para desactivar este " +"comportamiento." + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modelos" diff --git a/base_optional_quick_create/i18n/fi.po b/base_optional_quick_create/i18n/fi.po new file mode 100644 index 0000000..1f69166 --- /dev/null +++ b/base_optional_quick_create/i18n/fi.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Mallit" diff --git a/base_optional_quick_create/i18n/fr.po b/base_optional_quick_create/i18n/fr.po new file mode 100644 index 0000000..ae4dd0b --- /dev/null +++ b/base_optional_quick_create/i18n/fr.po @@ -0,0 +1,36 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-05 17:15+0000\n" +"PO-Revision-Date: 2024-02-05 17:15+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modèles" diff --git a/base_optional_quick_create/i18n/hr.po b/base_optional_quick_create/i18n/hr.po new file mode 100644 index 0000000..84a2b19 --- /dev/null +++ b/base_optional_quick_create/i18n/hr.po @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-07-13 01:00+0000\n" +"PO-Revision-Date: 2017-07-13 01:00+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +#, fuzzy +msgid "Avoid Quick Create" +msgstr "Izbjegni brzo kreiranje" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modeli" + +#~ msgid "Can't create quickly. Opening create form" +#~ msgstr "Nije moguće brzo kreiranje, otvaram formu za kreiranje" diff --git a/base_optional_quick_create/i18n/hr_HR.po b/base_optional_quick_create/i18n/hr_HR.po new file mode 100644 index 0000000..9a025ae --- /dev/null +++ b/base_optional_quick_create/i18n/hr_HR.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modeli" diff --git a/base_optional_quick_create/i18n/it.po b/base_optional_quick_create/i18n/it.po new file mode 100644 index 0000000..76ef252 --- /dev/null +++ b/base_optional_quick_create/i18n/it.po @@ -0,0 +1,48 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-19 17:10+0000\n" +"PO-Revision-Date: 2023-12-28 15:22+0000\n" +"Last-Translator: mymage \n" +"Language-Team: \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "Impedisci creazione rapida" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" +"Non è possibile creare rapidamente %(model)s con nome %(name)s.\n" +"Contattare l'amministratore di sistema per disabilitare questa funzionalità." + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modelli" + +#, python-format +#~ msgid "" +#~ "Can't create %s with name %s quickly.\n" +#~ "Please contact your system administrator to disable this behaviour." +#~ msgstr "" +#~ "Non è possibile creare velocemente un %s con nome %s.\n" +#~ "Si prega di contattare l'amministratore di sistema per disabilitare " +#~ "questo comportamento." diff --git a/base_optional_quick_create/i18n/ja.po b/base_optional_quick_create/i18n/ja.po new file mode 100644 index 0000000..484e439 --- /dev/null +++ b/base_optional_quick_create/i18n/ja.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-06-19 15:10+0000\n" +"Last-Translator: Ryoko Tsuda \n" +"Language-Team: none\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "クイック作成の回避" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" +"名称 %(name)s の %(model)s をクイック作成できません。\n" +"この動作を無効にするには、システム管理者に連絡してください。" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "モデル" diff --git a/base_optional_quick_create/i18n/nb_NO.po b/base_optional_quick_create/i18n/nb_NO.po new file mode 100644 index 0000000..471c6e2 --- /dev/null +++ b/base_optional_quick_create/i18n/nb_NO.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modeller" diff --git a/base_optional_quick_create/i18n/pt_BR.po b/base_optional_quick_create/i18n/pt_BR.po new file mode 100644 index 0000000..e1ada9e --- /dev/null +++ b/base_optional_quick_create/i18n/pt_BR.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +#, fuzzy +msgid "Avoid Quick Create" +msgstr "Evite criação rápida" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modelos" + +#~ msgid "Can't create quickly. Opening create form" +#~ msgstr "Não pode criar rapidamente; Abrindo formulário de criação" diff --git a/base_optional_quick_create/i18n/sl.po b/base_optional_quick_create/i18n/sl.po new file mode 100644 index 0000000..0ca9ab0 --- /dev/null +++ b/base_optional_quick_create/i18n/sl.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3);\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +#, fuzzy +msgid "Avoid Quick Create" +msgstr "Izogibanje hitremu ustvarjanju" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modeli" + +#~ msgid "Can't create quickly. Opening create form" +#~ msgstr "Ne morete hitro ustvariti. Odpiram obrazec za ustvarjanje" diff --git a/base_optional_quick_create/i18n/tr.po b/base_optional_quick_create/i18n/tr.po new file mode 100644 index 0000000..72ffba0 --- /dev/null +++ b/base_optional_quick_create/i18n/tr.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Modeller" diff --git a/base_optional_quick_create/i18n/tr_TR.po b/base_optional_quick_create/i18n/tr_TR.po new file mode 100644 index 0000000..f1c8089 --- /dev/null +++ b/base_optional_quick_create/i18n/tr_TR.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +msgid "Avoid Quick Create" +msgstr "" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "Tipler" diff --git a/base_optional_quick_create/i18n/zh_CN.po b/base_optional_quick_create/i18n/zh_CN.po new file mode 100644 index 0000000..2db95ca --- /dev/null +++ b/base_optional_quick_create/i18n/zh_CN.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_optional_quick_create +# +# Translators: +# Jeffery Chenn , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-31 11:58+0000\n" +"PO-Revision-Date: 2016-08-31 11:58+0000\n" +"Last-Translator: Jeffery Chenn , 2016\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: base_optional_quick_create +#: model:ir.model.fields,field_description:base_optional_quick_create.field_ir_model__avoid_quick_create +#, fuzzy +msgid "Avoid Quick Create" +msgstr "避免快速创建" + +#. module: base_optional_quick_create +#. odoo-python +#: code:addons/base_optional_quick_create/models/ir_model.py:0 +#, python-format +msgid "" +"Can't create %(model)s with name %(name)s quickly.\n" +"Please contact your system administrator to disable this behaviour." +msgstr "" + +#. module: base_optional_quick_create +#: model:ir.model,name:base_optional_quick_create.model_ir_model +msgid "Models" +msgstr "模型" diff --git a/base_optional_quick_create/models/__init__.py b/base_optional_quick_create/models/__init__.py new file mode 100644 index 0000000..413bb23 --- /dev/null +++ b/base_optional_quick_create/models/__init__.py @@ -0,0 +1 @@ +from . import ir_model diff --git a/base_optional_quick_create/models/ir_model.py b/base_optional_quick_create/models/ir_model.py new file mode 100644 index 0000000..6124eb9 --- /dev/null +++ b/base_optional_quick_create/models/ir_model.py @@ -0,0 +1,107 @@ +# Copyright 2016 ACSONE SA/NV (https://acsone.eu) +# Copyright 2016 Akretion (Alexis de Lattre alexis.delattre@akretion.com) +# Copyright 2018 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from flectra import _, api, fields, models +from flectra.exceptions import UserError + + +class IrModel(models.Model): + _inherit = "ir.model" + + avoid_quick_create = fields.Boolean() + + # brought back these methods `_patch_method` and `_revert_method` + # From this following PR these methods are removed since + # there is no any proper use for these methods in flectra. + # refer this bellow PR for more info. + # https://github.com/flectra/flectra/pull/110370 + # But since we use this to patch the original_method + # I added back again. + @staticmethod + def _patch_method(model_obj, name, method): + """Monkey-patch a method for all instances of this model. This replaces + the method called ``name`` by ``method`` in the given class. + The original method is then accessible via ``method.origin``, and it + can be restored with :meth:`~._revert_method`. + + Example:: + + def do_write(self, values): + # do stuff, and call the original method + return do_write.origin(self, values) + + # patch method write of model + model._patch_method('write', do_write) + + # this will call do_write + records = model.search([...]) + records.write(...) + + # restore the original method + model._revert_method('write') + """ + cls = type(model_obj) + origin = getattr(cls, name) + method.origin = origin + # propagate decorators from origin to method, and apply api decorator + wrapped = api.propagate(origin, method) + wrapped.origin = origin + setattr(cls, name, wrapped) + + @staticmethod + def _revert_method(model_obj, name): + """Revert the original method called ``name`` in the given class. + See :meth:`~._patch_method`. + """ + cls = type(model_obj) + method = getattr(cls, name) + setattr(cls, name, method.origin) + + def _patch_quick_create(self): + def _wrap_name_create(): + @api.model + def wrapper(self, name): + raise UserError( + _( + "Can't create %(model)s with name %(name)s quickly.\n" + "Please contact your system administrator to disable " + "this behaviour." + ) + % {"model": self._name, "name": name} + ) + + return wrapper + + method_name = "name_create" + for model in self: + model_obj = self.env.get(model.model) + if model.avoid_quick_create and model_obj is not None: + # _wrap_name_create().origin = getattr(model_obj, method_name) + # setattr(model_obj, method_name, _wrap_name_create()) + self._patch_method(model_obj, method_name, _wrap_name_create()) + else: + method = getattr(model_obj, method_name, None) + if method and hasattr(method, "origin"): + self._revert_method(model_obj, method_name) + return True + + def _register_hook(self): + models = self.search([]) + models._patch_quick_create() + return super()._register_hook() + + @api.model_create_multi + def create(self, vals_list): + ir_models = super().create(vals_list) + ir_models._patch_quick_create() + return ir_models + + def write(self, vals): + res = super().write(vals) + self._patch_quick_create() + if "avoid_quick_create" in vals: + self.pool.registry_invalidated = True + self.pool.signal_changes() + return res diff --git a/base_optional_quick_create/pyproject.toml b/base_optional_quick_create/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/base_optional_quick_create/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/base_optional_quick_create/static/description/icon.png b/base_optional_quick_create/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/base_optional_quick_create/static/description/index.html b/base_optional_quick_create/static/description/index.html new file mode 100644 index 0000000..61cf528 --- /dev/null +++ b/base_optional_quick_create/static/description/index.html @@ -0,0 +1,449 @@ + + + + + +Optional quick create + + + +
+

Optional quick create

+ + +

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

+

This module allows to avoid to quick create new records, through +many2one fields, for a specific model. You can configure which models +should allow quick create. When specified, the quick create option +will always open the standard create form.

+

Got the idea from https://twitter.com/nbessi/status/337869826028605441

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
+
    +
  • go into the menu of ir_model,
  • +
  • select the model for which you want to disable the quick create +option,
  • +
  • enable the option Avoid quick create.
  • +
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Agile Business Group
  • +
+
+
+

Contributors

+ +
+
+

Other credits

+

This module is maintained by: * Odoo Community Association

+
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-ux project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/base_optional_quick_create/tests/__init__.py b/base_optional_quick_create/tests/__init__.py new file mode 100644 index 0000000..d51c305 --- /dev/null +++ b/base_optional_quick_create/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from . import test_quick_create diff --git a/base_optional_quick_create/tests/test_quick_create.py b/base_optional_quick_create/tests/test_quick_create.py new file mode 100644 index 0000000..6e24640 --- /dev/null +++ b/base_optional_quick_create/tests/test_quick_create.py @@ -0,0 +1,46 @@ +# Copyright 2018 Simone Rubino - Agile Business Group +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from flectra.exceptions import UserError +from flectra.tests.common import TransactionCase + + +class TestQuickCreate(TransactionCase): + def setUp(self, *args, **kwargs): + super().setUp() + model_model = self.env["ir.model"] + self.partner_model = model_model.search([("model", "=", "res.partner")]) + + def test_quick_create(self): + partner_id = self.env["res.partner"].name_create("TEST partner") + self.assertEqual(bool(partner_id), True) + + # Setting the flag, patches the method + self.partner_model.avoid_quick_create = True + with self.assertRaises(UserError): + self.env["res.partner"].name_create("TEST partner") + + # Unsetting the flag, unpatches the method + self.partner_model.avoid_quick_create = False + partner_id = self.env["res.partner"].name_create("TEST partner") + self.assertEqual(bool(partner_id), True) + + # New Model + + # Setting the flag, patches the method + self.env["ir.model"].create( + {"name": "Test Model", "model": "x_.test.model", "avoid_quick_create": True} + ) + with self.assertRaises(UserError): + self.env["x_.test.model"].name_create("TEST Model") + + # Unsetting the flag, unpatches the method + self.env["ir.model"].create( + { + "name": "Test Model", + "model": "x_.test.model.quick", + "avoid_quick_create": False, + } + ) + test_id = self.env["x_.test.model.quick"].name_create("TEST Model") + self.assertEqual(bool(test_id), True) diff --git a/base_optional_quick_create/views/model_view.xml b/base_optional_quick_create/views/model_view.xml new file mode 100644 index 0000000..4526d09 --- /dev/null +++ b/base_optional_quick_create/views/model_view.xml @@ -0,0 +1,12 @@ + + + + ir.model + + + + + + + + diff --git a/base_substate/COPYRIGHT b/base_substate/COPYRIGHT new file mode 100644 index 0000000..385edbd --- /dev/null +++ b/base_substate/COPYRIGHT @@ -0,0 +1,19 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + +

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

+

This module provide abstract models to manage customizable substates to +be applied on different models (sale order, purchase, …).

+
+

example:

+
    +
  • for the quotation state of a sale order we can define 3 substates “In +negotiation”, “Won” and “Lost”.
  • +
  • We can also send mail when the substate is reached.
  • +
+

It is not useful by itself. You can see an example of implementation in +the ‘purchase_substate’ module. (purchase-workflow repository).

+

Table of contents

+ +
+

Usage

+
    +
  1. You must install an application module depending this one (for +example purchase_substate)
  2. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+ +
+
+

Authors

+
    +
  • Akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/server-ux project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+ + diff --git a/base_substate/tests/__init__.py b/base_substate/tests/__init__.py new file mode 100644 index 0000000..996498a --- /dev/null +++ b/base_substate/tests/__init__.py @@ -0,0 +1,3 @@ +from . import models_mixin +from . import sale_test +from . import test_base_substate diff --git a/base_substate/tests/models_mixin.py b/base_substate/tests/models_mixin.py new file mode 100644 index 0000000..301f12e --- /dev/null +++ b/base_substate/tests/models_mixin.py @@ -0,0 +1,125 @@ +# Copyright 2018 Simone Orsi - Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from operator import attrgetter + + +class TestMixin: + """Mixin to setup fake models for tests. + + Usage - the model: + + class FakeModel(models.Model, TestMixin): + _name = 'fake.model' + + name = fields.Char() + + Usage - the test klass: + + @classmethod + def setUpClass(cls): + super().setUpClass() + FakeModel._test_setup_model(cls.env) + + @classmethod + def tearDownClass(cls): + FakeModel._test_teardown_model(cls.env) + super().tearDownClass() + """ + + # Generate xmlids + # This is needed if you want to load data tied to a test model via xid. + _test_setup_gen_xid = False + # If you extend a real model (ie: res.partner) you must enable this + # to not delete the model on tear down. + _test_teardown_no_delete = False + # You can add custom fields to real models (eg: res.partner). + # In this case you must delete them to leave registry and model clean. + # This is mandatory for relational fields that link a fake model. + _test_purge_fields = [] + + @classmethod + def _test_setup_models(cls, env, model_clses): + """ + Setup models at the same time + if one fake model ref to another in relational + field. + ex : many2one fields + in this case we should don't use manual=True as an option in field. + """ + for model_cls in model_clses: + model_cls._build_model(env.registry, env.cr) + + env.registry.setup_models(env.cr) + ctx = dict(env.context, update_custom_fields=True) + if cls._test_setup_gen_xid: + ctx["module"] = cls._module + env.registry.init_models( + env.cr, [model_cls._name for model_cls in model_clses], ctx + ) + + @classmethod + def _test_setup_model(cls, env): + """Initialize it.""" + cls._build_model(env.registry, env.cr) + env.registry.setup_models(env.cr) + ctx = dict(env.context, update_custom_fields=True) + if cls._test_setup_gen_xid: + ctx["module"] = cls._module + env.registry.init_models(env.cr, [cls._name], ctx) + + @classmethod + def _test_teardown_model(cls, env): + """Cleanup registry and real models.""" + + for fname in cls._test_purge_fields: + model = env[cls._name] + if fname in model: + model._pop_field(fname) + + if not getattr(cls, "_test_teardown_no_delete", False): + del env.registry.models[cls._name] + # here we must remove the model from list of children of inherited + # models + parents = cls._inherit + parents = [parents] if isinstance(parents, str) else (parents or []) + # keep a copy to be sure to not modify the original _inherit + parents = list(parents) + parents.extend(cls._inherits.keys()) + parents.append("base") + funcs = [ + attrgetter(kind + "_children") for kind in ["_inherits", "_inherit"] + ] + for parent in parents: + for func in funcs: + children = func(env.registry[parent]) + if cls._name in children: + # at this stage our cls is referenced as children of + # parent -> must un reference it + children.remove(cls._name) + + def _test_get_model_id(self): + self.env.cr.execute("SELECT id FROM ir_model WHERE model = %s", (self._name,)) + res = self.env.cr.fetchone() + return res[0] if res else None + + def _test_create_ACL(self, **kw): + model_id = self._test_get_model_id() + if not model_id: + self._reflect() + model_id = self._test_get_model_id() + if model_id: + vals = self._test_ACL_values(model_id) + vals.update(kw) + self.env["ir.model.access"].create(vals) + + def _test_ACL_values(self, model_id): + values = { + "name": "Fake ACL for %s" % self._name, + "model_id": model_id, + "perm_read": 1, + "perm_create": 1, + "perm_write": 1, + "perm_unlink": 1, + "active": True, + } + return values diff --git a/base_substate/tests/sale_test.py b/base_substate/tests/sale_test.py new file mode 100644 index 0000000..aaac148 --- /dev/null +++ b/base_substate/tests/sale_test.py @@ -0,0 +1,55 @@ +# Copyright 2020 Akretion Mourad EL HADJ MIMOUNE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +from flectra import api, fields, models + +from .models_mixin import TestMixin + + +class SaleTest(models.Model, TestMixin): + _inherit = "base.substate.mixin" + _name = "base.substate.test.sale" + _description = "Base substate Test Model" + + name = fields.Char(required=True) + user_id = fields.Many2one("res.users", string="Responsible") + state = fields.Selection( + [("draft", "New"), ("cancel", "Cancelled"), ("sale", "Sale"), ("done", "Done")], + string="Status", + readonly=True, + default="draft", + ) + active = fields.Boolean(default=True) + partner_id = fields.Many2one("res.partner", string="Partner") + line_ids = fields.One2many( + comodel_name="base.substate.test.sale.line", + inverse_name="sale_id", + context={"active_test": False}, + ) + amount_total = fields.Float(compute="_compute_amount_total", store=True) + + @api.depends("line_ids") + def _compute_amount_total(self): + for record in self: + for line in record.line_ids: + record.amount_total += line.amount * line.qty + + def button_confirm(self): + self.write({"state": "sale"}) + return True + + def button_cancel(self): + self.write({"state": "cancel"}) + + +class LineTest(models.Model, TestMixin): + _name = "base.substate.test.sale.line" + _description = "Base substate Test Model Line" + + name = fields.Char() + sale_id = fields.Many2one( + comodel_name="base.substate.test.sale", + ondelete="cascade", + context={"active_test": False}, + ) + qty = fields.Float() + amount = fields.Float() diff --git a/base_substate/tests/test_base_substate.py b/base_substate/tests/test_base_substate.py new file mode 100644 index 0000000..b7925ed --- /dev/null +++ b/base_substate/tests/test_base_substate.py @@ -0,0 +1,119 @@ +# Copyright 2020 Akretion Mourad EL HADJ MIMOUNE +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra.tests import common + +from .sale_test import LineTest, SaleTest + + +@common.tagged("post_install", "-at_install") +class TestBaseSubstate(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + SaleTest._test_setup_models(cls.env, [SaleTest, LineTest]) + LineTest._test_setup_model(cls.env) + + cls.substate_test_sale = cls.env["base.substate.test.sale"] + cls.substate_test_sale_line = cls.env["base.substate.test.sale.line"] + + cls.base_substate = cls.env["base.substate.mixin"] + cls.substate_type = cls.env["base.substate.type"] + + cls.substate_type._fields["model"].selection.append( + ("base.substate.test.sale", "Sale Order") + ) + + cls.substate_type = cls.env["base.substate.type"].create( + { + "name": "Sale", + "model": "base.substate.test.sale", + "target_state_field": "state", + } + ) + + cls.substate_val_quotation = cls.env["target.state.value"].create( + { + "name": "Quotation", + "base_substate_type_id": cls.substate_type.id, + "target_state_value": "draft", + } + ) + + cls.substate_val_sale = cls.env["target.state.value"].create( + { + "name": "Sale order", + "base_substate_type_id": cls.substate_type.id, + "target_state_value": "sale", + } + ) + cls.substate_under_negotiation = cls.env["base.substate"].create( + { + "name": "Under negotiation", + "sequence": 1, + "target_state_value_id": cls.substate_val_quotation.id, + } + ) + + cls.substate_won = cls.env["base.substate"].create( + { + "name": "Won", + "sequence": 1, + "target_state_value_id": cls.substate_val_quotation.id, + } + ) + + cls.substate_wait_docs = cls.env["base.substate"].create( + { + "name": "Waiting for legal documents", + "sequence": 2, + "target_state_value_id": cls.substate_val_sale.id, + } + ) + + cls.substate_valid_docs = cls.env["base.substate"].create( + { + "name": "To validate legal documents", + "sequence": 3, + "target_state_value_id": cls.substate_val_sale.id, + } + ) + + cls.substate_in_delivering = cls.env["base.substate"].create( + { + "name": "In delivering", + "sequence": 4, + "target_state_value_id": cls.substate_val_sale.id, + } + ) + + @classmethod + def tearDownClass(cls): + SaleTest._test_teardown_model(cls.env) + LineTest._test_teardown_model(cls.env) + return super().tearDownClass() + + def test_sale_order_substate(self): + partner = self.env.ref("base.res_partner_1") + so_test1 = self.substate_test_sale.create( + { + "name": "Test base substate to basic sale", + "partner_id": partner.id, + "line_ids": [ + (0, 0, {"name": "line test", "amount": 120.0, "qty": 1.5}) + ], + } + ) + self.assertTrue(so_test1.state == "draft") + self.assertTrue(so_test1.substate_id == self.substate_under_negotiation) + + # Test that validation of sale order change substate_id + so_test1.button_confirm() + self.assertTrue(so_test1.state == "sale") + self.assertTrue(so_test1.substate_id == self.substate_wait_docs) + + # Test that substate_id is set to false if + # there is not substate corresponding to state + so_test1.button_cancel() + self.assertTrue(so_test1.state == "cancel") + self.assertTrue(not so_test1.substate_id) diff --git a/base_substate/views/base_substate_type_views.xml b/base_substate/views/base_substate_type_views.xml new file mode 100644 index 0000000..f14c256 --- /dev/null +++ b/base_substate/views/base_substate_type_views.xml @@ -0,0 +1,85 @@ + + + + + base.substate.type + + + + + + + + + + base.substate.type + +
+ +
+
+ + + + + + +
+
+
+
+ + base.substate.type + + + + + + + + + + Sub State Type + ir.actions.act_window + base.substate.type + tree,form + + [] + {} + + + + + form + + + + + + tree + + + + +
diff --git a/base_substate/views/base_substate_value_views.xml b/base_substate/views/base_substate_value_views.xml new file mode 100644 index 0000000..8fae74c --- /dev/null +++ b/base_substate/views/base_substate_value_views.xml @@ -0,0 +1,83 @@ + + + + + target.state.value + + + + + + + + + + target.state.value + +
+ +
+
+ + + + + + +
+
+
+
+ + target.state.value + + + + + + + + + + Target State Value + ir.actions.act_window + target.state.value + tree,form + + [] + {} + + + + + form + + + + + + tree + + + +
diff --git a/base_substate/views/base_substate_views.xml b/base_substate/views/base_substate_views.xml new file mode 100644 index 0000000..b79f37c --- /dev/null +++ b/base_substate/views/base_substate_views.xml @@ -0,0 +1,88 @@ + + + + + base.substate + + + + + + + + + + + + base.substate + +
+ +
+ +
+
+
+ + + + + + + + + + +
+
+
+
+ + base.substate + + + + + + + + Base Substate + ir.actions.act_window + base.substate + tree,form + + [] + {} + + + + + form + + + + + + tree + + + +
diff --git a/base_tier_validation/COPYRIGHT b/base_tier_validation/COPYRIGHT index 0369403..7604876 100644 --- a/base_tier_validation/COPYRIGHT +++ b/base_tier_validation/COPYRIGHT @@ -2,12 +2,14 @@ Most of the files are :Copyright: This stylesheet has been placed in the public domain.

Mature License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

Validating some operations is a common need across different areas in a @@ -434,6 +435,30 @@ Reject.

  • If check Approve by sequence, reviewers is forced to review by specified sequence.
  • +

    To configure Tier Validation Exceptions, you need to:

    +
      +
    1. Go to Settings > Technical > Tier Validations > Tier Validation +Exceptions.
    2. +
    3. Create as many tiers validation exceptions as you want for any model +having tier validation functionality.
    4. +
    5. Add desired fields to be checked in Fields.
    6. +
    7. Add desired groups that can use this Exception in Groups.
    8. +
    9. You must check Write under Validation, Write after Validation or +both.
    10. +
    +

    Note:

    +
      +
    • If you don’t create any exception, the Validated record will be +readonly and cannot be modified.
    • +
    • If check Write under Validation, records will be able to be +modified only in the defined fields when the Validation process is +ongoing.
    • +
    • If check Write after Validation, records will be able to be +modified only in the defined fields when the Validation process is +finished.
    • +
    • If check Write after Validation and Write under Validation, +records will be able to be modified defined fields always.
    • +

    Known issues / Roadmap

    @@ -588,12 +613,19 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
  • bosd
  • Evan Soh <evan.soh@omnisoftsolution.com>
  • Manuel Regidor <manuel.regidor@sygel.es>
  • +
  • Eduardo de Miguel <edu@moduon.team>
  • +
  • XCG Consulting:
      +
    • Houzéfa Abbasbhay
    • +
    +
  • Maintainers

    This module is maintained by the OCA.

    -Odoo Community Association + +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

    diff --git a/base_tier_validation/tests/common.py b/base_tier_validation/tests/common.py index cef838e..e1e58d8 100644 --- a/base_tier_validation/tests/common.py +++ b/base_tier_validation/tests/common.py @@ -57,6 +57,24 @@ class CommonTierValidation(common.TransactionCase): } ) + # Define views to avoid automatic views with all fields. + for model in cls.test_model._name, cls.test_model_2._name: + cls.env["ir.ui.view"].create( + { + "model": model, + "name": f"Demo view for {model}", + "arch": """
    +
    +
    + + + +
    """, + } + ) + # Create users: group_ids = cls.env.ref("base.group_system").ids cls.test_user_1 = cls.env["res.users"].create( diff --git a/base_tier_validation/tests/test_tier_validation.py b/base_tier_validation/tests/test_tier_validation.py index 1c9f701..3cf9218 100644 --- a/base_tier_validation/tests/test_tier_validation.py +++ b/base_tier_validation/tests/test_tier_validation.py @@ -2,12 +2,16 @@ # Copyright (c) 2022 brain-tec AG (https://braintec.com) # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). +from unittest import mock + from lxml import etree from flectra.exceptions import ValidationError from flectra.tests import Form from flectra.tests.common import tagged +from ..models.tier_validation import BASE_EXCEPTION_FIELDS as BEF +from ..models.tier_validation import TierValidation as TV from .common import CommonTierValidation @@ -158,13 +162,14 @@ class TierTierValidation(CommonTierValidation): self.assertTrue(review) record = test_record.with_user(self.test_user_1.id) record.invalidate_model() + review.invalidate_model() res = record.validate_tier() ctx = res.get("context") wizard = Form(self.env["comment.wizard"].with_context(**ctx)) wizard.comment = "Test Comment" wiz = wizard.save() wiz.add_comment() - self.assertTrue(test_record.review_ids.mapped("comment")) + self.assertTrue(test_record.review_ids.filtered("comment")) # Check notify comment = test_record.with_user( self.test_user_1.id @@ -193,13 +198,14 @@ class TierTierValidation(CommonTierValidation): self.assertTrue(review) record = test_record.with_user(self.test_user_1.id) record.invalidate_model() + review.invalidate_model() res = record.reject_tier() # Rejection ctx = res.get("context") wizard = Form(self.env["comment.wizard"].with_context(**ctx)) wizard.comment = "Test Comment" wiz = wizard.save() wiz.add_comment() - self.assertTrue(test_record.review_ids.mapped("comment")) + self.assertTrue(test_record.review_ids.filtered("comment")) # Check notify comment = test_record.with_user( self.test_user_1.id @@ -411,9 +417,7 @@ class TierTierValidation(CommonTierValidation): # Request validation review = test_record.with_user(self.test_user_2).request_validation() self.assertTrue(review) - self.assertTrue(self.test_user_1.get_reviews({"res_ids": review.ids})) - self.assertTrue(self.test_user_1.review_ids) - test_record.invalidate_model() + self.env.invalidate_all() self.assertTrue(test_record.review_ids) # Used by front-end count = self.test_user_1.with_user(self.test_user_1).review_user_count() @@ -469,8 +473,6 @@ class TierTierValidation(CommonTierValidation): self.assertEqual(len(records), 1) review = self.test_record.with_user(self.test_user_2.id).request_validation() self.assertTrue(review) - self.assertTrue(self.test_user_1.get_reviews({"res_ids": review.ids})) - self.assertTrue(self.test_user_1.review_ids) self.test_record.with_user(self.test_user_1.id).request_validation() def test_18_test_review_by_res_users_field(self): @@ -917,27 +919,61 @@ class TierTierValidation(CommonTierValidation): ) self.assertEqual(notifications_no_2, notifications_no_1) + def test_25_change_field_exception_validation(self): + """Test under and after validations""" + # Cannot create `tier.validation.exception` records because + # `tier.validation.tester` are fake model and its fields are + # not propagated to the DDBB and cannot read from `ir.model.fields`. + # We will use the mock.patch instead. + _tvf = ["test_validation_field"] + _rv = _tvf + BEF + self.assertEqual(self.test_record.test_validation_field, 0) + self.assertFalse(self.test_record.review_ids) + reviews = self.test_record.with_user(self.test_user_2.id).request_validation() + self.assertTrue(reviews) + self.test_record.invalidate_model() + self.assertTrue(self.test_record.review_ids) + # Unable to write test_validation_field under validation + with self.assertRaises(ValidationError): + self.test_record.with_user(self.test_user_2.id).write( + {"test_validation_field": 1} + ) + # Able to write test_validation_field under validation + with mock.patch.object( + TV, "_get_under_validation_exceptions", return_value=_rv + ): + self.test_record.with_user(self.test_user_2.id).write( + {"test_validation_field": 2} + ) + self.assertEqual(self.test_record.test_validation_field, 2) + # Validate record + record = self.test_record.with_user(self.test_user_1.id) + record.invalidate_model() + record.validate_tier() + record.action_confirm() + self.assertTrue(record.validated) + # Unable to write test_validation_field after validation + with self.assertRaises(ValidationError): + # Simulate there are fields, but not test_validation_field + with mock.patch.object(TV, "_get_validation_exceptions", return_value=BEF): + self.test_record.with_user(self.test_user_2.id).write( + {"test_validation_field": 3} + ) + # Able to write test_validation_field after validation + with mock.patch.multiple( + TV, + _get_validation_exceptions=mock.MagicMock(return_value=_tvf), + _get_after_validation_exceptions=mock.MagicMock(return_value=_rv), + ): + self.test_record.with_user(self.test_user_2.id).write( + {"test_validation_field": 4} + ) + self.assertEqual(self.test_record.test_validation_field, 4) + @tagged("at_install") class TierTierValidationView(CommonTierValidation): def test_view_manual(self): - # We need to add a view in order to ensure that an automatic view with all - # fields is not created - self.env["ir.ui.view"].create( - { - "model": self.test_record._name, - "name": "Demo view", - "arch": """
    -
    -
    - - - -
    """, - } - ) view = self.env[self.test_record._name].get_view(False, "form") with Form(self.test_record) as f: self.assertNotIn("review_ids", f._values) @@ -947,23 +983,6 @@ class TierTierValidationView(CommonTierValidation): self.assertFalse(form.xpath("//button[@name='request_validation']")) def test_view_automatic(self): - # We need to add a view in order to ensure that an automatic view with all - # fields is not created - self.env["ir.ui.view"].create( - { - "model": self.test_record_2._name, - "name": "Demo view", - "arch": """
    -
    -
    - - - -
    """, - } - ) view = self.env[self.test_record_2._name].get_view(False, "form") with Form(self.test_record_2) as f: self.assertIn("review_ids", f._values) @@ -971,3 +990,13 @@ class TierTierValidationView(CommonTierValidation): self.assertTrue(form.xpath("//field[@name='review_ids']")) self.assertTrue(form.xpath("//field[@name='can_review']")) self.assertTrue(form.xpath("//button[@name='request_validation']")) + + def test_get_view(self): + view = self.test_record_2.get_view() + model = "tier.validation.tester2" + self.assertEqual(view["model"], model) + self.assertEqual(view["models"].keys(), {model, "tier.review"}) + self.assertIn("id", view["models"][model]) + self.assertIn("need_validation", view["models"][model]) + self.assertIn("next_review", view["models"][model]) + self.assertIn("review_ids", view["models"][model]) diff --git a/base_tier_validation/tests/tier_validation_tester.py b/base_tier_validation/tests/tier_validation_tester.py index d02a3ad..38c8ee1 100644 --- a/base_tier_validation/tests/tier_validation_tester.py +++ b/base_tier_validation/tests/tier_validation_tester.py @@ -18,6 +18,7 @@ class TierValidationTester(models.Model): ], default="draft", ) + test_validation_field = fields.Integer(default=0) test_field = fields.Float() user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users") @@ -40,6 +41,7 @@ class TierValidationTester2(models.Model): default="draft", ) test_field = fields.Float() + test_validation_field = fields.Float() user_id = fields.Many2one(string="Assigned to:", comodel_name="res.users") def action_confirm(self): diff --git a/base_tier_validation/views/tier_definition_view.xml b/base_tier_validation/views/tier_definition_view.xml index edbca44..0a5a1c0 100644 --- a/base_tier_validation/views/tier_definition_view.xml +++ b/base_tier_validation/views/tier_definition_view.xml @@ -168,5 +168,6 @@ id="menu_tier_definition" parent="menu_tier_confirmation" action="tier_definition_action" + sequence="10" /> diff --git a/base_tier_validation/views/tier_validation_exception_view.xml b/base_tier_validation/views/tier_validation_exception_view.xml new file mode 100644 index 0000000..9835c9c --- /dev/null +++ b/base_tier_validation/views/tier_validation_exception_view.xml @@ -0,0 +1,124 @@ + + + + + tier.validation.exception.tree + tier.validation.exception + + + + + + + + + + + + + + + tier.validation.exception.form + tier.validation.exception + +
    + +
    +
    + + + + + + + + + + + + + +
    +
    +
    +
    + + + tier.validation.exception.search + tier.validation.exception + + + + + + + + + + + + + + + + + + + + Tier Validation Exception + ir.actions.act_window + tier.validation.exception + tree,form + +

    Create a new Validation Exception!

    +

    Once created, you can decide which fields you want to be editable when the record:

    +
      +
    • It's in the validation process
    • +
    • It's fully validated
    • +
    +
    +
    + + +
    diff --git a/base_tier_validation_formula/i18n/it.po b/base_tier_validation_formula/i18n/it.po index 7a311a5..854c273 100644 --- a/base_tier_validation_formula/i18n/it.po +++ b/base_tier_validation_formula/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 13.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-02-04 22:33+0000\n" +"PO-Revision-Date: 2024-06-26 11:27+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -78,7 +78,7 @@ msgstr "Espressione Definizione Livello" #. module: base_tier_validation_formula #: model:ir.model,name:base_tier_validation_formula.model_tier_review msgid "Tier Review" -msgstr "Livello Approvazione" +msgstr "Revisione livello" #. module: base_tier_validation_formula #: model:ir.model,name:base_tier_validation_formula.model_tier_validation diff --git a/base_tier_validation_forward/COPYRIGHT b/base_tier_validation_forward/COPYRIGHT new file mode 100644 index 0000000..3b569df --- /dev/null +++ b/base_tier_validation_forward/COPYRIGHT @@ -0,0 +1,16 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2018 ForgeFlow S.L. + Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/base_tier_validation_forward/LICENSE b/base_tier_validation_forward/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/base_tier_validation_forward/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/base_tier_validation_forward/README.rst b/base_tier_validation_forward/README.rst new file mode 100644 index 0000000..bf1d901 --- /dev/null +++ b/base_tier_validation_forward/README.rst @@ -0,0 +1,107 @@ +============================ +Base Tier Validation Forward +============================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:d1404006afb1fdb3f3530ef9f5b122e1429a080e762a0f51bf4e27e6507a5b6a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/base_tier_validation_forward + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-base_tier_validation_forward + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module add an advance option to base_tier_validation. + +- To allow "Forward" the tier to different user. + +**Sample use case:** + +A user is appointed to approve a tire, but he/she don't want to make +decision for some reason, and want to pass/forward the decision to +another person. + +User can then click on Forward instead of Approve. A new tier with minor +sequence will be created on the reviewer table, and new user will be +able to make approval decision. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +In any tier definition, check "Allow Forward" to enable this feature. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Ecosoft + +Contributors +------------ + +- Kitti U. +- Andrea Stirpe + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-kittiu| image:: https://github.com/kittiu.png?size=40px + :target: https://github.com/kittiu + :alt: kittiu + +Current `maintainer `__: + +|maintainer-kittiu| + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/base_tier_validation_forward/__init__.py b/base_tier_validation_forward/__init__.py new file mode 100644 index 0000000..c098390 --- /dev/null +++ b/base_tier_validation_forward/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import models +from . import wizard +from .hooks import uninstall_hook diff --git a/base_tier_validation_forward/__manifest__.py b/base_tier_validation_forward/__manifest__.py new file mode 100644 index 0000000..e4acf8b --- /dev/null +++ b/base_tier_validation_forward/__manifest__.py @@ -0,0 +1,29 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Base Tier Validation Forward", + "summary": "Forward option for base tiers", + "version": "3.0.1.0.0", + "category": "Tools", + "website": "https://gitlab.com/flectra-community/server-ux", + "author": "Ecosoft,Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["base_tier_validation"], + "data": [ + "security/ir.model.access.csv", + "data/mail_data.xml", + "views/tier_definition_view.xml", + "wizard/forward_wizard_view.xml", + "templates/tier_validation_templates.xml", + ], + "development_status": "Alpha", + "maintainers": ["kittiu"], + "application": False, + "installable": True, + "assets": { + "web.assets_backend": [ + "base_tier_validation_forward/static/src/xml/tier_review_template.xml", + ], + }, + "uninstall_hook": "uninstall_hook", +} diff --git a/base_tier_validation_forward/data/mail_data.xml b/base_tier_validation_forward/data/mail_data.xml new file mode 100644 index 0000000..df71888 --- /dev/null +++ b/base_tier_validation_forward/data/mail_data.xml @@ -0,0 +1,13 @@ + + + + Tier Validation Forward Notification + + + + + diff --git a/base_tier_validation_forward/hooks.py b/base_tier_validation_forward/hooks.py new file mode 100644 index 0000000..862ee92 --- /dev/null +++ b/base_tier_validation_forward/hooks.py @@ -0,0 +1,19 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + + +def uninstall_hook(env): + """Revert table tier_review back to original before this module""" + env.cr.execute( + "update tier_review a set sequence = " + "(select floor(sequence) from tier_review b where a.id = b.id);" + ) + env.cr.execute( + "update tier_review a set status = 'approved' where status = 'forwarded';" + ) + env.cr.execute("alter table tier_review drop column name cascade;") + env.cr.execute("alter table tier_review drop column review_type cascade;") + env.cr.execute("alter table tier_review drop column reviewer_id cascade;") + env.cr.execute("alter table tier_review drop column reviewer_group_id cascade;") + env.cr.execute("alter table tier_review drop column has_comment cascade;") + env.cr.execute("alter table tier_review drop column approve_sequence cascade;") diff --git a/base_tier_validation_forward/i18n/base_tier_validation_forward.pot b/base_tier_validation_forward/i18n/base_tier_validation_forward.pot new file mode 100644 index 0000000..b9e06cd --- /dev/null +++ b/base_tier_validation_forward/i18n/base_tier_validation_forward.pot @@ -0,0 +1,193 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_tier_validation_forward +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded by %s." +msgstr "" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded from %(user_name)s %(comment)s" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__has_comment +msgid "Allow Comment" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow Forward" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow option to 'Forward' to different person." +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_review__approve_sequence +msgid "Approval order by the specified sequence number" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__approve_sequence +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__approve_sequence +msgid "Approve by sequence" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation__can_forward +msgid "Can Forward" +msgstr "" + +#. module: base_tier_validation_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +msgid "Cancel" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__has_comment +msgid "Comment" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_comment_wizard +msgid "Comment Wizard" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__name +msgid "Description" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.tier_validation_label_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +#, python-format +msgid "Forward" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_description +msgid "Forward Description" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation_forward_wizard +msgid "Forward Wizard" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields.selection,name:base_tier_validation_forward.selection__tier_review__status__forwarded +msgid "Forwarded" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__id +msgid "ID" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_reviewer_id +msgid "Next Reviewer" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_id +msgid "Res" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_model +msgid "Res Model" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_id +msgid "Reviewer" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_group_id +msgid "Reviewer group" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__status +msgid "Status" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__sequence +msgid "Tier" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_definition +msgid "Tier Definition" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_review +msgid "Tier Review" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation +msgid "Tier Validation (abstract)" +msgstr "" + +#. module: base_tier_validation_forward +#: model:mail.message.subtype,name:base_tier_validation_forward.mt_tier_validation_forwarded +msgid "Tier Validation Forward Notification" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__review_type +msgid "Validated by" +msgstr "" diff --git a/base_tier_validation_forward/i18n/es.po b/base_tier_validation_forward/i18n/es.po new file mode 100644 index 0000000..e46fb7b --- /dev/null +++ b/base_tier_validation_forward/i18n/es.po @@ -0,0 +1,202 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_tier_validation_forward +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-08-27 16:07+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded by %s." +msgstr "%s ha enviado una reseña." + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded from %(user_name)s %(comment)s" +msgstr "Se envió una reseña desde %(user_name)s %(comment)s" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__has_comment +msgid "Allow Comment" +msgstr "Permitir comentario" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow Forward" +msgstr "Permitir reenviar" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow option to 'Forward' to different person." +msgstr "Permitir la opción de 'Reenviar' a otra persona." + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_review__approve_sequence +msgid "Approval order by the specified sequence number" +msgstr "Orden de aprobación por el número de secuencia especificado" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__approve_sequence +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__approve_sequence +msgid "Approve by sequence" +msgstr "Aprobar por secuencia" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation__can_forward +msgid "Can Forward" +msgstr "Puede Reenviar" + +#. module: base_tier_validation_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +msgid "Cancel" +msgstr "Cancelar" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__has_comment +msgid "Comment" +msgstr "Comentario" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_comment_wizard +msgid "Comment Wizard" +msgstr "Asistente de comentarios" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__name +msgid "Description" +msgstr "Descripción" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.tier_validation_label_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +#, python-format +msgid "Forward" +msgstr "Avanzar" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_description +msgid "Forward Description" +msgstr "Descripción directa" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation_forward_wizard +msgid "Forward Wizard" +msgstr "Asistente de avance" + +#. module: base_tier_validation_forward +#: model:ir.model.fields.selection,name:base_tier_validation_forward.selection__tier_review__status__forwarded +msgid "Forwarded" +msgstr "Reenviado" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_date +msgid "Last Updated on" +msgstr "Última Actualización el" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_reviewer_id +msgid "Next Reviewer" +msgstr "Siguiente revisor" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_id +msgid "Res" +msgstr "Recurso" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_model +msgid "Res Model" +msgstr "Modelo Res" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_id +msgid "Reviewer" +msgstr "Revisor" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_group_id +msgid "Reviewer group" +msgstr "Grupo revisor" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__status +msgid "Status" +msgstr "Estados" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__sequence +msgid "Tier" +msgstr "" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_definition +msgid "Tier Definition" +msgstr "Definición del nivel" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_review +msgid "Tier Review" +msgstr "Definición de nivel" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation +msgid "Tier Validation (abstract)" +msgstr "Validaciones de Nivel (abstracto)" + +#. module: base_tier_validation_forward +#: model:mail.message.subtype,name:base_tier_validation_forward.mt_tier_validation_forwarded +msgid "Tier Validation Forward Notification" +msgstr "Validación de nivel Notificación previa" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__review_type +msgid "Validated by" +msgstr "Validado por" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificación el" + +#~ msgid "Sequence" +#~ msgstr "Secuencia" diff --git a/base_tier_validation_forward/i18n/it.po b/base_tier_validation_forward/i18n/it.po new file mode 100644 index 0000000..7319b25 --- /dev/null +++ b/base_tier_validation_forward/i18n/it.po @@ -0,0 +1,202 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * base_tier_validation_forward +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-07 08:58+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded by %s." +msgstr "Una revisione è stata inoltrata da %s." + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#, python-format +msgid "A review was forwarded from %(user_name)s %(comment)s" +msgstr "Una revisione è stata inoltrata da %(user_name)s %(comment)s" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__has_comment +msgid "Allow Comment" +msgstr "Consenti commenti" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow Forward" +msgstr "Consenti inoltro" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_definition__has_forward +msgid "Allow option to 'Forward' to different person." +msgstr "Consente l'opzione di 'Inoltro' ad una persona differente." + +#. module: base_tier_validation_forward +#: model:ir.model.fields,help:base_tier_validation_forward.field_tier_review__approve_sequence +msgid "Approval order by the specified sequence number" +msgstr "Ordine di approvazione specificato da numero sequenza" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__approve_sequence +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__approve_sequence +msgid "Approve by sequence" +msgstr "Approva in sequenza" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation__can_forward +msgid "Can Forward" +msgstr "Può inoltrare" + +#. module: base_tier_validation_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +msgid "Cancel" +msgstr "Annulla" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__has_comment +msgid "Comment" +msgstr "Commento" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_comment_wizard +msgid "Comment Wizard" +msgstr "Procedura guidata commento" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__name +msgid "Description" +msgstr "Descrizione" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: base_tier_validation_forward +#. odoo-python +#: code:addons/base_tier_validation_forward/models/tier_validation.py:0 +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.tier_validation_label_forward +#: model_terms:ir.ui.view,arch_db:base_tier_validation_forward.view_forward_wizard +#, python-format +msgid "Forward" +msgstr "Inoltra" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_description +msgid "Forward Description" +msgstr "Descrizione inoltro" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation_forward_wizard +msgid "Forward Wizard" +msgstr "Procedura guidata Inoltro" + +#. module: base_tier_validation_forward +#: model:ir.model.fields.selection,name:base_tier_validation_forward.selection__tier_review__status__forwarded +msgid "Forwarded" +msgstr "Inoltrata" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__id +msgid "ID" +msgstr "ID" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__forward_reviewer_id +msgid "Next Reviewer" +msgstr "Prossimo revisore" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_id +msgid "Res" +msgstr "Res" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_validation_forward_wizard__res_model +msgid "Res Model" +msgstr "Modello res" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_id +msgid "Reviewer" +msgstr "Revisore" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__reviewer_group_id +msgid "Reviewer group" +msgstr "Gruppo revisore" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__status +msgid "Status" +msgstr "Stato" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__sequence +msgid "Tier" +msgstr "Livello" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_definition +msgid "Tier Definition" +msgstr "Definizione livello" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_review +msgid "Tier Review" +msgstr "Revisione livello" + +#. module: base_tier_validation_forward +#: model:ir.model,name:base_tier_validation_forward.model_tier_validation +msgid "Tier Validation (abstract)" +msgstr "Validazione livello (sintesi)" + +#. module: base_tier_validation_forward +#: model:mail.message.subtype,name:base_tier_validation_forward.mt_tier_validation_forwarded +msgid "Tier Validation Forward Notification" +msgstr "Notifica inoltro validazione livello" + +#. module: base_tier_validation_forward +#: model:ir.model.fields,field_description:base_tier_validation_forward.field_tier_review__review_type +msgid "Validated by" +msgstr "Validato da" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ msgid "Sequence" +#~ msgstr "Sequenza" diff --git a/base_tier_validation_forward/models/__init__.py b/base_tier_validation_forward/models/__init__.py new file mode 100644 index 0000000..2176cc7 --- /dev/null +++ b/base_tier_validation_forward/models/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import tier_definition +from . import tier_review +from . import tier_validation diff --git a/base_tier_validation_forward/models/tier_definition.py b/base_tier_validation_forward/models/tier_definition.py new file mode 100644 index 0000000..23ebae4 --- /dev/null +++ b/base_tier_validation_forward/models/tier_definition.py @@ -0,0 +1,13 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import fields, models + + +class TierDefinition(models.Model): + _inherit = "tier.definition" + + has_forward = fields.Boolean( + string="Allow Forward", + default=False, + help="Allow option to 'Forward' to different person.", + ) diff --git a/base_tier_validation_forward/models/tier_review.py b/base_tier_validation_forward/models/tier_review.py new file mode 100644 index 0000000..19def9b --- /dev/null +++ b/base_tier_validation_forward/models/tier_review.py @@ -0,0 +1,53 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import api, fields, models + + +class TierReview(models.Model): + _inherit = "tier.review" + _order = "sequence" + + name = fields.Char(compute="_compute_definition_data", store=True) + status = fields.Selection( + selection_add=[("forwarded", "Forwarded")], + ) + review_type = fields.Selection( + compute="_compute_definition_data", + store=True, + ) + reviewer_id = fields.Many2one( + comodel_name="res.users", + compute="_compute_definition_data", + store=True, + ) + reviewer_group_id = fields.Many2one( + comodel_name="res.groups", + compute="_compute_definition_data", + store=True, + ) + sequence = fields.Integer() + has_comment = fields.Boolean( + compute="_compute_definition_data", + store=True, + ) + approve_sequence = fields.Boolean( + compute="_compute_definition_data", + store=True, + ) + + @api.depends( + "definition_id.name", + "definition_id.review_type", + "definition_id.reviewer_id", + "definition_id.reviewer_group_id", + "definition_id.has_comment", + "definition_id.approve_sequence", + ) + def _compute_definition_data(self): + for rec in self: + rec.name = rec.definition_id.name + rec.review_type = rec.definition_id.review_type + rec.reviewer_id = rec.definition_id.reviewer_id + rec.reviewer_group_id = rec.definition_id.reviewer_group_id + rec.has_comment = rec.definition_id.has_comment + rec.approve_sequence = rec.definition_id.approve_sequence diff --git a/base_tier_validation_forward/models/tier_validation.py b/base_tier_validation_forward/models/tier_validation.py new file mode 100644 index 0000000..c3cfb11 --- /dev/null +++ b/base_tier_validation_forward/models/tier_validation.py @@ -0,0 +1,94 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import _, api, fields, models + + +class TierValidation(models.AbstractModel): + _inherit = "tier.validation" + + can_forward = fields.Boolean(compute="_compute_can_forward") + + def _compute_can_forward(self): + for rec in self: + if not rec.can_review: + rec.can_forward = False + continue + sequences = self._get_sequences_to_approve(self.env.user) + reviews = rec.review_ids.filtered( + lambda r, sqs=sequences: r.sequence in sqs + ) + definitions = reviews.mapped("definition_id") + rec.can_forward = True in definitions.mapped("has_forward") + + @api.model + def _calc_reviews_validated(self, reviews): + """Override for different validation policy.""" + if not reviews: + return False + return not any( + [s not in ("approved", "forwarded") for s in reviews.mapped("status")] + ) + + def _get_forwarded_notification_subtype(self): + return "base_tier_validation.mt_tier_validation_forwarded" + + def forward_tier(self): + self.ensure_one() + sequences = self._get_sequences_to_approve(self.env.user) + reviews = self.review_ids.filtered(lambda r: r.sequence in sequences) + ctx = self._add_comment("forward", reviews)["context"] + comment = ( + self.env["comment.wizard"].with_context(**ctx).create({"comment": "/"}) + ) + wizard = self.env.ref("base_tier_validation_forward.view_forward_wizard") + return { + "name": _("Forward"), + "type": "ir.actions.act_window", + "view_mode": "form", + "res_model": "tier.validation.forward.wizard", + "views": [(wizard.id, "form")], + "view_id": wizard.id, + "target": "new", + "context": { + "default_res_id": self.id, + "default_res_model": self._name, + "comment_id": comment.id, + }, + } + + def _forward_tier(self, tiers=False): + self.ensure_one() + tier_reviews = tiers or self.review_ids + user_reviews = tier_reviews.filtered( + lambda r: r.status != "approved" and (self.env.user in r.reviewer_ids) + ) + user_reviews.write( + { + "status": "forwarded", + "done_by": self.env.user.id, + "reviewed_date": fields.Datetime.now(), + } + ) + for review in user_reviews: + rec = self.env[review.model].browse(review.res_id) + rec._notify_forwarded_reviews() + + def _notify_forwarded_reviews(self): + post = "message_post" + if hasattr(self, post): + # Notify state change + getattr(self, post)( + subtype_xmlid=self._get_forwarded_notification_subtype(), + body=self._notify_forwarded_reviews_body(), + ) + + def _notify_forwarded_reviews_body(self): + has_comment = self.review_ids.filtered( + lambda r: (self.env.user in r.reviewer_ids) and r.comment + ) + if has_comment: + comment = has_comment.mapped("comment")[0] + return _("A review was forwarded from %(user_name)s %(comment)s") % ( + {"user_name": self.env.user.name, "comment": comment} + ) + return _("A review was forwarded by %s.") % (self.env.user.name) diff --git a/base_tier_validation_forward/pyproject.toml b/base_tier_validation_forward/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/base_tier_validation_forward/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/base_tier_validation_forward/security/ir.model.access.csv b/base_tier_validation_forward/security/ir.model.access.csv new file mode 100644 index 0000000..1c37580 --- /dev/null +++ b/base_tier_validation_forward/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_tier_validation_forward_wizard,access.tier.validation.forward.wizard,model_tier_validation_forward_wizard,base.group_user,1,1,1,1 diff --git a/base_tier_validation_forward/static/description/icon.png b/base_tier_validation_forward/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/base_tier_validation_forward/static/description/index.html b/base_tier_validation_forward/static/description/index.html new file mode 100644 index 0000000..d91a736 --- /dev/null +++ b/base_tier_validation_forward/static/description/index.html @@ -0,0 +1,447 @@ + + + + + +Base Tier Validation Forward + + + +
    +

    Base Tier Validation Forward

    + + +

    Alpha License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

    +

    This module add an advance option to base_tier_validation.

    +
      +
    • To allow “Forward” the tier to different user.
    • +
    +

    Sample use case:

    +

    A user is appointed to approve a tire, but he/she don’t want to make +decision for some reason, and want to pass/forward the decision to +another person.

    +

    User can then click on Forward instead of Approve. A new tier with minor +sequence will be created on the reviewer table, and new user will be +able to make approval decision.

    +
    +

    Important

    +

    This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

    +
    +

    Table of contents

    + +
    +

    Configuration

    +

    In any tier definition, check “Allow Forward” to enable this feature.

    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Ecosoft
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    Current maintainer:

    +

    kittiu

    +

    This module is part of the OCA/server-ux project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/base_tier_validation_forward/static/src/xml/tier_review_template.xml b/base_tier_validation_forward/static/src/xml/tier_review_template.xml new file mode 100644 index 0000000..1557851 --- /dev/null +++ b/base_tier_validation_forward/static/src/xml/tier_review_template.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/base_tier_validation_forward/templates/tier_validation_templates.xml b/base_tier_validation_forward/templates/tier_validation_templates.xml new file mode 100644 index 0000000..6dd8830 --- /dev/null +++ b/base_tier_validation_forward/templates/tier_validation_templates.xml @@ -0,0 +1,18 @@ + + + diff --git a/base_tier_validation_forward/tests/__init__.py b/base_tier_validation_forward/tests/__init__.py new file mode 100644 index 0000000..b439a53 --- /dev/null +++ b/base_tier_validation_forward/tests/__init__.py @@ -0,0 +1,3 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import test_tier_validation diff --git a/base_tier_validation_forward/tests/test_tier_validation.py b/base_tier_validation_forward/tests/test_tier_validation.py new file mode 100644 index 0000000..6c964fd --- /dev/null +++ b/base_tier_validation_forward/tests/test_tier_validation.py @@ -0,0 +1,134 @@ +# Copyright 2018 ForgeFlow S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from flectra_test_helper import FakeModelLoader + +from flectra.tests import Form +from flectra.tests.common import TransactionCase, tagged + +from flectra.addons.base.tests.common import DISABLED_MAIL_CONTEXT + + +@tagged("post_install", "-at_install") +class TierTierValidation(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, **DISABLED_MAIL_CONTEXT)) + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from flectra.addons.base_tier_validation.tests.tier_validation_tester import ( + TierDefinition, + TierValidationTester, + TierValidationTester2, + ) + + cls.loader.update_registry( + (TierValidationTester, TierValidationTester2, TierDefinition) + ) + cls.test_model = cls.env[TierValidationTester._name] + + cls.tester_model = cls.env["ir.model"].search( + [("model", "=", "tier.validation.tester")] + ) + + # Access record: + cls.env["ir.model.access"].create( + { + "name": "access.tester", + "model_id": cls.tester_model.id, + "perm_read": 1, + "perm_write": 1, + "perm_create": 1, + "perm_unlink": 1, + } + ) + + # Create users: + group_ids = cls.env.ref("base.group_system").ids + cls.test_user_1 = cls.env["res.users"].create( + { + "name": "John", + "login": "test1", + "groups_id": [(6, 0, group_ids)], + "email": "john@yourcompany.example.com", + } + ) + cls.test_user_2 = cls.env["res.users"].create( + {"name": "Mike", "login": "test2", "email": "mike@yourcompany.example.com"} + ) + cls.test_user_3 = cls.env["res.users"].create( + {"name": "Mary", "login": "test3", "email": "mary@yourcompany.example.com"} + ) + + # Create tier definitions: + cls.tier_def_obj = cls.env["tier.definition"] + cls.tier_def_obj.create( + { + "model_id": cls.tester_model.id, + "review_type": "individual", + "reviewer_id": cls.test_user_1.id, + "definition_domain": "[('test_field', '>', 1.0)]", + } + ) + + cls.test_record = cls.test_model.create({"test_field": 2.5}) + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + return super().tearDownClass() + + def test_01_forward_tier(self): + # Create new test record + test_record = self.test_model.create({"test_field": 2.5}) + # Create tier definitions + self.tier_def_obj.create( + { + "model_id": self.tester_model.id, + "review_type": "individual", + "reviewer_id": self.test_user_2.id, + "definition_domain": "[('test_field', '>', 1.0)]", + "approve_sequence": True, + "has_forward": True, + } + ) + # Request validation + review = test_record.with_user(self.test_user_2.id).request_validation() + self.assertTrue(review) + record = test_record.with_user(self.test_user_1.id) + record.invalidate_recordset() + record.review_ids[0]._compute_can_review() + record.validate_tier() + self.assertFalse(record.can_forward) + # User 2 forward to user 1 + record = test_record.with_user(self.test_user_2.id) + record.invalidate_recordset() + self.assertTrue(record.can_forward) + res = record.forward_tier() + ctx = res.get("context") + wizard = Form( + self.env["tier.validation.forward.wizard"] + .with_user(self.test_user_2.id) + .with_context(**ctx) + ) + wizard.forward_reviewer_id = self.test_user_1 + wizard.forward_description = "Please review again" + wiz = wizard.save() + wiz.add_forward() + # Newly created forwarded review will have no definition + record = test_record.with_user(self.test_user_2.id) + record.invalidate_recordset() + self.assertTrue(record.review_ids.filtered(lambda r: not r.definition_id)) + # User 1 validate + res = record.with_user(self.test_user_1.id).validate_tier() + ctx = res.get("context") + wizard = Form( + self.env["comment.wizard"] + .with_user(self.test_user_1.id) + .with_context(**ctx) + ) + wizard.comment = "Forward tier is reviewed" + wiz = wizard.save() + wiz.add_comment() + self.assertTrue(record.validated) diff --git a/base_tier_validation_forward/views/tier_definition_view.xml b/base_tier_validation_forward/views/tier_definition_view.xml new file mode 100644 index 0000000..a946b63 --- /dev/null +++ b/base_tier_validation_forward/views/tier_definition_view.xml @@ -0,0 +1,15 @@ + + + + + tier.definition.form + tier.definition + + + + + + + + diff --git a/base_tier_validation_forward/wizard/__init__.py b/base_tier_validation_forward/wizard/__init__.py new file mode 100644 index 0000000..d93afa0 --- /dev/null +++ b/base_tier_validation_forward/wizard/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from . import comment_wizard +from . import forward_wizard diff --git a/base_tier_validation_forward/wizard/comment_wizard.py b/base_tier_validation_forward/wizard/comment_wizard.py new file mode 100644 index 0000000..f080d26 --- /dev/null +++ b/base_tier_validation_forward/wizard/comment_wizard.py @@ -0,0 +1,15 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import models + + +class CommentWizard(models.TransientModel): + _inherit = "comment.wizard" + + def add_comment(self): + super().add_comment() + rec = self.env[self.res_model].browse(self.res_id) + if self.validate_reject == "forward": + rec._forward_tier(self.review_ids) + rec._update_counter({"review_created": True}) + return self.review_ids diff --git a/base_tier_validation_forward/wizard/forward_wizard.py b/base_tier_validation_forward/wizard/forward_wizard.py new file mode 100644 index 0000000..38a65f9 --- /dev/null +++ b/base_tier_validation_forward/wizard/forward_wizard.py @@ -0,0 +1,54 @@ +# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from flectra import _, fields, models + + +class ValidationForwardWizard(models.TransientModel): + _name = "tier.validation.forward.wizard" + _description = "Forward Wizard" + + res_model = fields.Char() + res_id = fields.Integer() + forward_reviewer_id = fields.Many2one( + comodel_name="res.users", + string="Next Reviewer", + required=True, + ) + forward_description = fields.Char() + has_comment = fields.Boolean(string="Allow Comment", default=True) + approve_sequence = fields.Boolean( + string="Approve by sequence", + default=True, + ) + + def add_forward(self): + """Add extra step, with specific reviewer""" + self.ensure_one() + rec = self.env[self.res_model].browse(self.res_id) + prev_comment = self.env["comment.wizard"].browse( + self._context.get("comment_id") + ) + prev_comment.write( + {"comment": _(">> %s") % self.forward_reviewer_id.display_name} + ) + prev_reviews = prev_comment.add_comment() + review = self.env["tier.review"].create( + { + "model": rec._name, + "res_id": rec.id, + "sequence": max(prev_reviews.mapped("sequence")) + 0.1, + "requested_by": self.env.uid, + } + ) + # Because following fields are readonly, we need to write after create + review.write( + { + "name": self.forward_description, + "review_type": "individual", + "reviewer_id": self.forward_reviewer_id.id, + "has_comment": self.has_comment, + "approve_sequence": self.approve_sequence, + } + ) + rec.invalidate_recordset() + rec.review_ids._compute_can_review() diff --git a/base_tier_validation_forward/wizard/forward_wizard_view.xml b/base_tier_validation_forward/wizard/forward_wizard_view.xml new file mode 100644 index 0000000..71e4527 --- /dev/null +++ b/base_tier_validation_forward/wizard/forward_wizard_view.xml @@ -0,0 +1,33 @@ + + + + + Forward Wizard + tier.validation.forward.wizard + form + +
    + + + + + + + + + + +
    +
    +
    +
    +
    +
    diff --git a/date_range/README.rst b/date_range/README.rst index e8ce800..3be5ca0 100644 --- a/date_range/README.rst +++ b/date_range/README.rst @@ -7,7 +7,7 @@ Date Range !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:4a5d9626a193262b4f9f2a22604b7a5b9b800c93364dd0a947b9f93c60728ecb + !! source digest: sha256:bef360f14e07013cc293245f850d87fd6cfd11edbb6f8384310c65afc5f86b0a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Mature-brightgreen.png diff --git a/date_range/__manifest__.py b/date_range/__manifest__.py index cb1f9a4..4d37aed 100644 --- a/date_range/__manifest__.py +++ b/date_range/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Date Range", "summary": "Manage all kind of date range", - "version": "3.0.1.0.0", + "version": "3.0.1.2.0", "category": "Uncategorized", "website": "https://gitlab.com/flectra-community/server-ux", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", diff --git a/date_range/i18n/am.po b/date_range/i18n/am.po index 4faeaf9..59a810b 100644 --- a/date_range/i18n/am.po +++ b/date_range/i18n/am.po @@ -380,11 +380,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/ar.po b/date_range/i18n/ar.po index e5936df..7be196e 100644 --- a/date_range/i18n/ar.po +++ b/date_range/i18n/ar.po @@ -383,12 +383,6 @@ msgstr "" msgid "Type" msgstr "النوع" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "الاسم" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -453,6 +447,10 @@ msgstr "أسابيع" msgid "years" msgstr "سنوات" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "الاسم" + #~ msgid "Last Modified on" #~ msgstr "آخر تعديل في" diff --git a/date_range/i18n/bg.po b/date_range/i18n/bg.po index 0bbd81f..58db47b 100644 --- a/date_range/i18n/bg.po +++ b/date_range/i18n/bg.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Вид" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Име" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Име" + #~ msgid "Last Modified on" #~ msgstr "Последно обновено на" diff --git a/date_range/i18n/bs.po b/date_range/i18n/bs.po index be404fb..7e4b38f 100644 --- a/date_range/i18n/bs.po +++ b/date_range/i18n/bs.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Vrsta" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ime" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ime" + #~ msgid "Last Modified on" #~ msgstr "Zadnje mijenjano" diff --git a/date_range/i18n/ca.po b/date_range/i18n/ca.po index 5af78a0..c3185a4 100644 --- a/date_range/i18n/ca.po +++ b/date_range/i18n/ca.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Tipus" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nom" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,6 +444,10 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nom" + #~ msgid "Last Modified on" #~ msgstr "Darrera modificació el" diff --git a/date_range/i18n/ca_ES.po b/date_range/i18n/ca_ES.po index f134fca..4afd2a5 100644 --- a/date_range/i18n/ca_ES.po +++ b/date_range/i18n/ca_ES.po @@ -381,11 +381,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/cs.po b/date_range/i18n/cs.po index a5fec00..5fb56de 100644 --- a/date_range/i18n/cs.po +++ b/date_range/i18n/cs.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Druh" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Název" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Název" + #~ msgid "Last Modified on" #~ msgstr "Naposled upraveno" diff --git a/date_range/i18n/da.po b/date_range/i18n/da.po index 0e80663..048f645 100644 --- a/date_range/i18n/da.po +++ b/date_range/i18n/da.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Navn" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -452,6 +446,10 @@ msgstr "uger" msgid "years" msgstr "år" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Navn" + #~ msgid "Last Modified on" #~ msgstr "Sidst ændret den" diff --git a/date_range/i18n/date_range.pot b/date_range/i18n/date_range.pot index fd1ba2a..8e5ce9a 100644 --- a/date_range/i18n/date_range.pot +++ b/date_range/i18n/date_range.pot @@ -376,11 +376,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/de.po b/date_range/i18n/de.po index f3a2a3c..6f1c0c5 100644 --- a/date_range/i18n/de.po +++ b/date_range/i18n/de.po @@ -386,12 +386,6 @@ msgstr "" msgid "Type" msgstr "Typ" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Name" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -457,6 +451,10 @@ msgstr "Wochen" msgid "years" msgstr "Jahre" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Name" + #~ msgid "Last Modified on" #~ msgstr "Zuletzt geändert am" diff --git a/date_range/i18n/el_GR.po b/date_range/i18n/el_GR.po index e4b0201..3d083d0 100644 --- a/date_range/i18n/el_GR.po +++ b/date_range/i18n/el_GR.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Τύπος" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ονομασία" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ονομασία" diff --git a/date_range/i18n/en_AU.po b/date_range/i18n/en_AU.po index b525e33..e73bd9e 100644 --- a/date_range/i18n/en_AU.po +++ b/date_range/i18n/en_AU.po @@ -381,11 +381,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/en_GB.po b/date_range/i18n/en_GB.po index 564c187..a80abf8 100644 --- a/date_range/i18n/en_GB.po +++ b/date_range/i18n/en_GB.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Name" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Name" + #~ msgid "Last Modified on" #~ msgstr "Last Modified on" diff --git a/date_range/i18n/es.po b/date_range/i18n/es.po index 61abef1..4ec0aa6 100644 --- a/date_range/i18n/es.po +++ b/date_range/i18n/es.po @@ -391,11 +391,6 @@ msgstr "El campo activo permite esconder un rango de fechas sin eliminarlo." msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Nombre del tipo" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -462,6 +457,9 @@ msgstr "semanas" msgid "years" msgstr "años" +#~ msgid "Type Name" +#~ msgstr "Nombre del tipo" + #~ msgid "Last Modified on" #~ msgstr "Modificado por última vez el" diff --git a/date_range/i18n/es_AR.po b/date_range/i18n/es_AR.po index 86f4569..ed57968 100644 --- a/date_range/i18n/es_AR.po +++ b/date_range/i18n/es_AR.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Última modificación en" diff --git a/date_range/i18n/es_CL.po b/date_range/i18n/es_CL.po index adf11aa..5a530fe 100644 --- a/date_range/i18n/es_CL.po +++ b/date_range/i18n/es_CL.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Última modificación en" diff --git a/date_range/i18n/es_CO.po b/date_range/i18n/es_CO.po index 4c248d7..9ee10c6 100644 --- a/date_range/i18n/es_CO.po +++ b/date_range/i18n/es_CO.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Última Modificación el" diff --git a/date_range/i18n/es_CR.po b/date_range/i18n/es_CR.po index e469de2..cd7ca62 100644 --- a/date_range/i18n/es_CR.po +++ b/date_range/i18n/es_CR.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" diff --git a/date_range/i18n/es_DO.po b/date_range/i18n/es_DO.po index 7b006ee..48013a4 100644 --- a/date_range/i18n/es_DO.po +++ b/date_range/i18n/es_DO.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Última modificación en" diff --git a/date_range/i18n/es_EC.po b/date_range/i18n/es_EC.po index 8f76e72..f2d5f9a 100644 --- a/date_range/i18n/es_EC.po +++ b/date_range/i18n/es_EC.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Última modificación en" diff --git a/date_range/i18n/es_ES.po b/date_range/i18n/es_ES.po index 82405c1..7f33e36 100644 --- a/date_range/i18n/es_ES.po +++ b/date_range/i18n/es_ES.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Tipo" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Tipo" + #~ msgid "Last Modified on" #~ msgstr "Última modificación en" diff --git a/date_range/i18n/es_MX.po b/date_range/i18n/es_MX.po index ba5cba0..4d14ae8 100644 --- a/date_range/i18n/es_MX.po +++ b/date_range/i18n/es_MX.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Ultima modificacion realizada" diff --git a/date_range/i18n/es_PE.po b/date_range/i18n/es_PE.po index 65a3e7a..a69767a 100644 --- a/date_range/i18n/es_PE.po +++ b/date_range/i18n/es_PE.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Ultima Modificación en" diff --git a/date_range/i18n/es_PY.po b/date_range/i18n/es_PY.po index 8197363..c3dc7c4 100644 --- a/date_range/i18n/es_PY.po +++ b/date_range/i18n/es_PY.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" diff --git a/date_range/i18n/es_VE.po b/date_range/i18n/es_VE.po index c6aa280..8025ee2 100644 --- a/date_range/i18n/es_VE.po +++ b/date_range/i18n/es_VE.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nombre" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nombre" + #~ msgid "Last Modified on" #~ msgstr "Modificada por última vez" diff --git a/date_range/i18n/et.po b/date_range/i18n/et.po index 30b9686..bad9cd8 100644 --- a/date_range/i18n/et.po +++ b/date_range/i18n/et.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Tüüp" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nimi" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nimi" + #~ msgid "Last Modified on" #~ msgstr "Viimati muudetud" diff --git a/date_range/i18n/eu.po b/date_range/i18n/eu.po index 17a1e97..8d0940e 100644 --- a/date_range/i18n/eu.po +++ b/date_range/i18n/eu.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Mota" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Izena" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -449,3 +443,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Izena" diff --git a/date_range/i18n/fa.po b/date_range/i18n/fa.po index 551eb7e..16f6093 100644 --- a/date_range/i18n/fa.po +++ b/date_range/i18n/fa.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "نوع" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "نام" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "نام" + #~ msgid "Last Modified on" #~ msgstr "تاریخ آخرین به‌روزرسانی" diff --git a/date_range/i18n/fi.po b/date_range/i18n/fi.po index 79f86e3..c025f8f 100644 --- a/date_range/i18n/fi.po +++ b/date_range/i18n/fi.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Tyyppi" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nimi" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nimi" + #~ msgid "Last Modified on" #~ msgstr "Viimeksi muokattu" diff --git a/date_range/i18n/fr.po b/date_range/i18n/fr.po index 050b50b..0c9689a 100644 --- a/date_range/i18n/fr.po +++ b/date_range/i18n/fr.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-01 02:44+0000\n" -"PO-Revision-Date: 2023-11-03 20:38+0000\n" -"Last-Translator: Alexis de Lattre \n" +"PO-Revision-Date: 2024-05-23 12:35+0000\n" +"Last-Translator: Vincent Hatakeyama \n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -24,7 +24,7 @@ msgstr "" #: code:addons/date_range/models/date_range.py:0 #, python-format msgid "%(name)s is not a valid range (%(date_start)s > %(date_end)s)" -msgstr "%(name)s n'est pas une plage valide (%(date_start)s > %(date_end)s)" +msgstr "%(name)s n’est pas une plage valide (%(date_start)s > %(date_end)s)" #. module: date_range #. odoo-python @@ -74,7 +74,7 @@ msgstr "Autoriser le chevauchement" #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_search msgid "Archived" -msgstr "" +msgstr "Archivé" #. module: date_range #: model:ir.actions.server,name:date_range.ir_cron_autocreate_ir_actions_server @@ -197,7 +197,7 @@ msgstr "Durée" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "End Date" -msgstr "" +msgstr "Date de fin" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_end @@ -226,7 +226,7 @@ msgstr "Filtrer par période (champ technique)" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Generate" -msgstr "" +msgstr "Générer" #. module: date_range #: model:ir.actions.act_window,name:date_range.date_range_generator_action @@ -251,6 +251,7 @@ msgstr "ID" #: model:ir.model.fields,help:date_range.field_date_range_type__allow_overlap msgid "If set, date ranges of same type must not overlap." msgstr "" +"Si coché, les plages de dates du même type ne doivent pas se chevaucher." #. module: date_range #. odoo-python @@ -356,7 +357,7 @@ msgstr "Plage" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "Start Date" -msgstr "" +msgstr "Date de début" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_start @@ -393,11 +394,6 @@ msgstr "Le champ actif permet de masquer la plage de dates sans la supprimer." msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Nom du type" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -417,6 +413,8 @@ msgid "" "You cannot change the company, as this Date Range Type is assigned to Date " "Range '%s'." msgstr "" +"Vous ne pouvez changer la société, car ce type de plage de date est assigné " +"à la plage de date « %s »." #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__3 @@ -462,6 +460,9 @@ msgstr "semaines" msgid "years" msgstr "années" +#~ msgid "Type Name" +#~ msgstr "Nom du type" + #~ msgid "Last Modified on" #~ msgstr "Dernière modification le" diff --git a/date_range/i18n/fr_CA.po b/date_range/i18n/fr_CA.po index 7fd971c..499b4e0 100644 --- a/date_range/i18n/fr_CA.po +++ b/date_range/i18n/fr_CA.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nom" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nom" diff --git a/date_range/i18n/fr_CH.po b/date_range/i18n/fr_CH.po index 6404ffc..a51c8a1 100644 --- a/date_range/i18n/fr_CH.po +++ b/date_range/i18n/fr_CH.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Type" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Type" + #~ msgid "Last Modified on" #~ msgstr "Dernière modification le" diff --git a/date_range/i18n/fr_FR.po b/date_range/i18n/fr_FR.po index d8fc285..0592ce7 100644 --- a/date_range/i18n/fr_FR.po +++ b/date_range/i18n/fr_FR.po @@ -387,11 +387,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Nom" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -456,6 +451,9 @@ msgstr "semaines" msgid "years" msgstr "années" +#~ msgid "Type Name" +#~ msgstr "Nom" + #~ msgid "Last Modified on" #~ msgstr "Dernière modification le" diff --git a/date_range/i18n/gl.po b/date_range/i18n/gl.po index 36150d1..aae645a 100644 --- a/date_range/i18n/gl.po +++ b/date_range/i18n/gl.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nome" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nome" + #~ msgid "Last Modified on" #~ msgstr "Modificado por última vez o" diff --git a/date_range/i18n/gl_ES.po b/date_range/i18n/gl_ES.po index 6e3d018..74c1013 100644 --- a/date_range/i18n/gl_ES.po +++ b/date_range/i18n/gl_ES.po @@ -381,11 +381,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/he.po b/date_range/i18n/he.po index 0584b31..d51f4d2 100644 --- a/date_range/i18n/he.po +++ b/date_range/i18n/he.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "סוג" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "שם" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "שם" + #~ msgid "Last Modified on" #~ msgstr "תאריך שינוי אחרון" diff --git a/date_range/i18n/hi.po b/date_range/i18n/hi.po index 788f3c2..5f8e81a 100644 --- a/date_range/i18n/hi.po +++ b/date_range/i18n/hi.po @@ -380,11 +380,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/hr.po b/date_range/i18n/hr.po index da3bdba..8207ac6 100644 --- a/date_range/i18n/hr.po +++ b/date_range/i18n/hr.po @@ -385,12 +385,6 @@ msgstr "Polje aktivan omogućuje sakrivanje raspona bez da ga brišete." msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ime" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -456,6 +450,10 @@ msgstr "tjedana" msgid "years" msgstr "godina" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ime" + #~ msgid "Last Modified on" #~ msgstr "Zadnje modificirano" diff --git a/date_range/i18n/hr_HR.po b/date_range/i18n/hr_HR.po index b964fbc..fc9e896 100644 --- a/date_range/i18n/hr_HR.po +++ b/date_range/i18n/hr_HR.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Naziv" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -452,5 +446,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Naziv" + #~ msgid "Last Modified on" #~ msgstr "Zadnje modificirano" diff --git a/date_range/i18n/hu.po b/date_range/i18n/hu.po index 6fb14a4..e33377c 100644 --- a/date_range/i18n/hu.po +++ b/date_range/i18n/hu.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Típus" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Név" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Név" + #~ msgid "Last Modified on" #~ msgstr "Utolsó frissítés dátuma" diff --git a/date_range/i18n/id.po b/date_range/i18n/id.po index 88c53f5..edb29ae 100644 --- a/date_range/i18n/id.po +++ b/date_range/i18n/id.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Jenis" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nama" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nama" + #~ msgid "Last Modified on" #~ msgstr "Terakhir Dimodifikasi pada" diff --git a/date_range/i18n/it.po b/date_range/i18n/it.po index 305d6eb..fc8773a 100644 --- a/date_range/i18n/it.po +++ b/date_range/i18n/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-01 02:44+0000\n" -"PO-Revision-Date: 2024-02-14 10:38+0000\n" +"PO-Revision-Date: 2024-08-30 10:06+0000\n" "Last-Translator: mymage \n" "Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" "Language: it\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.17\n" +"X-Generator: Weblate 5.6.2\n" #. module: date_range #. odoo-python @@ -203,7 +203,7 @@ msgstr "Data fine" #: model:ir.model.fields,field_description:date_range.field_date_range__date_end #: model:ir.model.fields,field_description:date_range.field_date_range_generator__date_end msgid "End date" -msgstr "Data finale" +msgstr "Data fine" #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_generator__name_expr @@ -326,7 +326,8 @@ msgstr "Inserire la data fine o il numero di intervalli da generare." #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Please set a prefix or an expression to generate the range names." -msgstr "Impostare un prefisso o una espressione per generare i nomi intervallo." +msgstr "" +"Impostare un prefisso o una espressione per generare i nomi intervallo." #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__range_name_preview @@ -393,11 +394,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Nome tipo" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -464,6 +460,9 @@ msgstr "settimane" msgid "years" msgstr "anni" +#~ msgid "Type Name" +#~ msgstr "Nome tipo" + #~ msgid "Last Modified on" #~ msgstr "Ultima modifica il" diff --git a/date_range/i18n/ja.po b/date_range/i18n/ja.po index 84ee5ff..eabc69d 100644 --- a/date_range/i18n/ja.po +++ b/date_range/i18n/ja.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "タイプ" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "名称" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "名称" + #~ msgid "Last Modified on" #~ msgstr "最終更新日" diff --git a/date_range/i18n/ko.po b/date_range/i18n/ko.po index 8bfded8..8a586b0 100644 --- a/date_range/i18n/ko.po +++ b/date_range/i18n/ko.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "유형" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "이름" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "이름" + #~ msgid "Last Modified on" #~ msgstr "최근 수정" diff --git a/date_range/i18n/lo.po b/date_range/i18n/lo.po index 7f22a07..0d4db5d 100644 --- a/date_range/i18n/lo.po +++ b/date_range/i18n/lo.po @@ -380,11 +380,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/lt.po b/date_range/i18n/lt.po index 7157d1f..f18b0d6 100644 --- a/date_range/i18n/lt.po +++ b/date_range/i18n/lt.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipas" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Pavadinimas" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Pavadinimas" + #~ msgid "Last Modified on" #~ msgstr "Paskutinį kartą keista" diff --git a/date_range/i18n/lt_LT.po b/date_range/i18n/lt_LT.po index 8059a04..957c426 100644 --- a/date_range/i18n/lt_LT.po +++ b/date_range/i18n/lt_LT.po @@ -382,11 +382,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/lv.po b/date_range/i18n/lv.po index 218fd01..159694a 100644 --- a/date_range/i18n/lv.po +++ b/date_range/i18n/lv.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tips" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nosaukums" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nosaukums" diff --git a/date_range/i18n/mk.po b/date_range/i18n/mk.po index 5149856..19f5207 100644 --- a/date_range/i18n/mk.po +++ b/date_range/i18n/mk.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Тип" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Име" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Име" + #~ msgid "Last Modified on" #~ msgstr "Последна промена на" diff --git a/date_range/i18n/mn.po b/date_range/i18n/mn.po index 9dc20a5..4965de8 100644 --- a/date_range/i18n/mn.po +++ b/date_range/i18n/mn.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Төрөл" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Нэр" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Нэр" + #~ msgid "Last Modified on" #~ msgstr "Сүүлийн засвар хийсэн огноо" diff --git a/date_range/i18n/nb.po b/date_range/i18n/nb.po index 29838e1..e3143f2 100644 --- a/date_range/i18n/nb.po +++ b/date_range/i18n/nb.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Navn" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Navn" + #~ msgid "Last Modified on" #~ msgstr "Sist oppdatert " diff --git a/date_range/i18n/nb_NO.po b/date_range/i18n/nb_NO.po index 23ec513..5983950 100644 --- a/date_range/i18n/nb_NO.po +++ b/date_range/i18n/nb_NO.po @@ -381,11 +381,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time diff --git a/date_range/i18n/nl.po b/date_range/i18n/nl.po index 65f21fb..8684b61 100644 --- a/date_range/i18n/nl.po +++ b/date_range/i18n/nl.po @@ -387,12 +387,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Naam" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -457,6 +451,10 @@ msgstr "weken" msgid "years" msgstr "jaren" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Naam" + #~ msgid "Last Modified on" #~ msgstr "Laatst bijgewerkt op" diff --git a/date_range/i18n/nl_BE.po b/date_range/i18n/nl_BE.po index 2917c78..9e4bad4 100644 --- a/date_range/i18n/nl_BE.po +++ b/date_range/i18n/nl_BE.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Naam:" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Naam:" + #~ msgid "Last Modified on" #~ msgstr "Laatst Aangepast op" diff --git a/date_range/i18n/nl_NL.po b/date_range/i18n/nl_NL.po index a35e909..3768aae 100644 --- a/date_range/i18n/nl_NL.po +++ b/date_range/i18n/nl_NL.po @@ -402,11 +402,6 @@ msgstr "" msgid "Type" msgstr "Type" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Type Naam" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -474,6 +469,9 @@ msgstr "weken" msgid "years" msgstr "jaren" +#~ msgid "Type Name" +#~ msgstr "Type Naam" + #~ msgid "Last Modified on" #~ msgstr "Laatst gewijzigd op" diff --git a/date_range/i18n/pl.po b/date_range/i18n/pl.po index 85a1809..9d67de3 100644 --- a/date_range/i18n/pl.po +++ b/date_range/i18n/pl.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Typ" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nazwa" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -452,5 +446,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nazwa" + #~ msgid "Last Modified on" #~ msgstr "Ostatnio modyfikowano" diff --git a/date_range/i18n/pt.po b/date_range/i18n/pt.po index da6d276..9282f99 100644 --- a/date_range/i18n/pt.po +++ b/date_range/i18n/pt.po @@ -382,11 +382,6 @@ msgstr "O campo Ativo permite-lhe esconder o período sem o remover." msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "Nome do Tipo" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,6 +446,9 @@ msgstr "semanas" msgid "years" msgstr "anos" +#~ msgid "Type Name" +#~ msgstr "Nome do Tipo" + #~ msgid "Last Modified on" #~ msgstr "Modificado a última vez por" diff --git a/date_range/i18n/pt_BR.po b/date_range/i18n/pt_BR.po index f47e6f4..f572da3 100644 --- a/date_range/i18n/pt_BR.po +++ b/date_range/i18n/pt_BR.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nome" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -453,6 +447,10 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nome" + #~ msgid "Last Modified on" #~ msgstr "Última atualização em" diff --git a/date_range/i18n/pt_PT.po b/date_range/i18n/pt_PT.po index b5343d9..49a8e35 100644 --- a/date_range/i18n/pt_PT.po +++ b/date_range/i18n/pt_PT.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tipo" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nome" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nome" + #~ msgid "Last Modified on" #~ msgstr "Última Modificação em" diff --git a/date_range/i18n/ro.po b/date_range/i18n/ro.po index 3a7e729..d2be198 100644 --- a/date_range/i18n/ro.po +++ b/date_range/i18n/ro.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Nume" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Nume" + #~ msgid "Last Modified on" #~ msgstr "Ultima actualizare în" diff --git a/date_range/i18n/ru.po b/date_range/i18n/ru.po index 6c48213..b5bb9de 100644 --- a/date_range/i18n/ru.po +++ b/date_range/i18n/ru.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Тип" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Название" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,3 +445,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Название" diff --git a/date_range/i18n/sk.po b/date_range/i18n/sk.po index 062f946..44a483c 100644 --- a/date_range/i18n/sk.po +++ b/date_range/i18n/sk.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Typ" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Meno" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Meno" + #~ msgid "Last Modified on" #~ msgstr "Posledná modifikácia" diff --git a/date_range/i18n/sl.po b/date_range/i18n/sl.po index ba32174..3614841 100644 --- a/date_range/i18n/sl.po +++ b/date_range/i18n/sl.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Naziv" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Naziv" + #~ msgid "Last Modified on" #~ msgstr "Zadnjič spremenjeno" diff --git a/date_range/i18n/sr.po b/date_range/i18n/sr.po index db410ad..9290362 100644 --- a/date_range/i18n/sr.po +++ b/date_range/i18n/sr.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ime" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ime" diff --git a/date_range/i18n/sr@latin.po b/date_range/i18n/sr@latin.po index 95c3273..24466ef 100644 --- a/date_range/i18n/sr@latin.po +++ b/date_range/i18n/sr@latin.po @@ -382,12 +382,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ime:" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -452,5 +446,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ime:" + #~ msgid "Last Modified on" #~ msgstr "Zadnja izmjena" diff --git a/date_range/i18n/sv.po b/date_range/i18n/sv.po index 6068727..eeadd53 100644 --- a/date_range/i18n/sv.po +++ b/date_range/i18n/sv.po @@ -9,34 +9,35 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-01 02:44+0000\n" -"PO-Revision-Date: 2017-08-01 02:44+0000\n" -"Last-Translator: OCA Transbot , 2016\n" +"PO-Revision-Date: 2024-06-12 12:39+0000\n" +"Last-Translator: jakobkrabbe \n" "Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range.py:0 #, python-format msgid "%(name)s is not a valid range (%(date_start)s > %(date_end)s)" -msgstr "" +msgstr "%(name)s är inte ett giltigt intervall (%(date_start)s > %(date_end)s)" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range.py:0 #, python-format msgid "%(thisname)s overlaps %(dtname)s" -msgstr "" +msgstr "%(thisname)s överlappar %(dtname)s" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "&nbsp;" -msgstr "" +msgstr "& nbsp;" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form @@ -44,59 +45,61 @@ msgid "" ",\n" " or generate" msgstr "" +",\n" +" eller generera" #. module: date_range #: model:ir.model.constraint,message:date_range.constraint_date_range_date_range_uniq msgid "A date range must be unique per company !" -msgstr "" +msgstr "Ett datumintervall måste vara unikt för varje företag!" #. module: date_range #: model:ir.model.constraint,message:date_range.constraint_date_range_type_date_range_type_uniq msgid "A date range type must be unique per company !" -msgstr "" +msgstr "En datumintervalltyp måste vara unik för varje företag!" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__active #: model:ir.model.fields,field_description:date_range.field_date_range_type__active msgid "Active" -msgstr "" +msgstr "Aktiv" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__allow_overlap msgid "Allow Overlap" -msgstr "" +msgstr "Tillåt överlappning" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_form_view #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_search msgid "Archived" -msgstr "" +msgstr "Arkiverad" #. module: date_range #: model:ir.actions.server,name:date_range.ir_cron_autocreate_ir_actions_server msgid "Auto-generate date ranges" -msgstr "" +msgstr "Autogenererade datumintervall" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Auto-generation settings" -msgstr "" +msgstr "Inställningar för autogenerering" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_count msgid "Autogeneration Count" -msgstr "" +msgstr "Autogeneration Räkna" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_date_start msgid "Autogeneration Start Date" -msgstr "" +msgstr "Startdatum för autogenerering" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_unit msgid "Autogeneration Unit" -msgstr "" +msgstr "Enhet för autogenerering" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form @@ -109,17 +112,17 @@ msgstr "Avbryt" #: model:ir.model.fields,field_description:date_range.field_date_range_type__company_id #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "Company" -msgstr "" +msgstr "Företag" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Configuration" -msgstr "" +msgstr "Konfiguration" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Create" -msgstr "" +msgstr "Skapa" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__create_uid @@ -138,45 +141,45 @@ msgstr "Skapad den" #. module: date_range #: model:ir.model,name:date_range.model_date_range msgid "Date Range" -msgstr "" +msgstr "Datumintervall" #. module: date_range #: model:ir.model,name:date_range.model_date_range_generator msgid "Date Range Generator" -msgstr "" +msgstr "Generator för datumintervall" #. module: date_range #: model:ir.model,name:date_range.model_date_range_type #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Date Range Type" -msgstr "" +msgstr "Typ av datumintervall" #. module: date_range #: model:ir.actions.act_window,name:date_range.date_range_type_action #: model:ir.ui.menu,name:date_range.menu_date_range_type_action msgid "Date Range Types" -msgstr "" +msgstr "Typer av datumintervall" #. module: date_range #: model:ir.actions.act_window,name:date_range.date_range_action #: model:ir.ui.menu,name:date_range.menu_date_range_action msgid "Date Ranges" -msgstr "" +msgstr "Datumintervall" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__date_ranges_exist msgid "Date Ranges Exist" -msgstr "" +msgstr "Datumintervall existerar" #. module: date_range #: model:ir.ui.menu,name:date_range.menu_date_range msgid "Date ranges" -msgstr "" +msgstr "Datumintervall" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Defaults for generating date ranges" -msgstr "" +msgstr "Standardvärden för generering av datumintervall" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__display_name @@ -189,18 +192,18 @@ msgstr "Visa namn" #: model:ir.model.fields,field_description:date_range.field_date_range_generator__duration_count #: model:ir.model.fields,field_description:date_range.field_date_range_type__duration_count msgid "Duration" -msgstr "" +msgstr "Varaktighet" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "End Date" -msgstr "" +msgstr "Slutdatum" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_end #: model:ir.model.fields,field_description:date_range.field_date_range_generator__date_end msgid "End date" -msgstr "" +msgstr "Slutdatum" #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_generator__name_expr @@ -210,28 +213,31 @@ msgid "" "You can use the Date types 'date_end' and 'date_start', as well as the " "'index' variable." msgstr "" +"Utvärderat uttryck. T.ex. \"'FY%s' % date_start.strftime('%Y%m%d')\"\n" +"Du kan använda datumtyperna 'date_end' och 'date_start' samt variabeln " +"'index'." #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_search_mixin__date_range_search_id msgid "Filter by period (technical field)" -msgstr "" +msgstr "Filtrera efter period (tekniskt område)" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Generate" -msgstr "" +msgstr "Generera" #. module: date_range #: model:ir.actions.act_window,name:date_range.date_range_generator_action #: model:ir.ui.menu,name:date_range.menu_date_range_generator_action #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Generate Date Ranges" -msgstr "" +msgstr "Generera datumintervall" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Generation" -msgstr "" +msgstr "Generation" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__id @@ -244,13 +250,14 @@ msgstr "ID" #: model:ir.model.fields,help:date_range.field_date_range_type__allow_overlap msgid "If set, date ranges of same type must not overlap." msgstr "" +"Om den är inställd får datumintervall av samma typ inte överlappa varandra." #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Invalid name expression: %s" -msgstr "" +msgstr "Ogiltigt namnuttryck: %s" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__write_uid @@ -269,7 +276,7 @@ msgstr "Senast uppdaterad" #. module: date_range #: model:ir.model,name:date_range.model_date_range_search_mixin msgid "Mixin class to add a Many2one style period search field" -msgstr "" +msgstr "Mixin-klass för att lägga till ett periodsökfält i Many2one-stil" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__name @@ -282,77 +289,77 @@ msgstr "Namn" #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "No ranges to generate with these settings" -msgstr "" +msgstr "Inga intervall att generera med dessa inställningar" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__count msgid "Number of ranges to generate" -msgstr "" +msgstr "Antal intervall som ska genereras" #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_type__autogeneration_date_start msgid "Only applies when there are no date ranges of this type yet" -msgstr "" +msgstr "Gäller endast om det ännu inte finns några datumintervall av denna typ" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Parameters" -msgstr "" +msgstr "Parametrar" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range_search_mixin.py:0 #, python-format msgid "Period" -msgstr "" +msgstr "Period" #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Please enter an end date, or the number of ranges to generate." -msgstr "" +msgstr "Ange ett slutdatum eller antalet intervall som ska genereras." #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Please set a prefix or an expression to generate the range names." -msgstr "" +msgstr "Ange ett prefix eller ett uttryck för att generera intervallnamnen." #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__range_name_preview #: model:ir.model.fields,field_description:date_range.field_date_range_type__range_name_preview msgid "Range Name Preview" -msgstr "" +msgstr "Förhandsgranskning av intervallnamn" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__name_expr #: model:ir.model.fields,field_description:date_range.field_date_range_type__name_expr msgid "Range name expression" -msgstr "" +msgstr "Uttryck för intervallets namn" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__name_prefix #: model:ir.model.fields,field_description:date_range.field_date_range_type__name_prefix msgid "Range name prefix" -msgstr "" +msgstr "Prefix för intervallnamn" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__date_range_ids msgid "Ranges" -msgstr "" +msgstr "Intervall" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "Start Date" -msgstr "" +msgstr "Startdatum" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_start #: model:ir.model.fields,field_description:date_range.field_date_range_generator__date_start msgid "Start date" -msgstr "" +msgstr "Startdatum" #. module: date_range #. odoo-python @@ -362,17 +369,21 @@ msgid "" "The Company in the Date Range Generator and in Date Range Type must be the " "same." msgstr "" +"Företaget i Datumintervallgenerator och i Datumintervalltyp måste vara " +"detsamma." #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_type__active msgid "" "The active field allows you to hide the date range type without removing it." msgstr "" +"Med det aktiva fältet kan du dölja datumintervalltypen utan att ta bort den." #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range__active msgid "The active field allows you to hide the date range without removing it." msgstr "" +"Med det aktiva fältet kan du dölja datumintervallet utan att ta bort det." #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__type_id @@ -380,22 +391,16 @@ msgstr "" msgid "Type" msgstr "Typ" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Namn" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time msgid "Unit Of Time" -msgstr "" +msgstr "Tidsenhet" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Until" -msgstr "" +msgstr "Fram till" #. module: date_range #. odoo-python @@ -405,50 +410,56 @@ msgid "" "You cannot change the company, as this Date Range Type is assigned to Date " "Range '%s'." msgstr "" +"Du kan inte ändra företaget, eftersom denna datumintervallstyp är tilldelad " +"datumintervallet \"%s\"." #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__3 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__autogeneration_unit__3 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__3 msgid "days" -msgstr "" +msgstr "dagar" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "entries." -msgstr "" +msgstr "poster." #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "in advance" -msgstr "" +msgstr "i förväg" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__1 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__autogeneration_unit__1 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__1 msgid "months" -msgstr "" +msgstr "månader" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "or enter a complex expression below" -msgstr "" +msgstr "eller ange ett komplext uttryck nedan" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__2 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__autogeneration_unit__2 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__2 msgid "weeks" -msgstr "" +msgstr "veckor" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__0 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__autogeneration_unit__0 #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" -msgstr "" +msgstr "år" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Namn" #~ msgid "Last Modified on" #~ msgstr "Senast redigerad" diff --git a/date_range/i18n/th.po b/date_range/i18n/th.po index c0552fa..d950c9d 100644 --- a/date_range/i18n/th.po +++ b/date_range/i18n/th.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "ชนิด" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "ชื่อ" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "ชื่อ" + #~ msgid "Last Modified on" #~ msgstr "แก้ไขครั้งสุดท้ายเมื่อ" diff --git a/date_range/i18n/tr.po b/date_range/i18n/tr.po index 44b483b..fd8f420 100644 --- a/date_range/i18n/tr.po +++ b/date_range/i18n/tr.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Tür" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Adı" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Adı" + #~ msgid "Last Modified on" #~ msgstr "Son değişiklik" diff --git a/date_range/i18n/tr_TR.po b/date_range/i18n/tr_TR.po index 1c9bb34..ca12e68 100644 --- a/date_range/i18n/tr_TR.po +++ b/date_range/i18n/tr_TR.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Tip" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Ad" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Ad" + #~ msgid "Last Modified on" #~ msgstr "En son güncelleme tarihi" diff --git a/date_range/i18n/uk.po b/date_range/i18n/uk.po index 3eb3b03..deb597a 100644 --- a/date_range/i18n/uk.po +++ b/date_range/i18n/uk.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "Тип" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Name" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Name" + #~ msgid "Last Modified on" #~ msgstr "Остання модифікація" diff --git a/date_range/i18n/vi.po b/date_range/i18n/vi.po index 63517ab..38d19a7 100644 --- a/date_range/i18n/vi.po +++ b/date_range/i18n/vi.po @@ -380,12 +380,6 @@ msgstr "" msgid "Type" msgstr "Loại" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Tên" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,5 +444,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Tên" + #~ msgid "Last Modified on" #~ msgstr "Sửa lần cuối vào" diff --git a/date_range/i18n/vi_VN.po b/date_range/i18n/vi_VN.po index c0df7fa..2e1b234 100644 --- a/date_range/i18n/vi_VN.po +++ b/date_range/i18n/vi_VN.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "Tên" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -450,3 +444,7 @@ msgstr "" #: model:ir.model.fields.selection,name:date_range.selection__date_range_type__unit_of_time__0 msgid "years" msgstr "" + +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "Tên" diff --git a/date_range/i18n/zh_CN.po b/date_range/i18n/zh_CN.po index bb40c30..92df265 100644 --- a/date_range/i18n/zh_CN.po +++ b/date_range/i18n/zh_CN.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-01 02:44+0000\n" -"PO-Revision-Date: 2020-03-21 15:14+0000\n" -"Last-Translator: Dong \n" +"PO-Revision-Date: 2024-08-27 12:06+0000\n" +"Last-Translator: xtanuiha \n" "Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" "zh_CN/)\n" "Language: zh_CN\n" @@ -18,27 +18,27 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 3.10\n" +"X-Generator: Weblate 5.6.2\n" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range.py:0 #, python-format msgid "%(name)s is not a valid range (%(date_start)s > %(date_end)s)" -msgstr "" +msgstr "%(name)s不是有效的范围(%(date_start)s > %(date_end)s)" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range.py:0 #, python-format msgid "%(thisname)s overlaps %(dtname)s" -msgstr "" +msgstr "%(thisname)s与%(dtname)s重叠" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "&nbsp;" -msgstr "" +msgstr "&nbsp;" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form @@ -46,6 +46,8 @@ msgid "" ",\n" " or generate" msgstr "" +",\n" +" 或生成" #. module: date_range #: model:ir.model.constraint,message:date_range.constraint_date_range_date_range_uniq @@ -73,32 +75,32 @@ msgstr "允许重叠" #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_search msgid "Archived" -msgstr "" +msgstr "已归档" #. module: date_range #: model:ir.actions.server,name:date_range.ir_cron_autocreate_ir_actions_server msgid "Auto-generate date ranges" -msgstr "" +msgstr "自动生成日期范围" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Auto-generation settings" -msgstr "" +msgstr "自动生成设置" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_count msgid "Autogeneration Count" -msgstr "" +msgstr "自动生成数量" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_date_start msgid "Autogeneration Start Date" -msgstr "" +msgstr "自动生成开始日期" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__autogeneration_unit msgid "Autogeneration Unit" -msgstr "" +msgstr "自动生成单位" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form @@ -116,12 +118,12 @@ msgstr "公司" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Configuration" -msgstr "" +msgstr "配置" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Create" -msgstr "" +msgstr "创建" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__create_uid @@ -168,7 +170,7 @@ msgstr "日期范围" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_type__date_ranges_exist msgid "Date Ranges Exist" -msgstr "" +msgstr "日期范围已存在" #. module: date_range #: model:ir.ui.menu,name:date_range.menu_date_range @@ -178,7 +180,7 @@ msgstr "日期范围" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Defaults for generating date ranges" -msgstr "" +msgstr "生成日期范围的默认设置" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__display_name @@ -196,7 +198,7 @@ msgstr "持续时间" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "End Date" -msgstr "" +msgstr "结束日期" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_end @@ -212,16 +214,18 @@ msgid "" "You can use the Date types 'date_end' and 'date_start', as well as the " "'index' variable." msgstr "" +"评估表达式。例如:\"'FY%s' % date_start.strftime('%Y%m%d')\"\n" +"你可以使用日期类型 'date_end' 和 'date_start',以及 'index' 变量。" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_search_mixin__date_range_search_id msgid "Filter by period (technical field)" -msgstr "" +msgstr "按周期过滤(技术字段)" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Generate" -msgstr "" +msgstr "生成" #. module: date_range #: model:ir.actions.act_window,name:date_range.date_range_generator_action @@ -233,7 +237,7 @@ msgstr "生成日期范围" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "Generation" -msgstr "" +msgstr "生成" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__id @@ -245,14 +249,14 @@ msgstr "ID" #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_type__allow_overlap msgid "If set, date ranges of same type must not overlap." -msgstr "" +msgstr "如果设置,相同类型的日期范围不得重叠。" #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Invalid name expression: %s" -msgstr "" +msgstr "无效的名称表达式:%s" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__write_uid @@ -271,7 +275,7 @@ msgstr "最后更新时间" #. module: date_range #: model:ir.model,name:date_range.model_date_range_search_mixin msgid "Mixin class to add a Many2one style period search field" -msgstr "" +msgstr "混合类,用于添加Many2one风格的周期搜索字段" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__name @@ -284,7 +288,7 @@ msgstr "名称" #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "No ranges to generate with these settings" -msgstr "" +msgstr "这些设置下没有范围可以生成" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__count @@ -294,45 +298,45 @@ msgstr "要生成的范围数" #. module: date_range #: model:ir.model.fields,help:date_range.field_date_range_type__autogeneration_date_start msgid "Only applies when there are no date ranges of this type yet" -msgstr "" +msgstr "仅在尚未有此类日期范围时适用" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Parameters" -msgstr "" +msgstr "参数" #. module: date_range #. odoo-python #: code:addons/date_range/models/date_range_search_mixin.py:0 #, python-format msgid "Period" -msgstr "" +msgstr "周期" #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Please enter an end date, or the number of ranges to generate." -msgstr "" +msgstr "请输入结束日期,或要生成的范围数量。" #. module: date_range #. odoo-python #: code:addons/date_range/wizard/date_range_generator.py:0 #, python-format msgid "Please set a prefix or an expression to generate the range names." -msgstr "" +msgstr "请设置一个前缀或表达式来生成范围名称。" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__range_name_preview #: model:ir.model.fields,field_description:date_range.field_date_range_type__range_name_preview msgid "Range Name Preview" -msgstr "" +msgstr "范围名称预览" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__name_expr #: model:ir.model.fields,field_description:date_range.field_date_range_type__name_expr msgid "Range name expression" -msgstr "" +msgstr "范围名称表达式" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__name_prefix @@ -348,7 +352,7 @@ msgstr "范围" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_search msgid "Start Date" -msgstr "" +msgstr "开始日期" #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range__date_start @@ -382,11 +386,6 @@ msgstr "活动字段允许您隐藏日期范围而不删除它。" msgid "Type" msgstr "类型" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -msgid "Type Name" -msgstr "类型名称" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -396,7 +395,7 @@ msgstr "单位时间" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "Until" -msgstr "" +msgstr "直到" #. module: date_range #. odoo-python @@ -405,7 +404,7 @@ msgstr "" msgid "" "You cannot change the company, as this Date Range Type is assigned to Date " "Range '%s'." -msgstr "" +msgstr "您不能更改公司,因为此日期范围类型已分配给日期范围'%s'。" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__3 @@ -417,12 +416,12 @@ msgstr "天" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form msgid "entries." -msgstr "" +msgstr "条目。" #. module: date_range #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "in advance" -msgstr "" +msgstr "提前" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__1 @@ -435,7 +434,7 @@ msgstr "月" #: model_terms:ir.ui.view,arch_db:date_range.date_range_generator_view_form #: model_terms:ir.ui.view,arch_db:date_range.view_date_range_type_form_view msgid "or enter a complex expression below" -msgstr "" +msgstr "或在下方输入一个复杂表达式" #. module: date_range #: model:ir.model.fields.selection,name:date_range.selection__date_range_generator__unit_of_time__2 @@ -451,6 +450,9 @@ msgstr "周" msgid "years" msgstr "年" +#~ msgid "Type Name" +#~ msgstr "类型名称" + #~ msgid "Last Modified on" #~ msgstr "最后修改时间" diff --git a/date_range/i18n/zh_TW.po b/date_range/i18n/zh_TW.po index 66ca421..1734ecf 100644 --- a/date_range/i18n/zh_TW.po +++ b/date_range/i18n/zh_TW.po @@ -381,12 +381,6 @@ msgstr "" msgid "Type" msgstr "類型" -#. module: date_range -#: model:ir.model.fields,field_description:date_range.field_date_range__type_name -#, fuzzy -msgid "Type Name" -msgstr "名稱" - #. module: date_range #: model:ir.model.fields,field_description:date_range.field_date_range_generator__unit_of_time #: model:ir.model.fields,field_description:date_range.field_date_range_type__unit_of_time @@ -451,5 +445,9 @@ msgstr "" msgid "years" msgstr "" +#, fuzzy +#~ msgid "Type Name" +#~ msgstr "名稱" + #~ msgid "Last Modified on" #~ msgstr "最後修改:" diff --git a/date_range/models/date_range.py b/date_range/models/date_range.py index e885cf8..4778e5d 100644 --- a/date_range/models/date_range.py +++ b/date_range/models/date_range.py @@ -8,7 +8,7 @@ from flectra.exceptions import ValidationError class DateRange(models.Model): _name = "date.range" _description = "Date Range" - _order = "type_name, date_start" + _order = "type_id, date_start" _check_company_auto = True @api.model @@ -27,7 +27,6 @@ class DateRange(models.Model): domain="['|', ('company_id', '=', company_id), ('company_id', '=', False)]", check_company=True, ) - type_name = fields.Char(related="type_id.name", store=True, string="Type Name") company_id = fields.Many2one( comodel_name="res.company", string="Company", index=1, default=_default_company ) diff --git a/date_range/models/date_range_type.py b/date_range/models/date_range_type.py index a81df01..0fcc0c7 100644 --- a/date_range/models/date_range_type.py +++ b/date_range/models/date_range_type.py @@ -12,6 +12,7 @@ from flectra.exceptions import ValidationError class DateRangeType(models.Model): _name = "date.range.type" _description = "Date Range Type" + _order = "name,id" @api.model def _default_company(self): diff --git a/date_range/static/description/index.html b/date_range/static/description/index.html index f36b4ee..9b2877c 100644 --- a/date_range/static/description/index.html +++ b/date_range/static/description/index.html @@ -366,7 +366,7 @@ ul.auto-toc { !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:4a5d9626a193262b4f9f2a22604b7a5b9b800c93364dd0a947b9f93c60728ecb +!! source digest: sha256:bef360f14e07013cc293245f850d87fd6cfd11edbb6f8384310c65afc5f86b0a !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

    Mature License: LGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

    This module lets you define global date ranges that can be used to diff --git a/date_range/views/date_range_view.xml b/date_range/views/date_range_view.xml index 25a22a4..e385d85 100644 --- a/date_range/views/date_range_view.xml +++ b/date_range/views/date_range_view.xml @@ -29,7 +29,7 @@ name="web_ribbon" title="Archived" bg_color="bg-danger" - invisible="not active" + invisible="active" /> diff --git a/multi_step_wizard/COPYRIGHT b/multi_step_wizard/COPYRIGHT new file mode 100644 index 0000000..75a577d --- /dev/null +++ b/multi_step_wizard/COPYRIGHT @@ -0,0 +1,16 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2019 Brainbean Apps (https://brainbeanapps.com) + Copyright 2019 Camptocamp SA + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/multi_step_wizard/LICENSE b/multi_step_wizard/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/multi_step_wizard/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/multi_step_wizard/README.rst b/multi_step_wizard/README.rst new file mode 100644 index 0000000..2005eca --- /dev/null +++ b/multi_step_wizard/README.rst @@ -0,0 +1,175 @@ +=================== +Multi-Steps Wizards +=================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:60da2ae2647bd104667af695a6ab276dbddb348c878d83605a6617dc66b3c28f + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/multi_step_wizard + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-multi_step_wizard + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module is a base for creating multi-steps wizards. It does nothing +by itself. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Example of class: + +.. code:: python + + class MyWizard(models.TransientModel): + _name = 'my.wizard' + _inherit = ['multi.step.wizard.mixin'] + + project_id = fields.Many2one( + comodel_name='project.project', + name="Project", + required=True, + ondelete='cascade', + default=lambda self: self._default_project_id(), + ) + name = fields.Char() + field1 = fields.Char() + field2 = fields.Char() + field3 = fields.Char() + + @api.model + def _selection_state(self): + return [ + ('start', 'Start'), + ('configure', 'Configure'), + ('custom', 'Customize'), + ('final', 'Final'), + ] + + @api.model + def _default_project_id(self): + return self.env.context.get('active_id') + + def state_exit_start(self): + self.state = 'configure' + + def state_exit_configure(self): + self.state = 'custom' + + def state_exit_custom(self): + self.state = 'final' + +Example of view (note the mode, must be primary): + +.. code:: xml + + + + + + my.wizard.form + my.wizard + primary + + + +

    + +

    + + + + + + + + + + + +
    +

    The project is now configured.

    +
    + + + + + + My Wizard + my.wizard + form + new + + form + + + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Camptocamp + +Contributors +------------ + +- Guewen Baconnier +- `CorporateHub `__ + + - Alexey Pelykh + +- Sunanda Chhatbar + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/multi_step_wizard/__init__.py b/multi_step_wizard/__init__.py new file mode 100644 index 0000000..4b76c7b --- /dev/null +++ b/multi_step_wizard/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/multi_step_wizard/__manifest__.py b/multi_step_wizard/__manifest__.py new file mode 100644 index 0000000..1cb7da7 --- /dev/null +++ b/multi_step_wizard/__manifest__.py @@ -0,0 +1,12 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Multi-Steps Wizards", + "version": "3.0.1.0.0", + "author": "Camptocamp,Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["base"], + "website": "https://gitlab.com/flectra-community/server-ux", + "data": ["views/multi_step_wizard_views.xml"], + "installable": True, +} diff --git a/multi_step_wizard/i18n/ca.po b/multi_step_wizard/i18n/ca.po new file mode 100644 index 0000000..46fb81d --- /dev/null +++ b/multi_step_wizard/i18n/ca.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-01-26 18:52+0000\n" +"Last-Translator: Jaume Planas \n" +"Language-Team: none\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "Permet enrera" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Cancel·la" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "Enrera" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "Mixin Assistent multipas" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Següent" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Estat" + +#~ msgid "Display Name" +#~ msgstr "nOM" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificació el" diff --git a/multi_step_wizard/i18n/de.po b/multi_step_wizard/i18n/de.po new file mode 100644 index 0000000..d475724 --- /dev/null +++ b/multi_step_wizard/i18n/de.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-06-01 08:31+0000\n" +"Last-Translator: John Herholz \n" +"Language-Team: none\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "Zurück erlauben" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "Zurück" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "Mehrstufiger Assistent Mixin" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Weiter" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Status" diff --git a/multi_step_wizard/i18n/es.po b/multi_step_wizard/i18n/es.po new file mode 100644 index 0000000..8c8a4c5 --- /dev/null +++ b/multi_step_wizard/i18n/es.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-11 15:33+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "Permitir Volver" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "Volver" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "Mezclador Asistente de Pasos Múltiples" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Siguiente" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Estado" diff --git a/multi_step_wizard/i18n/hr.po b/multi_step_wizard/i18n/hr.po new file mode 100644 index 0000000..ec3f367 --- /dev/null +++ b/multi_step_wizard/i18n/hr.po @@ -0,0 +1,75 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-12-04 12:04+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 3.9.1\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Odustani" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "Multi Steps Wizard Mixin" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Sljedeći" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Status" + +#~ msgid "Created by" +#~ msgstr "Kreirao" + +#~ msgid "Created on" +#~ msgstr "Kreirano" + +#~ msgid "Display Name" +#~ msgstr "Naziv" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnje modificirano" + +#~ msgid "Last Updated by" +#~ msgstr "Zadnje ažurirao" + +#~ msgid "Last Updated on" +#~ msgstr "Zadnje ažurirano" + +#~ msgid "Multi Step Wizard Test" +#~ msgstr "Čarobnjak sa više koraka Test" + +#~ msgid "Close" +#~ msgstr "Zatvori" diff --git a/multi_step_wizard/i18n/it.po b/multi_step_wizard/i18n/it.po new file mode 100644 index 0000000..ca947a4 --- /dev/null +++ b/multi_step_wizard/i18n/it.po @@ -0,0 +1,47 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-31 19:35+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "Consenti indietro" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Annulla" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "Indietro" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "Mixin procedura guidata passi multipli" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Successivo" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Stato" diff --git a/multi_step_wizard/i18n/multi_step_wizard.pot b/multi_step_wizard/i18n/multi_step_wizard.pot new file mode 100644 index 0000000..6ef7a0a --- /dev/null +++ b/multi_step_wizard/i18n/multi_step_wizard.pot @@ -0,0 +1,44 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "" diff --git a/multi_step_wizard/i18n/nl.po b/multi_step_wizard/i18n/nl.po new file mode 100644 index 0000000..ddad885 --- /dev/null +++ b/multi_step_wizard/i18n/nl.po @@ -0,0 +1,68 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-11-25 14:51+0000\n" +"Last-Translator: Dennis Sluijk \n" +"Language-Team: none\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "Teruggaan Toelaten" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "Annuleer" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "Ga Terug" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "Volgende" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "Status" + +#~ msgid "Created by" +#~ msgstr "Aangemaakt door" + +#~ msgid "Created on" +#~ msgstr "Aangemaakt op" + +#~ msgid "Display Name" +#~ msgstr "Schermnaam" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "Laatst gewijzigd op" + +#~ msgid "Last Updated by" +#~ msgstr "Laatst bijgewerkt door" + +#~ msgid "Last Updated on" +#~ msgstr "Laatst bijgewerkt op" diff --git a/multi_step_wizard/i18n/zh_CN.po b/multi_step_wizard/i18n/zh_CN.po new file mode 100644 index 0000000..ea55a4a --- /dev/null +++ b/multi_step_wizard/i18n/zh_CN.po @@ -0,0 +1,74 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * multi_step_wizard +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-09-02 16:57+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__allow_back +msgid "Allow Back" +msgstr "" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Cancel" +msgstr "取消" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Go Back" +msgstr "" + +#. module: multi_step_wizard +#: model:ir.model,name:multi_step_wizard.model_multi_step_wizard_mixin +msgid "Multi Steps Wizard Mixin" +msgstr "多步骤向导混合" + +#. module: multi_step_wizard +#: model_terms:ir.ui.view,arch_db:multi_step_wizard.multi_step_wizard_form +msgid "Next" +msgstr "下一个" + +#. module: multi_step_wizard +#: model:ir.model.fields,field_description:multi_step_wizard.field_multi_step_wizard_mixin__state +msgid "State" +msgstr "状态" + +#~ msgid "Created by" +#~ msgstr "创建者" + +#~ msgid "Created on" +#~ msgstr "创建时间" + +#~ msgid "Display Name" +#~ msgstr "显示名称" + +#~ msgid "ID" +#~ msgstr "ID" + +#~ msgid "Last Modified on" +#~ msgstr "最后修改时间" + +#~ msgid "Last Updated by" +#~ msgstr "最后更新者" + +#~ msgid "Last Updated on" +#~ msgstr "最后更新时间" + +#~ msgid "Multi Step Wizard Test" +#~ msgstr "多步骤向导测试" + +#~ msgid "Close" +#~ msgstr "关闭" diff --git a/multi_step_wizard/models/__init__.py b/multi_step_wizard/models/__init__.py new file mode 100644 index 0000000..28c1e4f --- /dev/null +++ b/multi_step_wizard/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import multi_step_wizard diff --git a/multi_step_wizard/models/multi_step_wizard.py b/multi_step_wizard/models/multi_step_wizard.py new file mode 100644 index 0000000..35044db --- /dev/null +++ b/multi_step_wizard/models/multi_step_wizard.py @@ -0,0 +1,78 @@ +# Copyright 2019 Camptocamp SA +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +import logging + +from flectra import api, fields, models + +_logger = logging.getLogger(__name__) + + +class MultiStepWizard(models.AbstractModel): + """Mixin to ease the creation of multisteps wizards + + _selection_state must return all possible step of + the wizard. + + For each state but final, there must be a method named + "state_exit_X" where X is the name of the state. Each + of these method must set the next state in self.state. + + For each state but start, there may be a method named + "state_previous_X" where X is the name of the state. Each + of these method must set the next state in self.state. + + The final state has no related method because the view + should only display a button to close the wizard. + + open_next, open_previous and _reopen_self should not need to be + overidden, but _selection_state and state_exit_start + likely will need to. + + """ + + _name = "multi.step.wizard.mixin" + _description = "Multi Steps Wizard Mixin" + + state = fields.Selection( + selection="_selection_state", default="start", required=True + ) + + allow_back = fields.Boolean(compute="_compute_allow_back") + + @api.depends("state") + def _compute_allow_back(self): + for record in self: + record.allow_back = getattr( + record, "state_previous_%s" % record.state, False + ) + + @api.model + def _selection_state(self): + return [("start", "Start"), ("final", "Final")] + + def open_next(self): + state_method = getattr(self, f"state_exit_{self.state}", None) + if state_method is None: + raise NotImplementedError(f"No method defined for state {self.state}") + state_method() + return self._reopen_self() + + def open_previous(self): + state_method = getattr(self, f"state_previous_{self.state}", None) + if state_method is None: + raise NotImplementedError(f"No method defined for state {self.state}") + state_method() + return self._reopen_self() + + def _reopen_self(self): + return { + "type": "ir.actions.act_window", + "res_model": self._name, + "res_id": self.id, + "view_mode": "form", + "target": "new", + } + + def state_exit_start(self): + self.state = "final" diff --git a/multi_step_wizard/pyproject.toml b/multi_step_wizard/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/multi_step_wizard/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/multi_step_wizard/static/description/icon.png b/multi_step_wizard/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/multi_step_wizard/static/description/index.html b/multi_step_wizard/static/description/index.html new file mode 100644 index 0000000..6656fc4 --- /dev/null +++ b/multi_step_wizard/static/description/index.html @@ -0,0 +1,519 @@ + + + + + +Multi-Steps Wizards + + + +
    +

    Multi-Steps Wizards

    + + +

    Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

    +

    This module is a base for creating multi-steps wizards. It does nothing +by itself.

    +

    Table of contents

    + +
    +

    Usage

    +

    Example of class:

    +
    +class MyWizard(models.TransientModel):
    +    _name = 'my.wizard'
    +    _inherit = ['multi.step.wizard.mixin']
    +
    +    project_id = fields.Many2one(
    +        comodel_name='project.project',
    +        name="Project",
    +        required=True,
    +        ondelete='cascade',
    +        default=lambda self: self._default_project_id(),
    +    )
    +    name = fields.Char()
    +    field1 = fields.Char()
    +    field2 = fields.Char()
    +    field3 = fields.Char()
    +
    +    @api.model
    +    def _selection_state(self):
    +        return [
    +            ('start', 'Start'),
    +            ('configure', 'Configure'),
    +            ('custom', 'Customize'),
    +            ('final', 'Final'),
    +        ]
    +
    +    @api.model
    +    def _default_project_id(self):
    +        return self.env.context.get('active_id')
    +
    +    def state_exit_start(self):
    +        self.state = 'configure'
    +
    +    def state_exit_configure(self):
    +        self.state = 'custom'
    +
    +    def state_exit_custom(self):
    +        self.state = 'final'
    +
    +

    Example of view (note the mode, must be primary):

    +
    +<?xml version="1.0" encoding="utf-8"?>
    +<odoo>
    +
    +  <record id="my_wizard_form" model="ir.ui.view">
    +    <field name="name">my.wizard.form</field>
    +    <field name="model">my.wizard</field>
    +    <field name="mode">primary</field>
    +    <field name="inherit_id" ref="multi_step_wizard.multi_step_wizard_form"/>
    +    <field name="arch" type="xml">
    +      <xpath expr="//footer" position="before">
    +        <h1>
    +          <field name="name"
    +                readonly="state != 'start'"
    +                class="oe_inline"
    +                placeholder="Name"/>
    +        </h1>
    +        <group name="configure" invisible="state != 'configure'">
    +          <group>
    +            <field name="field1"/>
    +            <field name="field2"/>
    +          </group>
    +        </group>
    +        <group name="custom" invisible="state != 'custom'">
    +          <group>
    +            <field name="field3"/>
    +          </group>
    +        </group>
    +        <div name="final" invisible="state != 'final'">
    +          <p>The project is now configured.</p>
    +        </div>
    +      </xpath>
    +    </field>
    +  </record>
    +
    +  <record id="open_my_wizard" model="ir.actions.act_window">
    +      <field name="name">My Wizard</field>
    +      <field name="res_model">my.wizard</field>
    +      <field name="view_mode">form</field>
    +      <field name="target">new</field>
    +      <field name="binding_model_id" ref="project.model_project_project" />
    +      <field name="binding_view_types">form</field>
    +  </record>
    +</odoo>
    +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Camptocamp
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/server-ux project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/multi_step_wizard/tests/__init__.py b/multi_step_wizard/tests/__init__.py new file mode 100644 index 0000000..d161186 --- /dev/null +++ b/multi_step_wizard/tests/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import common +from . import test_multi_step_wizard diff --git a/multi_step_wizard/tests/common.py b/multi_step_wizard/tests/common.py new file mode 100644 index 0000000..3087db4 --- /dev/null +++ b/multi_step_wizard/tests/common.py @@ -0,0 +1,22 @@ +# Copyright 2019 Brainbean Apps (https://brainbeanapps.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra_test_helper import FakeModelLoader + +from flectra.tests import common + + +class CommonTestMultiStepWizard(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from .multi_step_wizard_test import MultiStepWizardTest + + cls.loader.update_registry((MultiStepWizardTest,)) + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + return super().tearDownClass() diff --git a/multi_step_wizard/tests/multi_step_wizard_test.py b/multi_step_wizard/tests/multi_step_wizard_test.py new file mode 100644 index 0000000..3322fac --- /dev/null +++ b/multi_step_wizard/tests/multi_step_wizard_test.py @@ -0,0 +1,13 @@ +# Copyright 2019 Brainbean Apps (https://brainbeanapps.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra import models + + +class MultiStepWizardTest(models.TransientModel): + _name = "multi.step.wizard.test" + _description = "Multi Step Wizard Test" + _inherit = "multi.step.wizard.mixin" + + def state_previous_final(self): + self.write({"state": "start"}) diff --git a/multi_step_wizard/tests/test_multi_step_wizard.py b/multi_step_wizard/tests/test_multi_step_wizard.py new file mode 100644 index 0000000..c0c2912 --- /dev/null +++ b/multi_step_wizard/tests/test_multi_step_wizard.py @@ -0,0 +1,23 @@ +# Copyright 2019 Brainbean Apps (https://brainbeanapps.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra.tests.common import tagged + +from .common import CommonTestMultiStepWizard + + +@tagged("post_install", "-at_install") +class TestMultiStepWizard(CommonTestMultiStepWizard): + def setUp(self): + super().setUp() + self.MultiStepWizard = self.env["multi.step.wizard.test"] + + def test_behavior(self): + wizard = self.MultiStepWizard.create({}) + wizard.open_next() + self.assertEqual(wizard.state, "final") + with self.assertRaises(NotImplementedError): + wizard.open_next() + self.assertTrue(wizard.allow_back) + wizard.open_previous() + self.assertEqual(wizard.state, "start") diff --git a/multi_step_wizard/views/multi_step_wizard_views.xml b/multi_step_wizard/views/multi_step_wizard_views.xml new file mode 100644 index 0000000..0b19828 --- /dev/null +++ b/multi_step_wizard/views/multi_step_wizard_views.xml @@ -0,0 +1,36 @@ + + + + multi.step.wizard.form + multi.step.wizard.mixin + +
    + + +
    +
    +
    +
    + +
    +
    +
    diff --git a/server_action_mass_edit/COPYRIGHT b/server_action_mass_edit/COPYRIGHT new file mode 100644 index 0000000..3df8ebd --- /dev/null +++ b/server_action_mass_edit/COPYRIGHT @@ -0,0 +1,18 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright (C) 2019 - Today: GRAP (http://www.grap.coop) + Copyright (C) 2020 Iván Todorovich (https://twitter.com/ivantodorovich) + Copyright 2016 Serpent Consulting Services Pvt. Ltd. (support@serpentcs.com) + Copyright 2018 Aitor Bouzas + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. \ No newline at end of file diff --git a/server_action_mass_edit/README.rst b/server_action_mass_edit/README.rst new file mode 100644 index 0000000..b09a4b3 --- /dev/null +++ b/server_action_mass_edit/README.rst @@ -0,0 +1,161 @@ +============ +Mass Editing +============ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:a91c225a06ba8d7292d92a9cf99286ed5e4128715d60e02589acaf1e09361aa0 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github + :target: https://github.com/OCA/server-ux/tree/17.0/server_action_mass_edit + :alt: OCA/server-ux +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/server-ux-17-0/server-ux-17-0-server_action_mass_edit + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/server-ux&target_branch=17.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to edit several records at the same time in any Odoo +model + +**Difference in comparison to the Odoo Feature** + +Since Odoo V13, a limited "mass Editing feature" is available in Odoo +CE. + +This module provides the following extra features that are not in the +Core for the time being: + +- Possibility to mass edit many fields in a single action +- Possibility to add a group to limit the usage of this function to + given people +- Possibility to filter the items the user can mass update +- Possibility to mass edit any fields with any widget. (For exemple + color fields, image fields, etc...) + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +- In developer mode, go to *Settings / Technical / Actions / Server + Actions* +- Create a new server action +- Name the server action (ie. *Product Template Category Mass Editing*) +- Choose Type *Mass Edit Records* +- Select the model +- Add the security groups allowed to use this action +- Add the fields you want to be mass edited + +|Configuration| + +- *Add Action*: Click on *Create Contextual Action* to add mass editing + in *Action* menu. + +**Options** + +- You can setup the widget option to be displayed (ie many2many_tags, + selection_image...) +- You can tick Apply Domain allowing you to limit the mass editing + action with a domain. +- You can add an extra message that will be displayed in the wizard. + +.. |Configuration| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing_form.png + +Usage +===== + +- *Go for Mass Editing*: select the records which you want to modify + and click on *Action* to open mass editing popup. + +|Action| + +- Select *Set / Remove* action and write down the value to set or + remove the value for the given field. + +|Wizard Form| + +- This way you can set / remove the values of the fields. + +|Wizard Result| + +.. |Action| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-item_tree.png +.. |Wizard Form| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-wizard_form.png +.. |Wizard Result| image:: https://raw.githubusercontent.com/OCA/server-ux/17.0/server_action_mass_edit/static/description/mass_editing-item_tree-result.png + +Known issues / Roadmap +====================== + +- Auto add fields that are used in related domains if apply_domain=True + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Serpent Consulting Services Pvt. Ltd. +* Tecnativa +* GRAP +* Iván Todorovich + +Contributors +------------ + +- Oihane Crucelaegui +- Serpent Consulting Services Pvt. Ltd. +- Jay Vora +- Juan Negrete +- Raul Martin +- Aitor Bouzas +- Sylvain LE GAL (https://twitter.com/legalsylvain) +- Iván Todorovich +- `Tecnativa `__ + + - Jairo Llopis + - Víctor Martínez + +- Tatiana Deribina + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/server-ux `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/server_action_mass_edit/__init__.py b/server_action_mass_edit/__init__.py new file mode 100644 index 0000000..9b42961 --- /dev/null +++ b/server_action_mass_edit/__init__.py @@ -0,0 +1,2 @@ +from . import models +from . import wizard diff --git a/server_action_mass_edit/__manifest__.py b/server_action_mass_edit/__manifest__.py new file mode 100644 index 0000000..9bdb706 --- /dev/null +++ b/server_action_mass_edit/__manifest__.py @@ -0,0 +1,30 @@ +# Copyright 2016 Serpent Consulting Services Pvt. Ltd. (support@serpentcs.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +{ + "name": "Mass Editing", + "version": "3.0.1.0.1", + "author": "Serpent Consulting Services Pvt. Ltd., " + "Tecnativa, " + "GRAP, " + "Iván Todorovich, " + "Odoo Community Association (OCA)", + "category": "Tools", + "website": "https://gitlab.com/flectra-community/server-ux", + "license": "AGPL-3", + "summary": "Mass Editing", + "depends": [ + "base", + ], + "data": [ + "security/ir.model.access.csv", + "views/ir_actions_server.xml", + "wizard/mass_editing_wizard.xml", + ], + "assets": { + "web.assets_backend": [ + "/server_action_mass_edit/static/src/js/record.esm.js", + "/server_action_mass_edit/static/src/js/static_list.esm.js", + ] + }, + "demo": ["demo/mass_editing.xml"], +} diff --git a/server_action_mass_edit/demo/mass_editing.xml b/server_action_mass_edit/demo/mass_editing.xml new file mode 100644 index 0000000..c9a3b15 --- /dev/null +++ b/server_action_mass_edit/demo/mass_editing.xml @@ -0,0 +1,79 @@ + + + + + + mass_edit + Mass Edit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image + + + + + + + + + mass_edit + Mass Edit + + + + + + + + + + + + diff --git a/server_action_mass_edit/i18n/am.po b/server_action_mass_edit/i18n/am.po new file mode 100644 index 0000000..c4538b4 --- /dev/null +++ b/server_action_mass_edit/i18n/am.po @@ -0,0 +1,290 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n" +"Language: am\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" diff --git a/server_action_mass_edit/i18n/ar.po b/server_action_mass_edit/i18n/ar.po new file mode 100644 index 0000000..1e6723a --- /dev/null +++ b/server_action_mass_edit/i18n/ar.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "أنشئ بواسطة" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "أنشئ في" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "اسم العرض" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "المعرف" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "آخر تحديث بواسطة" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "آخر تحديث في" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "النموذج" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "آخر تعديل في" + +#~ msgid "Name" +#~ msgstr "الاسم" diff --git a/server_action_mass_edit/i18n/bg.po b/server_action_mass_edit/i18n/bg.po new file mode 100644 index 0000000..6fcf1ff --- /dev/null +++ b/server_action_mass_edit/i18n/bg.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Създадено от" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Създадено на" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Име за показване" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Последно обновено от" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Последно обновено на" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Последно обновено на" + +#~ msgid "Name" +#~ msgstr "Име" diff --git a/server_action_mass_edit/i18n/bs.po b/server_action_mass_edit/i18n/bs.po new file mode 100644 index 0000000..e925638 --- /dev/null +++ b/server_action_mass_edit/i18n/bs.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Prikaži naziv" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnje mijenjano" + +#~ msgid "Name" +#~ msgstr "Naziv" diff --git a/server_action_mass_edit/i18n/ca.po b/server_action_mass_edit/i18n/ca.po new file mode 100644 index 0000000..2022d01 --- /dev/null +++ b/server_action_mass_edit/i18n/ca.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creat per" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creat el" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Veure el nom" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Darrera Actualització per" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Darrera Actualització el" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Darrera modificació el" + +#~ msgid "Name" +#~ msgstr "Nom" diff --git a/server_action_mass_edit/i18n/cs.po b/server_action_mass_edit/i18n/cs.po new file mode 100644 index 0000000..83590db --- /dev/null +++ b/server_action_mass_edit/i18n/cs.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Vytvořil(a)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Vytvořeno" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Zobrazovaný název" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Naposled upraveno" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Naposled upraveno" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Naposled upraveno" + +#~ msgid "Name" +#~ msgstr "Název" diff --git a/server_action_mass_edit/i18n/da.po b/server_action_mass_edit/i18n/da.po new file mode 100644 index 0000000..5cd1095 --- /dev/null +++ b/server_action_mass_edit/i18n/da.po @@ -0,0 +1,299 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Danish (https://www.transifex.com/oca/teams/23907/da/)\n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Oprettet af" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Oprettet den" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Vist navn" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Id" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Sidst opdateret af" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Sidst opdateret den" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Sidst ændret den" + +#~ msgid "Name" +#~ msgstr "Navn" + +#~ msgid "%s (copy)" +#~ msgstr "%s (kopi)" diff --git a/server_action_mass_edit/i18n/de.po b/server_action_mass_edit/i18n/de.po new file mode 100644 index 0000000..8e24760 --- /dev/null +++ b/server_action_mass_edit/i18n/de.po @@ -0,0 +1,371 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2023-12-20 16:36+0000\n" +"Last-Translator: jappi00 \n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"WARNUNG: Beachten Sie, dass das Hinzufügen eines Feldes mit einem " +"Filter und das Fehlen von Feldern dieses Filters in dieser Aktion zu einem " +"Fehler führen wird, wenn Sie versuchen, die Operation durchzuführen. Stellen " +"Sie sicher, dass Sie diese hier in der Auswahl einschließen." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Hinzufügen" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Fügen Sie den Widget-Namen hinzu, der für die Anzeige des Feldes im " +"Assistenten verwendet werden soll.\n" +"Beispiele: \"many2many_tags\", \"selection\", \"image" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Anwenden" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Filter anwenden" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Standard-Filter auf das Feld anwenden" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Filter in Zeilen anwenden" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Erstellt von" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Erstellt am" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Anzeigename" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "Nicht ändern" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Feld" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Felder" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" +"Wenn diese Option gesetzt ist, wird diese Meldung im Assistenten angezeigt." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert von" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Massenbearbeitung" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Zeile für Massenbearbeitung" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Massenbearbeitung Datensätze" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "Massenbearbeitungsfelder sollten zum Serveraktionsmodell gehören." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Nachricht" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modell" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Datenmodell, auf dem die Serveraktion sich bezieht." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" +"Keiner der von Ihnen ausgewählten %(amount)d-Datensätzen kann verarbeitet " +"werden." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Warnungsbeschreibung der Operation" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Vorgang Info" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Vorgang Warnung" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Verbleibende Menge" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Entfernen" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Ausgewählte Menge" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Sequenz" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Serveraktion" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Server-Aktionen Massenbearbeitungszeilen" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Setzen" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" +"Die Behandlung wird für den/die %(amount)d ausgewählten Datensatz/e " +"durchgeführt." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Widget Option" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Assistent für das Masseneditieren" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Sie haben %(origin_amount)d Datensätz(e) ausgewählt, die nicht verarbeitet " +"werden können.\n" +"Es werden nur %(amount)d Datensätze verarbeitet." + +#~ msgid "Action To Do" +#~ msgstr "Zu erledigende Aktion" + +#~ msgid "Last Modified on" +#~ msgstr "Zuletzt geändert am" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Typ der Server-Aktion. Die folgenden Werte sind verfügbar:\n" +#~ "- \"Python-Code ausführen\": Führt Python Code aus.\n" +#~ "- \"Neuen Datensatz erstellen\": Erstellt einen neuen Datensatz.\n" +#~ "- \"Datensatz aktualisieren\": Aktualisiert die Werte des Datensatzes.\n" +#~ "- \"Mehrere Aktionen ausführen\": Führt weitere Aktionen aus.\n" +#~ "- \"E-Mail senden\": Versendet eine Email. (Diskussion)\n" +#~ "- \"Follower hinzufügen\": Fügt einen Follower hinzu. (Diskussion)\n" +#~ "- \"Nächste Aktivität erstellen\": Erstellt eine Aktivität (Diskussion)\n" +#~ "- \"SMS senden\": Sendet eine SMS. (SMS)" + +#~ msgid "Mass Editing" +#~ msgstr "Massenverarbeitung" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Massenverarbeitung" + +#~ msgid "Name" +#~ msgstr "Name" + +#, fuzzy +#~ msgid "Sidebar Action" +#~ msgstr "Seitenleisten-Schaltfläche hinzufügen" + +#~ msgid "%s (copy)" +#~ msgstr "%s (Kopie)" + +#~ msgid "Advanced" +#~ msgstr "Erweitert" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "Sidebar-Button für verknüpfte Dokumente anzeigen " + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Massenverarbeitung (%s)" + +#~ msgid "Model List" +#~ msgstr "Modell-Liste" + +#~ msgid "Name must be unique!" +#~ msgstr "Name muss eindeutig sein!" + +#~ msgid "Object" +#~ msgstr "Objekt" diff --git a/server_action_mass_edit/i18n/el_GR.po b/server_action_mass_edit/i18n/el_GR.po new file mode 100644 index 0000000..85ccf13 --- /dev/null +++ b/server_action_mass_edit/i18n/el_GR.po @@ -0,0 +1,295 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +# Kostas Goutoudis , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: Kostas Goutoudis , 2016\n" +"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/" +"el_GR/)\n" +"Language: el_GR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Δημιουργήθηκε από " + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Δημιουργήθηκε στις" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Κωδικός" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Τελευταία ενημέρωση από" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Τελευταία ενημέρωση στις" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Ονομασία" diff --git a/server_action_mass_edit/i18n/en_GB.po b/server_action_mass_edit/i18n/en_GB.po new file mode 100644 index 0000000..7195ca0 --- /dev/null +++ b/server_action_mass_edit/i18n/en_GB.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/" +"teams/23907/en_GB/)\n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Created by" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Created on" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Display Name" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Last Modified on" + +#~ msgid "Name" +#~ msgstr "Name" diff --git a/server_action_mass_edit/i18n/es.po b/server_action_mass_edit/i18n/es.po new file mode 100644 index 0000000..db86342 --- /dev/null +++ b/server_action_mass_edit/i18n/es.po @@ -0,0 +1,405 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2023-08-27 16:07+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"Aviso: Tenga en cuenta que añadiendo un campo con un dominio, y no " +"incluyendo los campos de ese dominio en la definición de esta operación, " +"causará un error al intentar llevarla a cabo. Compruebe que los incluye." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Añadir" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Añade el texto del widget que se utilizará para mostrar el campo en el " +"asistente.\n" +"Ejemplo: 'many2many_tags', 'selection', 'image'" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Aplicar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Aplicar Dominio" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Aplicar el dominio por defecto relacionado con el campo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Aplicar dominio en líneas" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "No toques" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Campo" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Campos" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Si está establecido, este mensaje se mostrará en el wizard." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Edición masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Línea de Edición Masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Registros de edición masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" +"Los campos de edición masiva deben pertenecer al modelo de acción del " +"servidor." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Mensaje" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modelo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Modelo sobre el que se ejecuta la acción del servidor." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" +"Ninguno de los registros %(amount)d que ha seleccionado se puede procesar." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Descripción de la operación Peligro" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Info Descripción Operación" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Aviso Descripción Operación" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Cantidad artículos restantes" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Eliminar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Cantidad de artículos seleccionados" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Acción de Servidor" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Acciones del servidor Editar líneas en masa" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Establecer" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" +"El tratamiento se procesará en el %(amount)d registro(s) seleccionado(s)." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Opción de widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Wizard para edición masiva" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Ha seleccionado %(origin_amount)d registro(s) que no se pueden procesar.\n" +"Sólo se procesarán los registros %(amount)d." + +#~ msgid "Action To Do" +#~ msgstr "Acción a realizar" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Tipo de acción del servidor. Están disponibles los siguientes valores:\n" +#~ "- 'Ejecutar código Python': un bloque de código Python que se ejecutará\n" +#~ "- 'Crear un nuevo registro': crea un nuevo registro con nuevos valores\n" +#~ "- 'Actualizar un registro': actualiza los valores de un registro\n" +#~ "- 'Ejecutar varias acciones': define una acción que desencadena varias " +#~ "otras acciones del servidor\n" +#~ "- 'Enviar correo electrónico': publicar un mensaje, una nota o enviar un " +#~ "correo electrónico (Discutir)\n" +#~ "- 'Agregar seguidores': agrega seguidores a un registro (Discutir)\n" +#~ "- 'Crear siguiente actividad': crea una actividad (Discutir)\n" +#~ "- 'Enviar mensaje de texto SMS': envíe SMS, regístrelos en documentos " +#~ "(SMS)" + +#~ msgid "Action Name" +#~ msgstr "Nombre Acción" + +#~ msgid "" +#~ "Add widget text that will be used to display the field in the wizard. " +#~ "Example :\n" +#~ "'many2many_tags', 'selection'" +#~ msgstr "" +#~ "Añada el texto del widget que se usará para mostrar el campo en el " +#~ "wizard. Ejemplo:\n" +#~ "'many2many_tags', 'selection'" + +#~ msgid "Allowed Groups" +#~ msgstr "Grupos permitidos" + +#~ msgid "Apply domain" +#~ msgstr "Aplicar dominio" + +#~ msgid "Domain" +#~ msgstr "Dominio" + +#~ msgid "Line" +#~ msgstr "Línea" + +#~ msgid "Mass Editing" +#~ msgstr "Edición masiva" + +#~ msgid "Mass Editing Line" +#~ msgstr "Línea de edición masiva" + +#~ msgid "Name" +#~ msgstr "Nombre" + +#~ msgid "Sidebar Action" +#~ msgstr "Acción barra lateral" + +#~ msgid "%s (copy)" +#~ msgstr "%s (copia)" + +#~ msgid "Advanced" +#~ msgstr "Avanzado" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Mostrar un botón en el menú contextual de los documentos relacionados " +#~ "para abrir un asistente de composición" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Edición Masiva (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Objeto de Edición Masiva" + +#~ msgid "Model List" +#~ msgstr "Lista de modelos" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "" +#~ "El modelo se utiliza para Seleccionar Campos. Esto se puede editar hasta " +#~ "que no se cree el menú de la barra lateral." + +#~ msgid "Name must be unique!" +#~ msgstr "¡El nombre debe ser único!" + +#~ msgid "Object" +#~ msgstr "Objeto" diff --git a/server_action_mass_edit/i18n/es_AR.po b/server_action_mass_edit/i18n/es_AR.po new file mode 100644 index 0000000..72dde57 --- /dev/null +++ b/server_action_mass_edit/i18n/es_AR.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Argentina) (https://www.transifex.com/oca/" +"teams/23907/es_AR/)\n" +"Language: es_AR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Mostrar Nombre" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización realizada por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_CL.po b/server_action_mass_edit/i18n/es_CL.po new file mode 100644 index 0000000..0e2e60d --- /dev/null +++ b/server_action_mass_edit/i18n/es_CL.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Chile) (https://www.transifex.com/oca/teams/23907/" +"es_CL/)\n" +"Language: es_CL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_CO.po b/server_action_mass_edit/i18n/es_CO.po new file mode 100644 index 0000000..8ed3def --- /dev/null +++ b/server_action_mass_edit/i18n/es_CO.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Colombia) (https://www.transifex.com/oca/teams/23907/" +"es_CO/)\n" +"Language: es_CO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre Público" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Actualizado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Actualizado" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificación el" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_CR.po b/server_action_mass_edit/i18n/es_CR.po new file mode 100644 index 0000000..0097572 --- /dev/null +++ b/server_action_mass_edit/i18n/es_CR.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/" +"teams/23907/es_CR/)\n" +"Language: es_CR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_DO.po b/server_action_mass_edit/i18n/es_DO.po new file mode 100644 index 0000000..e5a6997 --- /dev/null +++ b/server_action_mass_edit/i18n/es_DO.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Dominican Republic) (https://www.transifex.com/oca/" +"teams/23907/es_DO/)\n" +"Language: es_DO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID (identificación)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_EC.po b/server_action_mass_edit/i18n/es_EC.po new file mode 100644 index 0000000..134369e --- /dev/null +++ b/server_action_mass_edit/i18n/es_EC.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/" +"es_EC/)\n" +"Language: es_EC\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_ES.po b/server_action_mass_edit/i18n/es_ES.po new file mode 100644 index 0000000..3454443 --- /dev/null +++ b/server_action_mass_edit/i18n/es_ES.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-01 10:38+0000\n" +"PO-Revision-Date: 2017-05-01 10:38+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/" +"es_ES/)\n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre para mostrar" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última modificación en" diff --git a/server_action_mass_edit/i18n/es_MX.po b/server_action_mass_edit/i18n/es_MX.po new file mode 100644 index 0000000..3f97289 --- /dev/null +++ b/server_action_mass_edit/i18n/es_MX.po @@ -0,0 +1,323 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2024-05-07 16:48+0000\n" +"Last-Translator: Jesús Alan Ramos Rodríguez \n" +"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/" +"es_MX/)\n" +"Language: es_MX\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"ADVERTENCIA : Tenga en cuenta que agregar un campo con un dominio, y " +"no incluir los campos de dicho dominio en esta definición de operación, " +"generará un error al intentar realizarla. Asegúrate de incluirlos." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Añadir" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Agregue el texto del widget que se utilizará para mostrar el campo en el " +"asistente.\n" +"Ejemplo: 'many2many_tags', 'selección', 'imagen'" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Aplicar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Aplicar Dominio" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Aplicar dominio predeterminado relacionado con el campo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Aplicar dominio en lineas" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre desplegado" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "No tocar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Campo" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Campos" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Si está configurado, este mensaje se mostrará en el asistente." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Edición masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Línea de edición masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Registros de edición masiva" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "Acción de servidor masivo" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" +"Los campos de edición masiva deben pertenecer al modelo de acción del " +"servidor." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Mensaje" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modelo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Modelo sobre el que se ejecuta la acción del servidor." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" +"Ninguno de los %(amount)d registros que ha seleccionado se puede procesar." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Operación Descripción Peligro" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Operación Descripción Información" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Operación Descripción Advertencia" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Cantidad de artículo restante" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Eliminar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Cantidad de artículo seleccionado" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Secuencia" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Acción del servidor" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Acciones del servidor Editar líneas en masa" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Establecer" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "El tratamiento se procesará en los %(amount)d registros seleccionados." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "Tipo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" +"Tipo de acción del servidor. Están disponibles los siguientes valores:\n" +"- 'Actualizar un registro': actualiza los valores de un registro\n" +"- 'Crear actividad': crea una actividad (Discusiones)\n" +"- 'Enviar correo electrónico': publicar un mensaje, una nota o enviar un " +"correo electrónico (Discusiones)\n" +"- 'Enviar SMS': enviar SMS, registrarlos en documentos (SMS) - 'Agregar o " +"quitar seguidores': agregar o eliminar seguidores a un registro (Discusiones)" +"\n" +"- 'Crear registro': crea un nuevo registro con nuevos valores\n" +"- 'Ejecutar código': un bloque de código Python que se ejecutará\n" +"- 'Enviar notificación de Webhook': envía una solicitud POST a un sistema " +"externo, también conocido como Webhook\n" +"- 'Ejecutar acciones existentes': define una acción que desencadena varias " +"otras acciones del servidor\n" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "Ver" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Opción de widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Asistente para edición masiva" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Ha seleccionado %(origin_amount)d registros que no se pueden procesar.\n" +"Solo se procesarán %(amount)d registros." + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modificacion realizada" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_PE.po b/server_action_mass_edit/i18n/es_PE.po new file mode 100644 index 0000000..67196d6 --- /dev/null +++ b/server_action_mass_edit/i18n/es_PE.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Peru) (https://www.transifex.com/oca/teams/23907/" +"es_PE/)\n" +"Language: es_PE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nombre a Mostrar" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Actualizado última vez por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima Actualización" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima Modificación en" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_PY.po b/server_action_mass_edit/i18n/es_PY.po new file mode 100644 index 0000000..916fc21 --- /dev/null +++ b/server_action_mass_edit/i18n/es_PY.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Paraguay) (https://www.transifex.com/oca/teams/23907/" +"es_PY/)\n" +"Language: es_PY\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/es_VE.po b/server_action_mass_edit/i18n/es_VE.po new file mode 100644 index 0000000..ec9a909 --- /dev/null +++ b/server_action_mass_edit/i18n/es_VE.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/" +"teams/23907/es_VE/)\n" +"Language: es_VE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Mostrar nombre" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultima actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Modificada por última vez" + +#~ msgid "Name" +#~ msgstr "Nombre" diff --git a/server_action_mass_edit/i18n/et.po b/server_action_mass_edit/i18n/et.po new file mode 100644 index 0000000..cdcc3a0 --- /dev/null +++ b/server_action_mass_edit/i18n/et.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Loonud" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Loodud" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Näidatav nimi" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Viimati uuendatud" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Viimati uuendatud" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Viimati muudetud" + +#~ msgid "Name" +#~ msgstr "Nimi" diff --git a/server_action_mass_edit/i18n/eu.po b/server_action_mass_edit/i18n/eu.po new file mode 100644 index 0000000..778267b --- /dev/null +++ b/server_action_mass_edit/i18n/eu.po @@ -0,0 +1,293 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Nork sortua" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Created on" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Izena erakutsi" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Last Updated on" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Izena" diff --git a/server_action_mass_edit/i18n/fa.po b/server_action_mass_edit/i18n/fa.po new file mode 100644 index 0000000..8c751d1 --- /dev/null +++ b/server_action_mass_edit/i18n/fa.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Persian (https://www.transifex.com/oca/teams/23907/fa/)\n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "ایجاد شده توسط" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "ایجاد شده در" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "نام نمایشی" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "شناسه" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "آخرین به روز رسانی توسط" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "آخرین به روز رسانی در" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "تاریخ آخرین به‌روزرسانی" + +#~ msgid "Name" +#~ msgstr "نام" diff --git a/server_action_mass_edit/i18n/fi.po b/server_action_mass_edit/i18n/fi.po new file mode 100644 index 0000000..3fc2079 --- /dev/null +++ b/server_action_mass_edit/i18n/fi.po @@ -0,0 +1,332 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Luonut" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Luotu" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nimi" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Kentät" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Viimeksi päivittänyt" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Viimeksi päivitetty" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Mall" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Viimeksi muokattu" + +#~ msgid "Mass Editing" +#~ msgstr "Massaeditointi" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Massaeditointi" + +#~ msgid "Name" +#~ msgstr "Nimi" + +#~ msgid "Advanced" +#~ msgstr "Edistynyt" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Näytä tähän liittyvien tietuiden sivupalkissa painike, joka avaa ohjatun " +#~ "toiminnon" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Massaeditointi (%s)" + +#~ msgid "Model List" +#~ msgstr "Lista malleista" + +#~ msgid "Name must be unique!" +#~ msgstr "Nimen täytyy olla uniikki!" + +#~ msgid "Object" +#~ msgstr "Objekti" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Poista tähän liittyvä toiminto käyttääksesi tätä mallipohjaa liittyvissä " +#~ "tietueissa" diff --git a/server_action_mass_edit/i18n/fr.po b/server_action_mass_edit/i18n/fr.po new file mode 100644 index 0000000..e41abf9 --- /dev/null +++ b/server_action_mass_edit/i18n/fr.po @@ -0,0 +1,339 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_action_mass_edit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-11-02 09:12+0000\n" +"PO-Revision-Date: 2023-10-30 12:38+0000\n" +"Last-Translator: Grégory Moka Tourisme \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"WARNING : Tenez compte du fait que l'ajout d'un champ avec un " +"domaine, et le fait de ne pas inclure les champs de ce domaine dans la " +"définition de cette opération, entraînera une erreur lors de la tentative " +"d'exécution. Assurez-vous de les inclure." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Ajouter" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Ajouter un texte pour le widget qui sera utilisé pour afficher le champ. " +"Exemple : \n" +"'many2many_tags', 'selection'" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Appliquer" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Appliquer le domaine" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Appliquer le domaine par défaut lié au champ" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Appliquer le domaine dans les lignes" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Annuler" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Afficher Nom" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "Ne pas modifier" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Champ" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Champs" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Si ce champ est défini, le message sera affiché dans l'assistant." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Édition en lot" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Ligne d'édition en lot" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Modification en lot" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" +"Le champs de l'édition en ligne doit appartenir au modèle de l'action " +"serveur." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modèle" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Modèle executé par l'action serveur." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" +"Aucun des %(amount)d enregistrement(s) que vous avez sélectionné ne peuvent " +"être traité" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Description de l'opération - Danger" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Description de l'opération - Information" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Description de l'opération - Attention" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Eléments restants" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Retirer" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Eléments sélectionnés" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Action serveur" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Lignes d'édition en lot d'action serveurs" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Definir" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" +"Le traitement doit être réalisé sur les %(amount)d enregistrements " +"sélectionnés" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Option du widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Assistant pour l'édition en lot" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Vous avez sélectionné %(origin_amount)d enregistrement(s) qui ne peuvent pas " +"être traités.\n" +"Seulement %(amount)d enregistrement(s) seront traités." + +#~ msgid "Action To Do" +#~ msgstr "Action à effectuer" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification le" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Type d'action du serveur. Les valeurs suivantes sont disponibles :\n" +#~ "- 'Executer du code Python' : un bloc de code python qui sera exécuté\n" +#~ "- 'Créer un nouvel enregistrement' : créer un nouvel enregistrement avec " +#~ "de nouvelles valeurs\n" +#~ "- 'Mettre à jour un enregistrement' : mettre à jour les valeurs d'un " +#~ "enregistrement\n" +#~ "- 'Exécuter plusieurs actions' : définir une action qui déclenche " +#~ "plusieurs autres actions du serveur\n" +#~ "- 'Envoyer un email' : poster un message, une note ou envoyer un email " +#~ "(Discussion)\n" +#~ "- 'Ajouter des abonnés' : ajouter des abonnés à un enregistrement " +#~ "(Discussion)\n" +#~ "- 'Créer l'activité suivante' : créer une activité (Discussion)\n" +#~ "- 'Envoyer un message/SMS': envoyez des SMS, enregistrez-les sur des " +#~ "documents (SMS)" diff --git a/server_action_mass_edit/i18n/fr_CA.po b/server_action_mass_edit/i18n/fr_CA.po new file mode 100644 index 0000000..9aad755 --- /dev/null +++ b/server_action_mass_edit/i18n/fr_CA.po @@ -0,0 +1,337 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/" +"fr_CA/)\n" +"Language: fr_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Afficher le nom" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Champs" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Identifiant" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modèle" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Mass Editing" +#~ msgstr "Édition en lot" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Édition en lot" + +#~ msgid "Name" +#~ msgstr "Nom" + +#, fuzzy +#~ msgid "Sidebar Action" +#~ msgstr "Action de menu latéral" + +#~ msgid "Add Sidebar Button" +#~ msgstr "Ajouter bouton au menu latéral" + +#~ msgid "Advanced" +#~ msgstr "Avancé" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Afficher un bouton dans le menu latéral des documents associés pour " +#~ "ouvrir un assistant de rédaction" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Édition en lot (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Objet d'édition en lot" + +#~ msgid "Model List" +#~ msgstr "Liste de modèles" + +#~ msgid "Name must be unique!" +#~ msgstr "Le nom doit être unique!" + +#~ msgid "Object" +#~ msgstr "Objet" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "Enlever bouton au menu latéral" diff --git a/server_action_mass_edit/i18n/fr_CH.po b/server_action_mass_edit/i18n/fr_CH.po new file mode 100644 index 0000000..eab6221 --- /dev/null +++ b/server_action_mass_edit/i18n/fr_CH.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: French (Switzerland) (https://www.transifex.com/oca/" +"teams/23907/fr_CH/)\n" +"Language: fr_CH\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Modifié par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Modifié le" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification le" diff --git a/server_action_mass_edit/i18n/fr_FR.po b/server_action_mass_edit/i18n/fr_FR.po new file mode 100644 index 0000000..4133949 --- /dev/null +++ b/server_action_mass_edit/i18n/fr_FR.po @@ -0,0 +1,301 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2021-04-11 18:46+0000\n" +"Last-Translator: Yves Le Doeuff \n" +"Language-Team: none\n" +"Language: fr_FR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"Attention : Tenez compte du fait que l'ajout d'un champ avec un " +"domaine, et le fait de ne pas inclure les champs de ce domaine dans la " +"définition de cette opération, entraînera une erreur lors de la tentative " +"d'exécution. Assurez-vous de les inclure." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Ajouter" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Appliquer le domaine par défaut lié au champ" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Appliquer le domaine sur les lignes" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Afficher Nom" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Champ" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Si ce champ est défini, le message sera affiché dans l'assistant." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Message" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modèle" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Description de l'opération - Danger" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Description de l'opération - Information" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Description de l'opération - Attention" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Eléments restants" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Retirer" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Eléments sélectionnés" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Séquence" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Definir" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Option du widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Assistant pour l'édition en lot" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Dernière modification le" + +#~ msgid "Apply domain" +#~ msgstr "Appliquer le domaine" + +#~ msgid "Mass Editing Line" +#~ msgstr "Ligne d'édition en lot" diff --git a/server_action_mass_edit/i18n/gl.po b/server_action_mass_edit/i18n/gl.po new file mode 100644 index 0000000..9872a9a --- /dev/null +++ b/server_action_mass_edit/i18n/gl.po @@ -0,0 +1,298 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +# Alejandro Santana , 2016 +# César Castro Cruz , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: César Castro Cruz , 2016\n" +"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creado en" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "ültima actualización por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última actualización en" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Modificado por última vez o" + +#~ msgid "Name" +#~ msgstr "Nome" diff --git a/server_action_mass_edit/i18n/gl_ES.po b/server_action_mass_edit/i18n/gl_ES.po new file mode 100644 index 0000000..8299749 --- /dev/null +++ b/server_action_mass_edit/i18n/gl_ES.po @@ -0,0 +1,291 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Alejandro Santana , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: Alejandro Santana , 2016\n" +"Language-Team: Galician (Spain) (https://www.transifex.com/oca/teams/23907/" +"gl_ES/)\n" +"Language: gl_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" diff --git a/server_action_mass_edit/i18n/he.po b/server_action_mass_edit/i18n/he.po new file mode 100644 index 0000000..1fbbb44 --- /dev/null +++ b/server_action_mass_edit/i18n/he.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hebrew (https://www.transifex.com/oca/teams/23907/he/)\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "נוצר על ידי" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "נוצר ב-" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "השם המוצג" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "מזהה" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "עודכן לאחרונה על ידי" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "עודכן לאחרונה על" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "תאריך שינוי אחרון" + +#~ msgid "Name" +#~ msgstr "שם" diff --git a/server_action_mass_edit/i18n/hr.po b/server_action_mass_edit/i18n/hr.po new file mode 100644 index 0000000..0a30f0c --- /dev/null +++ b/server_action_mass_edit/i18n/hr.po @@ -0,0 +1,373 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: Bole , 2017\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Kreirano " + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Prikaži naziv" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Polja" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnje ažuriranje izvršio" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnje ažuriranje na" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnja izmjena na" + +#~ msgid "Mass Editing" +#~ msgstr "Grupno uređivanje" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Grupno uređivanje" + +#~ msgid "Name" +#~ msgstr "Naziv" + +#, fuzzy +#~ msgid "Sidebar Action" +#~ msgstr "Akcija bočnog izbornika" + +#~ msgid "%s (copy)" +#~ msgstr "%s (kopija)" + +#~ msgid "Add Sidebar Button" +#~ msgstr "Dodaj bočni gumb" + +#~ msgid "Advanced" +#~ msgstr "Napredno" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Prikaži ugumb u bočnoj traci izbornika povezanih dokumenata za otvaranje " +#~ "čarobnjaka." + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Grupno uredi (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Objekt grupnog uređivanja" + +#~ msgid "Model List" +#~ msgstr "Popis modela" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "" +#~ "Model se koristi za odabir polja. Ovo je moguće uređivati sve dok bočni " +#~ "izbornik nije kreiran." + +#~ msgid "Name must be unique!" +#~ msgstr "Naziv mora biti jedinstven" + +#~ msgid "Object" +#~ msgstr "Objekt" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "Ukloni bočni gumb" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Ukloni kontekstni izbornik za korištenje ovog predloška na povezanim " +#~ "dokumentima." + +#~ msgid "" +#~ "Sidebar action to make this template available on records of the related " +#~ "document model." +#~ msgstr "" +#~ "Akcija bočnog izbornika koja omogućuje korištenje ovog predloška na " +#~ "povezanom modelu podataka." + +#~ msgid "mass.editing.wizard" +#~ msgstr "mass.editing.wizard" + +#~ msgid "Sidebar button" +#~ msgstr "Bočni gumb" + +#~ msgid "Sidebar button to open the sidebar action." +#~ msgstr "Gumb za otvaranje bočne akcije." diff --git a/server_action_mass_edit/i18n/hr_HR.po b/server_action_mass_edit/i18n/hr_HR.po new file mode 100644 index 0000000..d3b1827 --- /dev/null +++ b/server_action_mass_edit/i18n/hr_HR.po @@ -0,0 +1,298 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Bole , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: Bole , 2016\n" +"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/" +"hr_HR/)\n" +"Language: hr_HR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Naziv" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnje ažurirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnje modificirano" + +#~ msgid "Name" +#~ msgstr "Naziv" diff --git a/server_action_mass_edit/i18n/hu.po b/server_action_mass_edit/i18n/hu.po new file mode 100644 index 0000000..c113b7a --- /dev/null +++ b/server_action_mass_edit/i18n/hu.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Készítette" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Létrehozás dátuma" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Név megjelenítése" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Azonosító ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Utoljára frissítve, által" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Utoljára frissítve ekkor" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modell, minta" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Utolsó frissítés dátuma" + +#~ msgid "Name" +#~ msgstr "Név" diff --git a/server_action_mass_edit/i18n/id.po b/server_action_mass_edit/i18n/id.po new file mode 100644 index 0000000..d438231 --- /dev/null +++ b/server_action_mass_edit/i18n/id.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Dibuat oleh" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Dibuat pada" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nama Tampilan" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Diperbaharui oleh" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Diperbaharui pada" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Terakhir Dimodifikasi pada" + +#~ msgid "Name" +#~ msgstr "Nama" diff --git a/server_action_mass_edit/i18n/it.po b/server_action_mass_edit/i18n/it.po new file mode 100644 index 0000000..9dd0374 --- /dev/null +++ b/server_action_mass_edit/i18n/it.po @@ -0,0 +1,435 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2024-05-15 09:38+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"ATTENZIONE: Considera che aggiungere un campo con dominio e non " +"includere i campi del dominio nella definizione dell'operazione, produrrà un " +"errore quando si cercherà di eseguirlo. Accertati di includerli." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Aggiungi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Aggiungi testo alla widget che sarà usato per mostrare il campo nella " +"wizard. \n" +"Esempio: 'many2many_tags', 'selection', 'image'" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Applica" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Applica dominio" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Applica il dominio di default collegato al campo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Applica dominio alle righe" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Annulla" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "Non toccare" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Campo" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Campi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Se impostato, questo messaggio sarà mostrato nel wizard." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Modifica di massa" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Riga modifica di massa" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Modifica di massa record" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "Azione server di massa" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "I campi modifica di massa devono appartenere al modello azione server." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Messaggio" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modello" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Modello sul quale l'azione del server si applica." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" +"Nessuno dei %(amount)d record(s) record selezionati possono essere elaborati." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Descrizione Operazione Pericolosa" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Descrizione Operazione Informativa" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Descrizione Operazione Avviso" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Q.tà elementi rimanenti" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Rimuovi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Q.tà elementi selezionati" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Azione server" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Righe azioni modifica di massa server" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Imposta" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "L'operazione sarà eseguita sui %(amount)d record selezionati." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "Tipo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" +"Tipi si azioni server. Sono disponibili i seguenti valori:\n" +"- 'Aggiorna record': aggiorna il valore di un record\n" +"- 'Crea attività': crea una attività (Discussione)\n" +"- 'Invia e.mail': inserisce un messaggio, una nota o invia una e-mail " +"(Discussione)\n" +"- 'Invia SMS': invia SMS, ne tiene traccia nei documenti (SMS)\n" +"- 'Aggiungi/rimuiovi chi segue': aggiunge o rimuiove chi segue un record " +"(Discussione)\n" +"- 'Crea record': crea un nuovo record con valori nuovi\n" +"- 'Esegui codice': un blocco di codice Python che verrà eseguito\n" +"- 'Invia notivica webhook': invia una richiesta POST ad un sistema esterno, " +"conosciuto come un webhook\n" +"- 'Esegue azioni esistenti': definisce una azione che esegue diverse altre " +"azioni\n" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "Vista" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Opzione Widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Procedura guidata per le modifiche massive" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Sono stati selezionati %(origin_amount)d record che non possono essere " +"elaborati.\n" +"Solo %(amount)d record saranno elaborati." + +#~ msgid "Action To Do" +#~ msgstr "Azione da compiere" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima modifica il" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Tipo di azione server. Sono disponibili i seguenti valori:\n" +#~ "- 'Esegue codice Python': un blocco di codice Python che verrà eseguito\n" +#~ "- 'Crea un nuovo record': crea un nuovo record con nuovi valori\n" +#~ "- 'Aggiorna un record': aggiorna i valori di un record\n" +#~ "- 'Esegue diverse azioni': definisce un'azione che attiva diverse altre " +#~ "azioni\n" +#~ "- 'Invia e-mail': inva un messagio, una nota o inviauna e-mail " +#~ "(Discussione)\n" +#~ "- 'Aggiunge chi segue': aggiunge chi segue ad un record (Discussione)\n" +#~ "- 'Crea attività successiva': crea un'attività (Discussione)\n" +#~ "- 'Invia SMS': invia SMS, registrandoli nei documenti (SMS)" + +#~ msgid "Action Name" +#~ msgstr "Nome Azione" + +#~ msgid "" +#~ "Add widget text that will be used to display the field in the wizard. " +#~ "Example :\n" +#~ "'many2many_tags', 'selection'" +#~ msgstr "" +#~ "Aggiungi il tipo di widget che sarà usato per mostrare il campo nel " +#~ "wizard. Esempio:\n" +#~ "'many2many_tags', 'selection'" + +#~ msgid "Allowed Groups" +#~ msgstr "Gruppi Consentiti" + +#~ msgid "Apply domain" +#~ msgstr "Applica dominio" + +#~ msgid "Domain" +#~ msgstr "Dominio" + +#~ msgid "Line" +#~ msgstr "Linea" + +#~ msgid "Mass Editing" +#~ msgstr "Modifiche massive" + +#~ msgid "Mass Editing Line" +#~ msgstr "Riga Modifiche massive" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Sidebar Action" +#~ msgstr "Azione Pulsante Menù" + +#~ msgid "%s (copy)" +#~ msgstr "%s (copia)" + +#~ msgid "Add Sidebar Button" +#~ msgstr "Aggiungi pulsante menù" + +#~ msgid "Advanced" +#~ msgstr "Avanzate" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Mostra un pulsante, nel menù azioni collegato ai documenti, che apre una " +#~ "procedura guidata" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Modifiche massive (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Oggetto modifiche massive" + +#~ msgid "Model List" +#~ msgstr "Elenco modello" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "" +#~ "Il modello è usato per selezionare i campi. È possibile modificarlo fino " +#~ "alla creazione del pulsante di menù." + +#~ msgid "Name must be unique!" +#~ msgstr "Il nome deve essere univoco." + +#~ msgid "Object" +#~ msgstr "Oggetto" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "Rimuovi pulsante menù" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Rimuove l'azione contestuale che usa questo modello sui documenti " +#~ "collegati" + +#~ msgid "" +#~ "Sidebar action to make this template available on records of the related " +#~ "document model." +#~ msgstr "" +#~ "Azione del menù per rendere disponibile questo modello ai record del " +#~ "modello documento collegato." diff --git a/server_action_mass_edit/i18n/ja.po b/server_action_mass_edit/i18n/ja.po new file mode 100644 index 0000000..3f40023 --- /dev/null +++ b/server_action_mass_edit/i18n/ja.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "作成者" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "作成日" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "表示名" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "最終更新者" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "最終更新日" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "最終更新日" + +#~ msgid "Name" +#~ msgstr "名前" diff --git a/server_action_mass_edit/i18n/ko.po b/server_action_mass_edit/i18n/ko.po new file mode 100644 index 0000000..f50c8fc --- /dev/null +++ b/server_action_mass_edit/i18n/ko.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Korean (https://www.transifex.com/oca/teams/23907/ko/)\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "작성자" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "작성일" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "표시 이름" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "최근 갱신한 사람" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "최근 갱신 날짜" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "최근 수정" + +#~ msgid "Name" +#~ msgstr "이름" diff --git a/server_action_mass_edit/i18n/lt.po b/server_action_mass_edit/i18n/lt.po new file mode 100644 index 0000000..09e4476 --- /dev/null +++ b/server_action_mass_edit/i18n/lt.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Vaizduojamas pavadinimas" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Paskutini kartą atnaujino" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Paskutinį kartą keista" + +#~ msgid "Name" +#~ msgstr "Pavadinimas" diff --git a/server_action_mass_edit/i18n/lt_LT.po b/server_action_mass_edit/i18n/lt_LT.po new file mode 100644 index 0000000..58fd40e --- /dev/null +++ b/server_action_mass_edit/i18n/lt_LT.po @@ -0,0 +1,292 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Arminas Grigonis , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: Arminas Grigonis , 2016\n" +"Language-Team: Lithuanian (Lithuania) (https://www.transifex.com/oca/" +"teams/23907/lt_LT/)\n" +"Language: lt_LT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Sukūrė" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Sukurta" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Paskutinį kartą atnaujino" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Paskutinį kartą atnaujinta" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" diff --git a/server_action_mass_edit/i18n/lv.po b/server_action_mass_edit/i18n/lv.po new file mode 100644 index 0000000..55e5b1c --- /dev/null +++ b/server_action_mass_edit/i18n/lv.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Latvian (https://www.transifex.com/oca/teams/23907/lv/)\n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " +"2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Izveidoja" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Izveidots" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Pēdējo reizi atjaunoja" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Pēdējās izmaiņas" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Nosaukums" diff --git a/server_action_mass_edit/i18n/mk.po b/server_action_mass_edit/i18n/mk.po new file mode 100644 index 0000000..58ad090 --- /dev/null +++ b/server_action_mass_edit/i18n/mk.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Креирано од" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Креирано на" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Прикажи име" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Последно ажурирање од" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Последно ажурирање на" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Последна промена на" + +#~ msgid "Name" +#~ msgstr "Име" diff --git a/server_action_mass_edit/i18n/mn.po b/server_action_mass_edit/i18n/mn.po new file mode 100644 index 0000000..fecc95c --- /dev/null +++ b/server_action_mass_edit/i18n/mn.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n" +"Language: mn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Үүсгэгч" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Үүсгэсэн огноо" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Дэлгэцийн Нэр" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Сүүлийн засвар хийсэн" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Сүүлийн засвар хийсэн огноо" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Сүүлийн засвар хийсэн огноо" + +#~ msgid "Name" +#~ msgstr "Нэр" diff --git a/server_action_mass_edit/i18n/nb.po b/server_action_mass_edit/i18n/nb.po new file mode 100644 index 0000000..0edba29 --- /dev/null +++ b/server_action_mass_edit/i18n/nb.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/" +"nb/)\n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Opprettet av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Opprettet" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Visnings navn" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Sist oppdatert " + +#~ msgid "Name" +#~ msgstr "Navn" diff --git a/server_action_mass_edit/i18n/nb_NO.po b/server_action_mass_edit/i18n/nb_NO.po new file mode 100644 index 0000000..4a07c14 --- /dev/null +++ b/server_action_mass_edit/i18n/nb_NO.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Imre Kristoffer Eilertsen , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: Imre Kristoffer Eilertsen , 2016\n" +"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/" +"teams/23907/nb_NO/)\n" +"Language: nb_NO\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Laget av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Laget den" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Vis navn" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Sist oppdatert av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Sist oppdatert den" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Sist endret den" diff --git a/server_action_mass_edit/i18n/nl.po b/server_action_mass_edit/i18n/nl.po new file mode 100644 index 0000000..7f6c754 --- /dev/null +++ b/server_action_mass_edit/i18n/nl.po @@ -0,0 +1,321 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2021-04-17 18:46+0000\n" +"Last-Translator: Bosd \n" +"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Toevoegen" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Weergave naam" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Veld" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Laatste bijgewerkt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Bericht" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Verwijder" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Geselecteerde items" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Volgorde" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +#, fuzzy +msgid "Wizard for mass edition" +msgstr "Wizard for mass edition" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Laatst bijgewerkt op" + +#~ msgid "Action Name" +#~ msgstr "Actie naam" + +#~ msgid "Allowed Groups" +#~ msgstr "Toegestane groepen" + +#~ msgid "Domain" +#~ msgstr "Domein" + +#~ msgid "Line" +#~ msgstr "Regel" + +#, fuzzy +#~ msgid "Mass Editing" +#~ msgstr "Mass Editing" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Mass Editing Line" + +#~ msgid "Name" +#~ msgstr "Naam" + +#~ msgid "%s (copy)" +#~ msgstr "%s (kopie)" diff --git a/server_action_mass_edit/i18n/nl_BE.po b/server_action_mass_edit/i18n/nl_BE.po new file mode 100644 index 0000000..61bcf8a --- /dev/null +++ b/server_action_mass_edit/i18n/nl_BE.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/" +"nl_BE/)\n" +"Language: nl_BE\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Gemaakt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Gemaakt op" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Schermnaam" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Laatst Aangepast op" + +#~ msgid "Name" +#~ msgstr "Naam" diff --git a/server_action_mass_edit/i18n/nl_NL.po b/server_action_mass_edit/i18n/nl_NL.po new file mode 100644 index 0000000..a3525f4 --- /dev/null +++ b/server_action_mass_edit/i18n/nl_NL.po @@ -0,0 +1,304 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Peter Hageman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-30 12:21+0000\n" +"PO-Revision-Date: 2017-06-30 12:21+0000\n" +"Last-Translator: Peter Hageman , 2017\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Aangemaakt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Aangemaakt op" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "weergavenaam" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Velden" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Laatst bijgewerkt door" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Laatst bijgewerkt op" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Laatst gewijzigd op" + +#~ msgid "Name" +#~ msgstr "Naam" + +#~ msgid "%s (copy)" +#~ msgstr "%s(kopie)" + +#~ msgid "mass.editing.wizard" +#~ msgstr "mass.editing.wizard" diff --git a/server_action_mass_edit/i18n/pl.po b/server_action_mass_edit/i18n/pl.po new file mode 100644 index 0000000..457d28c --- /dev/null +++ b/server_action_mass_edit/i18n/pl.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Utworzone przez" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Data utworzenia" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Wyświetlana nazwa " + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ostatnio modyfikowane przez" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Data ostatniej modyfikacji" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Ostatnio modyfikowano" + +#~ msgid "Name" +#~ msgstr "Nazwa" diff --git a/server_action_mass_edit/i18n/pt.po b/server_action_mass_edit/i18n/pt.po new file mode 100644 index 0000000..8585e63 --- /dev/null +++ b/server_action_mass_edit/i18n/pt.po @@ -0,0 +1,396 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +# Pedro Castro Silva , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2021-01-11 01:44+0000\n" +"Last-Translator: Pedro Castro Silva \n" +"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"AVISO: Tenha em consideração que, se adicionar um campo com um " +"domínio e não incluir os campos desse domínio da definição da operação, " +"obterá um erro na tentativa de execução. Certifique-se de que os inclui." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Adicionar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Aplicar domínio pré-definido relacionado com um campo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Aplicar domínio nas linhas" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nome a Exibir" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Campo" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Id" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Se atribuído, esta mensagem será exibida no assistente." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última Atualização por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última Atualização em" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Mensagem" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modelo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Perigo da Descrição da Operação" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Info da Descrição da Operação" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Aviso da Descrição da Operação" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Qtd de Itens Restantes" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Remover" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Qtd de Itens Selecionados" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Sequência" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Atribuir" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Opção do Widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Assistente de edição em massa" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" + +#~ msgid "Action Name" +#~ msgstr "Nome da Ação" + +#~ msgid "" +#~ "Add widget text that will be used to display the field in the wizard. " +#~ "Example :\n" +#~ "'many2many_tags', 'selection'" +#~ msgstr "" +#~ "Adicionar texto do widget que será usado para exibir o campo do " +#~ "assistente. Exemplo:\n" +#~ "'many2many_tags', 'selection'" + +#~ msgid "Allowed Groups" +#~ msgstr "Grupos Permitidos" + +#~ msgid "Apply domain" +#~ msgstr "Aplicar domínio" + +#~ msgid "Domain" +#~ msgstr "Domínio" + +#~ msgid "Line" +#~ msgstr "Linha" + +#~ msgid "Mass Editing" +#~ msgstr "Edição em Massa" + +#~ msgid "Mass Editing Line" +#~ msgstr "Linha de Edição em Massa" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Sidebar Action" +#~ msgstr "Ação da Barra Lateral" + +#~ msgid "%s (copy)" +#~ msgstr "%s (cópia)" + +#~ msgid "Add Sidebar Button" +#~ msgstr "Adicionar Botão na Barra Lateral" + +#~ msgid "Advanced" +#~ msgstr "Avançado" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Apresentar um botão na barra lateral do documento relacionado para abrir " +#~ "um assistente de composição" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Edição Múltipla (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Objeto de Edição Múltipla" + +#~ msgid "Model List" +#~ msgstr "Lista de Modelos" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "" +#~ "O modelo é usada para a seleção de campos. É editável até o menu da barra " +#~ "lateral ser criado." + +#~ msgid "Name must be unique!" +#~ msgstr "O nome tem que ser único!" + +#~ msgid "Object" +#~ msgstr "Objeto" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "Remover Botão na Barra Lateral" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Remover a ação contextual para usar este modelo em documentos relacionados" + +#~ msgid "" +#~ "Sidebar action to make this template available on records of the related " +#~ "document model." +#~ msgstr "" +#~ "Ação de barra lateral para tornar este modelo disponível em registos do " +#~ "modelos de documento relacionado." + +#~ msgid "mass.editing.wizard" +#~ msgstr "mass.editing.wizard" + +#~ msgid "Sidebar button" +#~ msgstr "Botão da Barra Lateral" + +#~ msgid "Sidebar button to open the sidebar action." +#~ msgstr "Botão da barra lateral para despoletar a ação." diff --git a/server_action_mass_edit/i18n/pt_BR.po b/server_action_mass_edit/i18n/pt_BR.po new file mode 100644 index 0000000..b40185b --- /dev/null +++ b/server_action_mass_edit/i18n/pt_BR.po @@ -0,0 +1,364 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2019-08-26 16:01+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" +"teams/23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.8\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nome para Mostrar" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Campos" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Identificação" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Última atualização por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Última atualização em" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modelo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Assistente para edição em massa" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última atualização em" + +#~ msgid "Mass Editing" +#~ msgstr "Edição em massa" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Edição em massa" + +#~ msgid "Name" +#~ msgstr "Nome" + +#, fuzzy +#~ msgid "Sidebar Action" +#~ msgstr "Ação da Barra Lateral" + +#~ msgid "%s (copy)" +#~ msgstr "%s (cópia)" + +#~ msgid "Add Sidebar Button" +#~ msgstr "Adicionar Botão da Barra Lateral" + +#~ msgid "Advanced" +#~ msgstr "Avançado" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Exibir um botão na barra lateral de documentos relacionados para abrir um " +#~ "assistente de composição" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Edição em Massa (%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "Objeto de edição em massa" + +#~ msgid "Model List" +#~ msgstr "Lista de Modelos" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "" +#~ "O modelo é usado para selecionar campos. Isso é editável até que o menu " +#~ "da barra lateral não seja criado." + +#~ msgid "Name must be unique!" +#~ msgstr "Nome deve ser único!" + +#~ msgid "Object" +#~ msgstr "Objeto" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "Remover Botão da Barra Lateral" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Remover a ação contextual para usar este modelo nos documentos " +#~ "relacionados" + +#~ msgid "" +#~ "Sidebar action to make this template available on records of the related " +#~ "document model." +#~ msgstr "" +#~ "Ação da barra lateral para disponibilizar esse modelo nos registros do " +#~ "modelo de documento relacionado." diff --git a/server_action_mass_edit/i18n/pt_PT.po b/server_action_mass_edit/i18n/pt_PT.po new file mode 100644 index 0000000..971fba4 --- /dev/null +++ b/server_action_mass_edit/i18n/pt_PT.po @@ -0,0 +1,332 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/" +"teams/23907/pt_PT/)\n" +"Language: pt_PT\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Criado por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Criado em" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nome a Apresentar" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Campos" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Atualizado pela última vez por" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Atualizado pela última vez em" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modelo" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificação em" + +#~ msgid "Mass Editing" +#~ msgstr "Edição Múltipla" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Edição Múltipla" + +#~ msgid "Name" +#~ msgstr "Nome" + +#~ msgid "Advanced" +#~ msgstr "Avançado" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Apresentar um botão na barra lateral do documento relacionado para abrir " +#~ "um assistente de composição" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Edição Múltipla (%s)" + +#~ msgid "Model List" +#~ msgstr "Lista de Modelos" + +#~ msgid "Name must be unique!" +#~ msgstr "O nome tem que ser único!" + +#~ msgid "Object" +#~ msgstr "Objeto" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Remover a ação contextual para usar este modelo em documentos relacionados" diff --git a/server_action_mass_edit/i18n/ro.po b/server_action_mass_edit/i18n/ro.po new file mode 100644 index 0000000..1603a52 --- /dev/null +++ b/server_action_mass_edit/i18n/ro.po @@ -0,0 +1,298 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +# Daniel Schweiger , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-22 01:12+0000\n" +"PO-Revision-Date: 2017-06-22 01:12+0000\n" +"Last-Translator: Daniel Schweiger , 2017\n" +"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?" +"2:1));\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Creat de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Creat la" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Nume Afişat" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Ultima actualizare făcută de" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Ultima actualizare la" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Ultima actualizare în" + +#~ msgid "Name" +#~ msgstr "Nume" diff --git a/server_action_mass_edit/i18n/ru.po b/server_action_mass_edit/i18n/ru.po new file mode 100644 index 0000000..97fe7bf --- /dev/null +++ b/server_action_mass_edit/i18n/ru.po @@ -0,0 +1,295 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Создано" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Создан" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Последний раз обновлено" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Последний раз обновлено" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Модель" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Название" diff --git a/server_action_mass_edit/i18n/server_action_mass_edit.pot b/server_action_mass_edit/i18n/server_action_mass_edit.pot new file mode 100644 index 0000000..800e738 --- /dev/null +++ b/server_action_mass_edit/i18n/server_action_mass_edit.pot @@ -0,0 +1,288 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * server_action_mass_edit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 17.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not" +" including the fields of such domain in this operation definition, will lead" +" to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" diff --git a/server_action_mass_edit/i18n/sk.po b/server_action_mass_edit/i18n/sk.po new file mode 100644 index 0000000..0ad20b5 --- /dev/null +++ b/server_action_mass_edit/i18n/sk.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Vytvoril" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Vytvorené" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Zobraziť meno" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Naposledy upravil" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Naposledy upravené" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Posledná modifikácia" + +#~ msgid "Name" +#~ msgstr "Meno" diff --git a/server_action_mass_edit/i18n/sl.po b/server_action_mass_edit/i18n/sl.po new file mode 100644 index 0000000..be3f7f4 --- /dev/null +++ b/server_action_mass_edit/i18n/sl.po @@ -0,0 +1,333 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2023-04-11 13:26+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Ustvaril" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Ustvarjeno" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "Polja" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnjič posodobil" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnjič posodobljeno" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnjič spremenjeno" + +#~ msgid "Mass Editing" +#~ msgstr "Masovno urejanje" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "Masovno urejanje" + +#~ msgid "Name" +#~ msgstr "Naziv" + +#~ msgid "Advanced" +#~ msgstr "Napredno" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "Prikaz gumba v stranski vrstici povezanega dokumenta za zagon čarovnika " +#~ "za urejanje" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Masovno urejanje (%s)" + +#~ msgid "Model List" +#~ msgstr "Seznam modelov" + +#~ msgid "Name must be unique!" +#~ msgstr "Naziv mora biti unikaten!" + +#~ msgid "Object" +#~ msgstr "Objekt" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "" +#~ "Odstrani kontekstno dejanje za uporabo te predloge na povezanih dokumentih" diff --git a/server_action_mass_edit/i18n/sr.po b/server_action_mass_edit/i18n/sr.po new file mode 100644 index 0000000..9b9d208 --- /dev/null +++ b/server_action_mass_edit/i18n/sr.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (https://www.transifex.com/oca/teams/23907/sr/)\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Ime" diff --git a/server_action_mass_edit/i18n/sr@latin.po b/server_action_mass_edit/i18n/sr@latin.po new file mode 100644 index 0000000..f4f8cad --- /dev/null +++ b/server_action_mass_edit/i18n/sr@latin.po @@ -0,0 +1,298 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Serbian (Latin) (https://www.transifex.com/oca/teams/23907/" +"sr@latin/)\n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Kreiran" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Ime za prikaz" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Zadnja izmjena" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Zadnja izmjena" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Zadnja izmjena" + +#~ msgid "Name" +#~ msgstr "Ime:" diff --git a/server_action_mass_edit/i18n/sv.po b/server_action_mass_edit/i18n/sv.po new file mode 100644 index 0000000..6a9bba0 --- /dev/null +++ b/server_action_mass_edit/i18n/sv.po @@ -0,0 +1,334 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2024-02-27 11:35+0000\n" +"Last-Translator: jakobkrabbe \n" +"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"VARNING: Tänk på att om du lägger till ett fält med en domän, och " +"inte inkluderar fälten för en sådan domän i denna operationsdefinition, " +"kommer det att leda till ett fel när du försöker utföra den. Se till att du " +"inkluderar dem." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Lägg till" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Lägg till widgettext som kommer att användas för att visa fältet i guiden.\n" +"Exempel: 'many2many_tags', 'selection', 'image'" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Tillämpa" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Ansök om domän" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Tillämpa standarddomän relaterad till fält" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Tillämpa domän i rader" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "Avbryt" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Skapad av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Skapad den" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Visningsnamn" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "Rör inte" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Fält" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Fält" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Om detta anges kommer meddelandet att visas i guiden." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Senast uppdaterad av" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Senast uppdaterad" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Massredigera" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Massredigera rad" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Massredigera poster" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "Massredigeringsfält bör tillhöra serverns åtgärdsmodell." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Meddelande" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Modell" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Modell på vilken serveråtgärden körs." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "Ingen av de %(amount)d poster som du har valt kan bearbetas." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Funktionsbeskrivning Fara" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Funktionsbeskrivning Info" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Funktionbeskrivning Varning" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Återstående antal artiklar" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Ta bort" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Vald artikel Antal" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Sekvens" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Serveråtgärd" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Serveråtgärder massredigering av rader" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Ställ in" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" +"Behandlingen kommer att behandlas på den %(amount)d utvalda posten/posterna." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Alternativ för widget" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Guide för massutgåva" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"Du har valt %(origin_amount)d post(er) som inte kan bearbetas.\n" +"Endast %(amount)d post(er) kommer att behandlas." + +#~ msgid "Action To Do" +#~ msgstr "Åtgärder att vidta" + +#~ msgid "Last Modified on" +#~ msgstr "Senast redigerad" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Typ av serveråtgärd. Följande värden är tillgängliga:\n" +#~ "- \"Execute Python Code\": ett block med Python-kod som kommer att " +#~ "exekveras\n" +#~ "- 'Skapa en ny post': skapa en ny post med nya värden\n" +#~ "- 'Uppdatera en post': uppdatera värdena för en post\n" +#~ "- \"Utför flera åtgärder\": definiera en åtgärd som utlöser flera andra " +#~ "serveråtgärder\n" +#~ "- 'Skicka e-post': posta ett meddelande, en anteckning eller skicka ett e-" +#~ "postmeddelande (Discuss)\n" +#~ "- \"Lägg till följare\": lägg till följare till en post (Diskutera)\n" +#~ "- 'Skapa nästa aktivitet': skapa en aktivitet (Diskutera)\n" +#~ "- \"Skicka SMS\": skicka SMS, logga dem på dokument (SMS)" + +#~ msgid "Name" +#~ msgstr "Namn" diff --git a/server_action_mass_edit/i18n/th.po b/server_action_mass_edit/i18n/th.po new file mode 100644 index 0000000..8c055df --- /dev/null +++ b/server_action_mass_edit/i18n/th.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "สร้างโดย" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "สร้างเมื่อ" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "ชื่อที่ใช้แสดง" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "รหัส" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "อัพเดทครั้งสุดท้ายโดย" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "อัพเดทครั้งสุดท้ายเมื่อ" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "แก้ไขครั้งสุดท้ายเมื่อ" + +#~ msgid "Name" +#~ msgstr "ชื่อ" diff --git a/server_action_mass_edit/i18n/tr.po b/server_action_mass_edit/i18n/tr.po new file mode 100644 index 0000000..67ba8a4 --- /dev/null +++ b/server_action_mass_edit/i18n/tr.po @@ -0,0 +1,391 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2023-03-09 12:23+0000\n" +"Last-Translator: Ediz Duman \n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Weblate 4.14.1\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +" UYARI : Bu işlem tanımına etki alanına sahip bir alan eklemek ve bu " +"etki alanına ait alanları dahil etmemenin, bunu gerçekleştirmeye çalışırken " +"bir hataya yol açacağını dikkate alın. Bunları dahil ettiğinizden emin olun." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Ekle" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" +"Alanı sihirbazda görüntülemek için kullanılacak pencere öğesi metnini " +"ekleyin.\n" +"Örnek: \"many2many_tags\", \"seçim\", \"resim\"" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "Uygula" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "Etki Alanını Uygula" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Alanla ilgili varsayılan domain uygula" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Domain satırlarına uygula" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "İptal" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Oluşturuldu" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Görünen İsim" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "Dokunmayın" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Alan" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "Alanlar" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Ayarlanırsa, bu mesaj sihirbazda görüntülenecektir." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Son güncelleyen" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Son güncelleme" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "Toplu Düzenleme" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "Toplu Düzenleme Satırı" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "Toplu Düzenleme Kayıtları" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "Toplu düzenleme alanları sunucu eylem modeline ait olmalıdır." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Mesaj" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Model" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "Sunucu eyleminin üzerinde çalıştığı model." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "Seçtiğiniz %(amount)d kayıt(lar)ın hiçbiri işlenemiyor." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Operasyon Tehlike Açıklaması" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Operasyon Bilgi Açıklaması" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Operasyon Uyarı Açıklaması" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Kalan Öğe Miktarı" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Kaldır" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Seçilen Öğe Adeti" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Sıralama" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "Sunucu İşlemi" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "Sunucu Eylemleri Toplu Düzenleme Satırları" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Ayarla" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "İşlem seçilen %(amount)d kayıtta işlenecektir." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Widget Seçeneği" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Toplu düzenleme sihirbazı" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" +"İşlenemeyen %(origin_amount)d kayıt seçtiniz.\n" +"Yalnızca %(amount)d kayıt(lar) işlenecek." + +#~ msgid "Action To Do" +#~ msgstr "Yapılacak İşlem" + +#~ msgid "Last Modified on" +#~ msgstr "Son değişiklik" + +#~ msgid "" +#~ "Type of server action. The following values are available:\n" +#~ "- 'Execute Python Code': a block of python code that will be executed\n" +#~ "- 'Create a new Record': create a new record with new values\n" +#~ "- 'Update a Record': update the values of a record\n" +#~ "- 'Execute several actions': define an action that triggers several other " +#~ "server actions\n" +#~ "- 'Send Email': post a message, a note or send an email (Discuss)\n" +#~ "- 'Add Followers': add followers to a record (Discuss)\n" +#~ "- 'Create Next Activity': create an activity (Discuss)\n" +#~ "- 'Send SMS Text Message': send SMS, log them on documents (SMS)" +#~ msgstr "" +#~ "Sunucu eylemi türü. Aşağıdaki değerler mevcuttur:\n" +#~ "- 'Python Kodunu Yürüt': yürütülecek bir python kodu bloğu\n" +#~ "- 'Yeni Kayıt Oluştur': yeni değerlerle yeni bir kayıt oluşturun\n" +#~ "- 'Bir Kaydı Güncelle': bir kaydın değerlerini güncelleyin\n" +#~ "- 'Birkaç eylem yürütün': diğer birkaç sunucu eylemini tetikleyen bir " +#~ "eylem tanımlayın\n" +#~ "- 'E-posta Gönder': bir mesaj, not gönderin veya bir e-posta gönderin " +#~ "(Tartış)\n" +#~ "- 'Takipçi Ekle': bir kayda takipçi ekleyin (Tartış)\n" +#~ "- 'Sonraki Etkinlik Oluştur': bir etkinlik oluşturun (Tartış)\n" +#~ "- 'SMS Metin Mesajı Gönder': SMS gönderin, belgelere kaydedin (SMS)" + +#~ msgid "Action Name" +#~ msgstr "Eylem Adı" + +#~ msgid "" +#~ "Add widget text that will be used to display the field in the wizard. " +#~ "Example :\n" +#~ "'many2many_tags', 'selection'" +#~ msgstr "" +#~ "Alanı sihirbazda görüntülemek için kullanılacak widget metni ekleyin. " +#~ "Örnek :\n" +#~ "'many2many_tags', 'selection'" + +#~ msgid "Allowed Groups" +#~ msgstr "İzin Verilen Gruplar" + +#~ msgid "Apply domain" +#~ msgstr "Domain uygula" + +#~ msgid "Domain" +#~ msgstr "Domain" + +#~ msgid "Line" +#~ msgstr "Satır" + +#~ msgid "Mass Editing" +#~ msgstr "Toplu Düzenleme" + +#~ msgid "Mass Editing Line" +#~ msgstr "Toplu Düzenleme Satırı" + +#~ msgid "Name" +#~ msgstr "Adı" + +#~ msgid "Sidebar Action" +#~ msgstr "Kenar Çubuk Eylemi" + +#~ msgid "Advanced" +#~ msgstr "Gelişmiş" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "" +#~ "ilgili modelin \"DEVAMI\" menüsüne değiştirme sihirbazı açan bir eylem " +#~ "ekler." + +#~ msgid "Mass Editing (%s)" +#~ msgstr "Toplu Düzenleme (%s)" + +#~ msgid "Model List" +#~ msgstr "Model Listesi" + +#~ msgid "Name must be unique!" +#~ msgstr "Ad tekil olmalı!" + +#~ msgid "Object" +#~ msgstr "Nesne" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "ilgili belgelerde kullanılacak bağlamsal eylemi kaldır. " diff --git a/server_action_mass_edit/i18n/tr_TR.po b/server_action_mass_edit/i18n/tr_TR.po new file mode 100644 index 0000000..b14b599 --- /dev/null +++ b/server_action_mass_edit/i18n/tr_TR.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/" +"tr_TR/)\n" +"Language: tr_TR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Oluşturan" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Oluşturulma tarihi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Görünen ad" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "Kimlik" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "En son güncelleyen " + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "En son güncelleme tarihi" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Tip" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "En son güncelleme tarihi" + +#~ msgid "Name" +#~ msgstr "Ad" diff --git a/server_action_mass_edit/i18n/uk.po b/server_action_mass_edit/i18n/uk.po new file mode 100644 index 0000000..5f68c1c --- /dev/null +++ b/server_action_mass_edit/i18n/uk.po @@ -0,0 +1,334 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2022-10-11 10:35+0000\n" +"Last-Translator: Razumovskyi Yurii \n" +"Language-Team: Ukrainian (https://www.transifex.com/oca/teams/23907/uk/)\n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.3.2\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" +"УВАГА: Зверніть увагу, що додаючи поле з фільтром (domain) та не " +"додаючи поля цього фільтру у визначення поточної операції, призведе до " +"помилки при спробі виконати його. Переконайтеся, що ви їх додали." + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "Додати" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "Застосувати фільтр за замовчуванням, пов'язаний з полем" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "Застосувати фільтр у рядках" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Створив" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Створено" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Назва для відображення" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "Поле" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "Якщо вказано, то це повідомлення буде відображатися у вікні майстра." + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Востаннє відредаговано" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Дата останньої зміни" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "Повідомлення" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "Модель" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "Опис операції (Небезпека)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "Опис операції (Повідомлення)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "Опис операції (Застереження)" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "Кількість елементів, що залишилось" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "Вилучити" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "Кількість обраних елементів" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "Послідовність" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "Встановити" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "Використати віджет" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "Майстер для групової обробки" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Остання модифікація" + +#~ msgid "Action Name" +#~ msgstr "Назва дії" + +#~ msgid "" +#~ "Add widget text that will be used to display the field in the wizard. " +#~ "Example :\n" +#~ "'many2many_tags', 'selection'" +#~ msgstr "" +#~ "Додайте назву віджета, котрий буде використаний для показу поля у формі " +#~ "майстра.\n" +#~ "Наприклад: 'many2many_tags', 'selection', 'image'" + +#~ msgid "Allowed Groups" +#~ msgstr "Дозволені групи" + +#~ msgid "Apply domain" +#~ msgstr "Застосувати фільтр" + +#~ msgid "Domain" +#~ msgstr "Фільтр" + +#~ msgid "Line" +#~ msgstr "Рядок" + +#~ msgid "Mass Editing" +#~ msgstr "Групова обробка" + +#~ msgid "Mass Editing Line" +#~ msgstr "Рядок групової обробки" + +#~ msgid "Name" +#~ msgstr "Назва" + +#~ msgid "%s (copy)" +#~ msgstr "%s (copy)" diff --git a/server_action_mass_edit/i18n/vi.po b/server_action_mass_edit/i18n/vi.po new file mode 100644 index 0000000..deec70d --- /dev/null +++ b/server_action_mass_edit/i18n/vi.po @@ -0,0 +1,296 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-17 21:08+0000\n" +"PO-Revision-Date: 2017-05-17 21:08+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Vietnamese (https://www.transifex.com/oca/teams/23907/vi/)\n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Được tạo bởi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Tạo trên" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "Tên hiển thị" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Last Updated by" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "Sửa lần cuối vào" + +#~ msgid "Name" +#~ msgstr "Tên" diff --git a/server_action_mass_edit/i18n/vi_VN.po b/server_action_mass_edit/i18n/vi_VN.po new file mode 100644 index 0000000..139a9a0 --- /dev/null +++ b/server_action_mass_edit/i18n/vi_VN.po @@ -0,0 +1,294 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2016-09-10 02:53+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/" +"teams/23907/vi_VN/)\n" +"Language: vi_VN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "Tạo bởi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "Tạo vào" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "Cập nhật lần cuối bởi" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "Cập nhật lần cuối vào" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Name" +#~ msgstr "Tên" diff --git a/server_action_mass_edit/i18n/zh_CN.po b/server_action_mass_edit/i18n/zh_CN.po new file mode 100644 index 0000000..a42c748 --- /dev/null +++ b/server_action_mass_edit/i18n/zh_CN.po @@ -0,0 +1,357 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# Jeffery Chenn , 2016 +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-10 02:53+0000\n" +"PO-Revision-Date: 2019-09-02 16:56+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +#, fuzzy +msgid "Field" +msgstr "字段" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "模型" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "批量编辑的向导" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "最后修改时间" + +#~ msgid "Mass Editing" +#~ msgstr "批量编辑" + +#, fuzzy +#~ msgid "Mass Editing Line" +#~ msgstr "批量编辑" + +#~ msgid "Name" +#~ msgstr "名称" + +#, fuzzy +#~ msgid "Sidebar Action" +#~ msgstr "边栏动作" + +#~ msgid "%s (copy)" +#~ msgstr "%s (复制)" + +#~ msgid "Add Sidebar Button" +#~ msgstr "添加动作按钮" + +#~ msgid "Advanced" +#~ msgstr "高级" + +#~ msgid "" +#~ "Display a button in the sidebar of related documents to open a " +#~ "composition wizard" +#~ msgstr "在相关文档的动作中显示一个按钮打开一个组合向导" + +#~ msgid "Mass Editing (%s)" +#~ msgstr "批量编辑(%s)" + +#~ msgid "Mass Editing Object" +#~ msgstr "批量编辑对象" + +#~ msgid "Model List" +#~ msgstr "模型列表" + +#~ msgid "" +#~ "Model is used for Selecting Fields. This is editable until Sidebar menu " +#~ "is not created." +#~ msgstr "模型用于选择字段。在未创建动作菜单之前,此选项是可编辑的。" + +#~ msgid "Name must be unique!" +#~ msgstr "名字必须是唯一的!" + +#~ msgid "Object" +#~ msgstr "对象" + +#~ msgid "Remove Sidebar Button" +#~ msgstr "删除动作按钮" + +#~ msgid "" +#~ "Remove the contextual action to use this template on related documents" +#~ msgstr "删除上下文操作以在相关文档上使用此模板" + +#~ msgid "" +#~ "Sidebar action to make this template available on records of the related " +#~ "document model." +#~ msgstr "边栏使此模板可用于相关文档模型的记录。" diff --git a/server_action_mass_edit/i18n/zh_TW.po b/server_action_mass_edit/i18n/zh_TW.po new file mode 100644 index 0000000..7e77ce5 --- /dev/null +++ b/server_action_mass_edit/i18n/zh_TW.po @@ -0,0 +1,297 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mass_editing +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-02-22 00:55+0000\n" +"PO-Revision-Date: 2017-02-22 00:55+0000\n" +"Last-Translator: OCA Transbot , 2017\n" +"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/" +"zh_TW/)\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "" +"WARNING: Take into account that adding a field with a domain, and not " +"including the fields of such domain in this operation definition, will lead " +"to an error when trying to perform it. Make sure you include them." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Add" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "" +"Add widget text that will be used to display the field in the wizard.\n" +"Example: 'many2many_tags', 'selection', 'image'" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Apply" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply Domain" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__apply_domain +msgid "Apply default domain related to field" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_apply_domain_in_lines +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_apply_domain_in_lines +msgid "Apply domain in lines" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_mass_editing_wizard_form +msgid "Cancel" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_uid +msgid "Created by" +msgstr "建立者" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__create_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__create_date +msgid "Created on" +msgstr "建立於" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__display_name +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__display_name +msgid "Display Name" +msgstr "顯示名稱" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Don't touch" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__field_id +msgid "Field" +msgstr "" + +#. module: server_action_mass_edit +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Fields" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__id +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__id +msgid "ID" +msgstr "ID" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__mass_edit_message +msgid "If set, this message will be displayed in the wizard." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_uid +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_uid +msgid "Last Updated by" +msgstr "最後更新:" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__write_date +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__write_date +msgid "Last Updated on" +msgstr "最後更新於" + +#. module: server_action_mass_edit +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_partner_title +#: model:ir.actions.server,name:server_action_mass_edit.mass_editing_user +msgid "Mass Edit" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_line_ids +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_line_ids +msgid "Mass Edit Line" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields.selection,name:server_action_mass_edit.selection__ir_actions_server__state__mass_edit +msgid "Mass Edit Records" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_ui_view__mass_server_action_id +msgid "Mass Server Action" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py:0 +#, python-format +msgid "Mass edit fields should belong to the server action model." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__mass_edit_message +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__message +#: model_terms:ir.ui.view,arch_db:server_action_mass_edit.view_server_action_form +msgid "Message" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server_mass_edit_line__model_id +msgid "Model on which the server action runs." +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "None of the %(amount)d record(s) you have selected can be processed." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_danger +msgid "Operation Description Danger" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_info +msgid "Operation Description Info" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__operation_description_warning +msgid "Operation Description Warning" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__remaining_item_qty +msgid "Remaining Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Remove" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_mass_editing_wizard__selected_item_qty +msgid "Selected Item Qty" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__sequence +msgid "Sequence" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__server_action_id +msgid "Server Action" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_actions_server_mass_edit_line +msgid "Server Actions Mass Edit Lines" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "Set" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "The treatment will be processed on the %(amount)d selected record(s)." +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_cron__state +msgid "Type" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_actions_server__state +#: model:ir.model.fields,help:server_action_mass_edit.field_ir_cron__state +msgid "" +"Type of server action. The following values are available:\n" +"- 'Update a Record': update the values of a record\n" +"- 'Create Activity': create an activity (Discuss)\n" +"- 'Send Email': post a message, a note or send an email (Discuss)\n" +"- 'Send SMS': send SMS, log them on documents (SMS)- 'Add/Remove Followers': " +"add or remove followers to a record (Discuss)\n" +"- 'Create Record': create a new record with new values\n" +"- 'Execute Code': a block of Python code that will be executed\n" +"- 'Send Webhook Notification': send a POST request to an external system, " +"also known as a Webhook\n" +"- 'Execute Existing Actions': define an action that triggers several other " +"server actions\n" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_ir_ui_view +msgid "View" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model.fields,field_description:server_action_mass_edit.field_ir_actions_server_mass_edit_line__widget_option +msgid "Widget Option" +msgstr "" + +#. module: server_action_mass_edit +#: model:ir.model,name:server_action_mass_edit.model_mass_editing_wizard +msgid "Wizard for mass edition" +msgstr "" + +#. module: server_action_mass_edit +#. odoo-python +#: code:addons/server_action_mass_edit/wizard/mass_editing_wizard.py:0 +#, python-format +msgid "" +"You have selected %(origin_amount)d record(s) that can not be processed.\n" +"Only %(amount)d record(s) will be processed." +msgstr "" + +#~ msgid "Last Modified on" +#~ msgstr "最後修改:" + +#~ msgid "Name" +#~ msgstr "名稱" diff --git a/server_action_mass_edit/models/__init__.py b/server_action_mass_edit/models/__init__.py new file mode 100644 index 0000000..bdb0d08 --- /dev/null +++ b/server_action_mass_edit/models/__init__.py @@ -0,0 +1,3 @@ +from . import ir_actions_server +from . import ir_actions_server_mass_edit_line +from . import ir_ui_view diff --git a/server_action_mass_edit/models/ir_actions_server.py b/server_action_mass_edit/models/ir_actions_server.py new file mode 100644 index 0000000..abf5622 --- /dev/null +++ b/server_action_mass_edit/models/ir_actions_server.py @@ -0,0 +1,72 @@ +# Copyright (C) 2020 Iván Todorovich (https://twitter.com/ivantodorovich) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from flectra import api, fields, models + + +class IrActionsServer(models.Model): + _inherit = "ir.actions.server" + + state = fields.Selection( + selection_add=[("mass_edit", "Mass Edit Records")], + ondelete={"mass_edit": "cascade"}, + ) + mass_edit_line_ids = fields.One2many( + "ir.actions.server.mass.edit.line", + "server_action_id", + ) + mass_edit_apply_domain_in_lines = fields.Boolean( + string="Apply domain in lines", + compute="_compute_mass_edit_apply_domain_in_lines", + ) + mass_edit_message = fields.Text( + string="Message", + help="If set, this message will be displayed in the wizard.", + ) + + @api.onchange("model_id") + def _onchange_model_id(self): + # Play nice with other modules + res = None + if hasattr(super(), "_onchange_model_id"): + res = super()._onchange_model_id() + # Clear mass_edit_line_ids + self.update({"mass_edit_line_ids": [(5, 0, 0)]}) + return res + + @api.constrains("model_id") + def _check_field_model(self): + """Check that all fields belong to the model""" + self.mapped("mass_edit_line_ids")._check_field_model() + + @api.depends("mass_edit_line_ids") + def _compute_mass_edit_apply_domain_in_lines(self): + for record in self: + record.mass_edit_apply_domain_in_lines = any( + record.mass_edit_line_ids.mapped("apply_domain") + ) + + def _run_action_mass_edit_multi(self, eval_context=None): + """Show report label wizard""" + context = dict(self.env.context) + context.update({"server_action_id": self.id}) + view_id = self.env.ref("server_action_mass_edit.view_mass_editing_wizard_form") + view_id.mass_server_action_id = self.id + if view_id: + view_temp = view_id.copy( + { + "name": "Temporary Mass Editing Wizard", + "type": "form", + "model": "mass.editing.wizard", + } + ) + + return { + "name": self.name, + "type": "ir.actions.act_window", + "res_model": "mass.editing.wizard", + "context": str(context), + "view_mode": "form", + "views": [[view_temp.id, "form"]], + "target": "new", + } diff --git a/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py b/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py new file mode 100644 index 0000000..6c82a42 --- /dev/null +++ b/server_action_mass_edit/models/ir_actions_server_mass_edit_line.py @@ -0,0 +1,69 @@ +# Copyright (C) 2019 - Today: GRAP (http://www.grap.coop) +# Copyright (C) 2020 Iván Todorovich (https://twitter.com/ivantodorovich) +# @author: Sylvain LE GAL (https://twitter.com/legalsylvain) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from flectra import _, api, fields, models +from flectra.exceptions import ValidationError + +MAGIC_FIELDS = models.MAGIC_COLUMNS + + +class IrActionsServerMassEditLine(models.Model): + _name = "ir.actions.server.mass.edit.line" + _description = "Server Actions Mass Edit Lines" + _order = "sequence, field_id" + + sequence = fields.Integer() + server_action_id = fields.Many2one( + "ir.actions.server", + string="Server Action", + ondelete="cascade", + required=True, + ) + model_id = fields.Many2one( + "ir.model", + related="server_action_id.model_id", + ) + field_id = fields.Many2one( + "ir.model.fields", + string="Field", + domain=""" + [ + ("name", "not in", %s), + ("ttype", "not in", ["reference", "function"]), + ("model_id", "=", model_id), + ("readonly", "!=", True), + ] + """ + % str(MAGIC_FIELDS), + ondelete="cascade", + required=True, + ) + widget_option = fields.Char( + help="Add widget text that will be used to display the field in the wizard.\n" + "Example: 'many2many_tags', 'selection', 'image'", + ) + apply_domain = fields.Boolean( + default=False, + help="Apply default domain related to field", + ) + + @api.constrains("server_action_id", "field_id") + def _check_field_model(self): + """Check that all fields belong to the action model""" + if any(rec.field_id.model_id != rec.server_action_id.model_id for rec in self): + raise ValidationError( + _("Mass edit fields should belong to the server action model.") + ) + + @api.onchange("field_id") + def _onchange_field_id(self): + for rec in self: + widget_option = False + if rec.field_id.ttype == "many2many": + widget_option = "many2many_tags" + elif rec.field_id.ttype == "binary": + if "image" in rec.field_id.name or "logo" in rec.field_id.name: + widget_option = "image" + rec.widget_option = widget_option diff --git a/server_action_mass_edit/models/ir_ui_view.py b/server_action_mass_edit/models/ir_ui_view.py new file mode 100644 index 0000000..2aaa7b5 --- /dev/null +++ b/server_action_mass_edit/models/ir_ui_view.py @@ -0,0 +1,7 @@ +from flectra import fields, models + + +class View(models.Model): + _inherit = "ir.ui.view" + + mass_server_action_id = fields.Many2one("ir.actions.server") diff --git a/server_action_mass_edit/pyproject.toml b/server_action_mass_edit/pyproject.toml new file mode 100644 index 0000000..4231d0c --- /dev/null +++ b/server_action_mass_edit/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/server_action_mass_edit/security/ir.model.access.csv b/server_action_mass_edit/security/ir.model.access.csv new file mode 100644 index 0000000..07f0989 --- /dev/null +++ b/server_action_mass_edit/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_mass_editing_line_system,ir.actions.server.mass.edit.line manager,model_ir_actions_server_mass_edit_line,base.group_system,1,1,1,1 +access_mass_editing_wizard_user,mass.editing.wizard user,model_mass_editing_wizard,base.group_user,1,1,1,1 diff --git a/server_action_mass_edit/static/description/icon.png b/server_action_mass_edit/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 B#b5vc literal 0 KcmV+b0RR6000031 diff --git a/server_action_mass_edit/static/description/index.html b/server_action_mass_edit/static/description/index.html new file mode 100644 index 0000000..f155e11 --- /dev/null +++ b/server_action_mass_edit/static/description/index.html @@ -0,0 +1,505 @@ + + + + + +Mass Editing + + + +
    +

    Mass Editing

    + + +

    Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

    +

    This module allows to edit several records at the same time in any Odoo +model

    +

    Difference in comparison to the Odoo Feature

    +

    Since Odoo V13, a limited “mass Editing feature” is available in Odoo +CE.

    +

    This module provides the following extra features that are not in the +Core for the time being:

    +
      +
    • Possibility to mass edit many fields in a single action
    • +
    • Possibility to add a group to limit the usage of this function to +given people
    • +
    • Possibility to filter the items the user can mass update
    • +
    • Possibility to mass edit any fields with any widget. (For exemple +color fields, image fields, etc…)
    • +
    +

    Table of contents

    + +
    +

    Configuration

    +
      +
    • In developer mode, go to Settings / Technical / Actions / Server +Actions
    • +
    • Create a new server action
    • +
    • Name the server action (ie. Product Template Category Mass Editing)
    • +
    • Choose Type Mass Edit Records
    • +
    • Select the model
    • +
    • Add the security groups allowed to use this action
    • +
    • Add the fields you want to be mass edited
    • +
    +

    Configuration

    +
      +
    • Add Action: Click on Create Contextual Action to add mass editing +in Action menu.
    • +
    +

    Options

    +
      +
    • You can setup the widget option to be displayed (ie many2many_tags, +selection_image…)
    • +
    • You can tick Apply Domain allowing you to limit the mass editing +action with a domain.
    • +
    • You can add an extra message that will be displayed in the wizard.
    • +
    +
    +
    +

    Usage

    +
      +
    • Go for Mass Editing: select the records which you want to modify +and click on Action to open mass editing popup.
    • +
    +

    Action

    +
      +
    • Select Set / Remove action and write down the value to set or +remove the value for the given field.
    • +
    +

    Wizard Form

    +
      +
    • This way you can set / remove the values of the fields.
    • +
    +

    Wizard Result

    +
    +
    +

    Known issues / Roadmap

    +
      +
    • Auto add fields that are used in related domains if apply_domain=True
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

    Do not contact contributors directly about support or help with technical issues.

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Serpent Consulting Services Pvt. Ltd.
    • +
    • Tecnativa
    • +
    • GRAP
    • +
    • Iván Todorovich
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/server-ux project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/server_action_mass_edit/static/description/mass_editing-item_tree-result.png b/server_action_mass_edit/static/description/mass_editing-item_tree-result.png new file mode 100644 index 0000000000000000000000000000000000000000..c294b4b02502136774cb499328de9f5a615223b9 GIT binary patch literal 42018 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 z@K47oB)`aCe-SnL=GfWU`JWws?ft8Z-qQLXtpBY2J`f1Juu=h6!FS(%_iSU2%m4DP zKT%NtT*PV5;lZC(--K^-ARYAts#fc`ECLRy5vRj5H!(k2#Z1rJqn3GiAffBX6DrV1xU!>`2D;qCO~e90Rf8a;1;UM-LqjV(SbSiZ;`m!Zm= z1@GYK8+F6L3-X_}-@oi409VvyXRZRTq}O96h-j`XA@~>HjtU>koYRuNdkJ007`BYy02->#tvS8GxV4U;OMZ z&-;`9v%mZqAO0(b`T_s|xU%;4_L#W}00000a7TIs00000xFbCR00000+>ssu00000 z?nsXS00000cce!E0001hJJKTn0002MUE9kp0Pu3W_1R}!JGpA!`s}lpT?7CC0Gx~T zh&LBm1poj5xI9K*000000PaYS000000C%KE00000fIHG7UT1%L|9yGqotIq-JnTV* zYXATPm`OxIRJV8D`P2LFzwAN)006w{NRN1}{rutUUnIP7vkUk?Jxf6pI&w$ z@C^R+{`*8n004k1VsCGc^aua|003~Yx3|a4RR9100DwEvBLDyZ0KgsT5dZ)H0N{@F z2mk;80B}co1ONa40JtMP0ssI20Njxt0RR910PaYS000000C%KE00000fIHG700000 zz#Zuk00000;EwbN00000aM$*`fB*fssu00000?nsXS00000cce!E0001hJJKTn0002M z9qADO0002sj`Ros0001RM|uPR0002EBRv8D0002oksbj60002)NRI#j0001Yq(=Y% z004kH(jx!>006)p=@9?`007{Q^aua|003~;wpaO&mt6(`0002MRrl5(|M006)p=@9?`007{Q z^aua|003}DdISIf006inJpup#007*P9svLV008btj{pDw004KSM*si-0DwEvBLDyZ z0KgsT5dZ)H0N{@F2mk;80B}co1ONa40JtMP0ssI20Njxt0RR910PaYS000000C%KE z00000fIHG700000z#Zuk00000;EwbN00000a7TIs00000xFbCR00000+>ssu00000 z?nsXS00000cce!E0001hJJKTn0002M9qADO0002sj`Ros0001RM|uPR0002EBRv8D z0002oksbj60002)NRI#j0001Yq(=Y%004kH(jx!>006)p=@9?`007{Q^aua|003}D zdISIf006inJpup#007*P9svLV008btj{pDw004KSM*si-0D!yy5BdUjXj`3Cr~m)} M07*qoM6N<$f|J+E{r~^~ literal 0 KcmV+b0RR6000031 diff --git a/server_action_mass_edit/static/description/mass_editing-item_tree.png b/server_action_mass_edit/static/description/mass_editing-item_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..70189a2ee87dd8dc6e6f9ba2d78dbab3310f2bb5 GIT binary patch literal 51621 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 BF_i!S literal 0 KcmV+b0RR6000031 diff --git a/server_action_mass_edit/static/description/mass_editing_form.png b/server_action_mass_edit/static/description/mass_editing_form.png new file mode 100644 index 0000000000000000000000000000000000000000..0765846a1308d3b50a9136e9483434aeb3d97e55 GIT binary patch literal 64613 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 literal 0 KcmV+b0RR6000031 diff --git a/server_action_mass_edit/static/src/js/record.esm.js b/server_action_mass_edit/static/src/js/record.esm.js new file mode 100644 index 0000000..4147da7 --- /dev/null +++ b/server_action_mass_edit/static/src/js/record.esm.js @@ -0,0 +1,29 @@ +/** @flectra-module **/ +import {Record} from "@web/model/relational_model/record"; +import {patch} from "@web/core/utils/patch"; + +patch(Record.prototype, { + _createStaticListDatapoint(data, fieldName) { + const {related, limit, defaultOrderBy} = this.activeFields[fieldName]; + const config = { + resModel: this.fields[fieldName].relation, + activeFields: (related && related.activeFields) || {}, + fields: (related && related.fields) || {}, + relationField: this.fields[fieldName].relation_field || false, + offset: 0, + // To prevent the TypeError: data.map is not a function while set/remove/add + // value in wizard + resIds: Array.isArray(data) ? data.map((r) => r.id || null) : [], + orderBy: defaultOrderBy || [], + limit: limit || Number.MAX_SAFE_INTEGER, + currentCompanyId: this.currentCompanyId, + context: {}, + }; + const options = { + onUpdate: ({withoutOnchange} = {}) => + this._update({[fieldName]: []}, {withoutOnchange}), + parent: this, + }; + return new this.model.constructor.StaticList(this.model, config, data, options); + }, +}); diff --git a/server_action_mass_edit/static/src/js/static_list.esm.js b/server_action_mass_edit/static/src/js/static_list.esm.js new file mode 100644 index 0000000..cea057b --- /dev/null +++ b/server_action_mass_edit/static/src/js/static_list.esm.js @@ -0,0 +1,33 @@ +/** @flectra-module **/ +import {StaticList} from "@web/model/relational_model/static_list"; +import {markRaw} from "@flectra/owl"; +import {patch} from "@web/core/utils/patch"; + +patch(StaticList.prototype, { + setup(config, data, options = {}) { + this._parent = options.parent; + this._onUpdate = options.onUpdate; + + this._cache = markRaw({}); + this._commands = []; + this._initialCommands = []; + this._savePoint = undefined; + this._unknownRecordCommands = {}; + this._currentIds = [...this.resIds]; + this._initialCurrentIds = [...this.currentIds]; + this._needsReordering = false; + this._tmpIncreaseLimit = 0; + this._extendedRecords = new Set(); + // To prevent the TypeError: data.slice is not a function" while set/remove/add + // value in wizard + this.records = Array.isArray(data) + ? data + .slice(this.offset, this.limit) + .map((r) => this._createRecordDatapoint(r)) + : []; + this.count = this.resIds.length; + this.handleField = Object.keys(this.activeFields).find( + (fieldName) => this.activeFields[fieldName].isHandle + ); + }, +}); diff --git a/server_action_mass_edit/tests/__init__.py b/server_action_mass_edit/tests/__init__.py new file mode 100644 index 0000000..86a48b9 --- /dev/null +++ b/server_action_mass_edit/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import test_mass_editing diff --git a/server_action_mass_edit/tests/test_mass_editing.py b/server_action_mass_edit/tests/test_mass_editing.py new file mode 100644 index 0000000..91fd464 --- /dev/null +++ b/server_action_mass_edit/tests/test_mass_editing.py @@ -0,0 +1,406 @@ +# Copyright 2016 Serpent Consulting Services Pvt. Ltd. (support@serpentcs.com) +# Copyright 2018 Aitor Bouzas +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from ast import literal_eval + +from flectra.exceptions import ValidationError +from flectra.tests import Form, common, new_test_user + +from flectra.addons.base.models.ir_actions import IrActionsServer + + +def fake_onchange_model_id(self): + result = { + "warning": { + "title": "This is a fake onchange", + }, + } + return result + + +@common.tagged("-at_install", "post_install") +class TestMassEditing(common.TransactionCase): + def setUp(self): + super().setUp() + + self.MassEditingWizard = self.env["mass.editing.wizard"] + self.ResPartnerTitle = self.env["res.partner.title"] + self.ResLang = self.env["res.lang"] + self.IrActionsActWindow = self.env["ir.actions.act_window"] + + self.mass_editing_user = self.env.ref( + "server_action_mass_edit.mass_editing_user" + ) + self.mass_editing_partner_title = self.env.ref( + "server_action_mass_edit.mass_editing_partner_title" + ) + user_admin = self.env.ref("base.user_admin") + user_demo = self.env.ref("base.user_demo") + self.users = self.env["res.users"].search( + [("id", "not in", (user_admin.id, user_demo.id))] + ) + self.user = new_test_user( + self.env, + login="test-mass_editing-user", + groups="base.group_system", + ) + self.partner_title = self._create_partner_title() + + def _create_partner_title(self): + """Create a Partner Title.""" + # Loads German to work with translations + self.ResLang._activate_lang("de_DE") + # Creating the title in English + partner_title = self.ResPartnerTitle.create( + {"name": "Ambassador", "shortcut": "Amb."} + ) + # Adding translated terms + partner_title.with_context(lang="de_DE").write( + {"name": "Botschafter", "shortcut": "Bots."} + ) + return partner_title + + def _create_wizard_and_apply_values(self, server_action, items, vals): + action = server_action.with_context( + active_model=items._name, + active_ids=items.ids, + ).run() + wizard = ( + self.env[action["res_model"]] + .with_context( + **literal_eval(action["context"]), + ) + .create(vals) + ) + wizard.button_apply() + return wizard + + def test_wzd_default_get(self): + """Test whether `operation_description_danger` is correct""" + wzd_obj = self.MassEditingWizard.with_context( + server_action_id=self.mass_editing_user.id, + active_ids=[1], + original_active_ids=[1], + ) + result = wzd_obj.default_get( + fields=[], + ) + self.assertEqual( + result["operation_description_info"], + "The treatment will be processed on the 1 selected record(s).", + ) + self.assertFalse( + result["operation_description_warning"], + ) + self.assertFalse( + result["operation_description_danger"], + ) + + result = wzd_obj.with_context(active_ids=[]).default_get( + fields=[], + ) + self.assertFalse( + result["operation_description_info"], + ) + self.assertEqual( + result["operation_description_warning"], + ( + "You have selected 1 record(s) that can not be processed.\n" + "Only 0 record(s) will be processed." + ), + ) + self.assertFalse( + result["operation_description_danger"], + ) + + result = wzd_obj.with_context(original_active_ids=[]).default_get( + fields=[], + ) + self.assertFalse( + result["operation_description_info"], + ) + self.assertFalse( + result["operation_description_warning"], + ) + self.assertEqual( + result["operation_description_danger"], + "None of the 1 record(s) you have selected can be processed.", + ) + + def test_wiz_fields_view_get(self): + """Test whether fields_view_get method returns arch. + with dynamic fields. + """ + view_id = self.env.ref("server_action_mass_edit.view_mass_editing_wizard_form") + view_id.mass_server_action_id = False + result = self.MassEditingWizard.with_context( + active_ids=[], + ).get_view(view_id=view_id.id) + arch = result.get("arch", "") + self.assertTrue( + "selection__email" not in arch, + "Fields view get must return architecture w/o fields" "created dynamicaly", + ) + view_id.mass_server_action_id = self.mass_editing_user + result = self.MassEditingWizard.with_context( + server_action_id=self.mass_editing_user.id, + active_ids=[], + ).get_view(view_id=view_id.id) + arch = result.get("arch", "") + self.assertTrue( + "selection__email" in arch, + "Fields view get must return architecture with fields" "created dynamicaly", + ) + + # test the code path where we extract an embedded tree for o2m fields + self.env["ir.ui.view"].search( + [ + ("model", "in", ("res.partner.bank", "res.partner", "res.users")), + ("id", "!=", self.env.ref("base.res_partner_view_form_private").id), + ] + ).unlink() + self.env.ref("base.res_partner_view_form_private").model = "res.users" + result = self.MassEditingWizard.with_context( + server_action_id=self.mass_editing_user.id, + active_ids=[], + ).get_view(view_id=view_id.id) + arch = result.get("arch", "") + self.assertIn( + " + + + + ir.actions.server + + + + + + + + + + + + + + + + +
    + WARNING: Take into account that adding a field with a domain, and not including the fields of such domain in this operation definition, will lead to an error when trying to perform it. Make sure you include them. +
    +
    + + + +
    +
    +
    +
    +
    diff --git a/server_action_mass_edit/wizard/__init__.py b/server_action_mass_edit/wizard/__init__.py new file mode 100644 index 0000000..6e9937d --- /dev/null +++ b/server_action_mass_edit/wizard/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import mass_editing_wizard diff --git a/server_action_mass_edit/wizard/mass_editing_wizard.py b/server_action_mass_edit/wizard/mass_editing_wizard.py new file mode 100644 index 0000000..e19e102 --- /dev/null +++ b/server_action_mass_edit/wizard/mass_editing_wizard.py @@ -0,0 +1,339 @@ +# Copyright (C) 2016 Serpent Consulting Services Pvt. Ltd. (support@serpentcs.com) +# Copyright (C) 2020 Iván Todorovich (https://twitter.com/ivantodorovich) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +import json + +from lxml import etree + +from flectra import _, api, fields, models + + +class MassEditingWizard(models.TransientModel): + _name = "mass.editing.wizard" + _description = "Wizard for mass edition" + + selected_item_qty = fields.Integer(readonly=True) + remaining_item_qty = fields.Integer(readonly=True) + operation_description_info = fields.Text(readonly=True) + operation_description_warning = fields.Text(readonly=True) + operation_description_danger = fields.Text(readonly=True) + message = fields.Text(readonly=True) + + @api.model + def default_get(self, fields): + res = super().default_get(fields) + server_action_id = self.env.context.get("server_action_id") + server_action = self.env["ir.actions.server"].sudo().browse(server_action_id) + active_ids = self.env.context.get("active_ids") + + if not server_action: + return res + + original_active_ids = self.env.context.get("original_active_ids", active_ids) + operation_description_info = False + operation_description_warning = False + operation_description_danger = False + if len(active_ids) == len(original_active_ids): + operation_description_info = _( + "The treatment will be processed on the %(amount)d selected record(s)." + ) % { + "amount": len(active_ids), + } + elif len(original_active_ids): + operation_description_warning = _( + "You have selected %(origin_amount)d " + "record(s) that can not be processed.\n" + "Only %(amount)d record(s) will be processed." + ) % { + "origin_amount": len(original_active_ids) - len(active_ids), + "amount": len(active_ids), + } + else: + operation_description_danger = _( + "None of the %(amount)d record(s) you have selected can be processed." + ) % { + "amount": len(active_ids), + } + # Set values + res.update( + { + "selected_item_qty": len(active_ids), + "remaining_item_qty": len(original_active_ids), + "operation_description_info": operation_description_info, + "operation_description_warning": operation_description_warning, + "operation_description_danger": operation_description_danger, + "message": server_action.mass_edit_message, + } + ) + + return res + + def onchange(self, values, field_names, fields_spec): + first_call = not field_names + if first_call: + field_names = [fname for fname in values if fname != "id"] + missing_names = [fname for fname in fields_spec if fname not in values] + defaults = self.default_get(missing_names) + for field_name in missing_names: + values[field_name] = defaults.get(field_name, False) + if field_name in defaults: + field_names.append(field_name) + + server_action_id = self.env.context.get("server_action_id") + server_action = self.env["ir.actions.server"].sudo().browse(server_action_id) + if not server_action: + return super().onchange(values, field_names, fields_spec) + dynamic_fields = {} + + for line in server_action.mapped("mass_edit_line_ids"): + values["selection__" + line.field_id.name] = "ignore" + values[line.field_id.name] = False + + dynamic_fields["selection__" + line.field_id.name] = fields.Selection( + [()], default="ignore" + ) + + dynamic_fields[line.field_id.name] = fields.Text([()], default=False) + + self._fields.update(dynamic_fields) + + res = super().onchange(values, field_names, fields_spec) + if not res["value"]: + value = {key: value for key, value in values.items() if value is not False} + res["value"] = value + + for field in dynamic_fields: + self._fields.pop(field) + + view_temp = ( + self.env["ir.ui.view"] + .sudo() + .search([("name", "=", "Temporary Mass Editing Wizard")], limit=1) + ) + if view_temp: + view_temp.unlink() + + return res + + @api.model + def _prepare_fields(self, line, field, field_info): + result = {} + # Add "selection field (set / add / remove / remove_m2m) + if field.ttype == "many2many": + selection = [ + ("ignore", _("Don't touch")), + ("set_m2m", _("Set")), + ("remove_m2m", _("Remove")), + ("add", _("Add")), + ] + elif field.ttype == "one2many": + selection = [ + ("ignore", _("Don't touch")), + ("set_o2m", _("Set")), + ("add_o2m", _("Add")), + ] + else: + selection = [ + ("ignore", _("Don't touch")), + ("set", _("Set")), + ("remove", _("Remove")), + ] + result["selection__" + field.name] = { + "type": "selection", + "string": field_info["string"], + "selection": selection, + } + # Add field info + result[field.name] = field_info + return result + + @api.model + def _insert_field_in_arch(self, line, field, main_xml_group): + etree.SubElement( + main_xml_group, + "label", + { + "for": "selection__" + field.name, + }, + ) + div = etree.SubElement( + main_xml_group, + "div", + { + "class": "d-flex", + }, + ) + etree.SubElement( + div, + "field", + { + "name": "selection__" + field.name, + "modifiers": '{"required": true}', + "class": "w-25", + }, + ) + field_vals = self._get_field_options(field) + if line.widget_option: + field_vals["widget"] = line.widget_option + field_element = etree.SubElement(div, "field", field_vals) + if field.ttype == "one2many": + comodel = self.env[field.relation] + dummy, form_view = comodel._get_view(view_type="form") + dummy, tree_view = comodel._get_view(view_type="tree") + field_context = {} + if form_view: + field_context["form_view_ref"] = form_view.xml_id + if tree_view: + field_context["tree_view_ref"] = tree_view.xml_id + if field_context: + field_element.attrib["context"] = json.dumps(field_context) + else: + model_arch, dummy = self.env[field.model]._get_view(view_type="form") + embedded_tree = None + for node in model_arch.xpath(f"//field[@name='{field.name}'][./tree]"): + embedded_tree = node.xpath("./tree")[0] + break + if embedded_tree is not None: + for node in embedded_tree.xpath("./*"): + modifiers = node.get("modifiers") + if modifiers: + node.attrib["modifiers"] = modifiers + field_element.insert(0, embedded_tree) + + return field_element + + def _get_field_options(self, field): + return { + "name": field.name, + "invisible": 'selection__%s in ["ignore", "remove", False]' % field.name, + "class": "w-75", + } + + @api.model + def get_views(self, views, options=None): + for view, _type in views: + if view: + view = self.env["ir.ui.view"].sudo().browse(view) + server_action = view.mass_server_action_id + self = self.with_context(server_action_id=server_action.id) + return super().get_views(views, options) + + @api.model + def get_view(self, view_id=None, view_type="form", **options): + view = self.env["ir.ui.view"].sudo().browse(view_id) + server_action = view.mass_server_action_id + self = self.with_context(server_action_id=server_action.id) + if not server_action: + return super().get_view(view_id, view_type, **options) + result = super().get_view(view_id, view_type, **options) + arch = etree.fromstring(result["arch"]) + main_xml_group = arch.find('.//group[@name="group_field_list"]') + for line in server_action.mapped("mass_edit_line_ids"): + self._insert_field_in_arch(line, line.field_id, main_xml_group) + if line.field_id.ttype == "one2many": + comodel = self.env[line.field_id.relation] + result["models"] = dict( + result["models"], **{comodel._name: tuple(comodel.fields_get())} + ) + result["arch"] = etree.tostring(arch, encoding="unicode") + return result + + @api.model + def fields_get(self, allfields=None, attributes=None): + server_action_id = self.env.context.get("server_action_id") + server_action = self.env["ir.actions.server"].sudo().browse(server_action_id) + if not server_action: + return super().fields_get(allfields, attributes) + res = super().fields_get(allfields, attributes) + fields_info = self.env[server_action.model_id.model].fields_get() + for line in server_action.mapped("mass_edit_line_ids"): + field = line.field_id + field_info = self._clean_check_company_field_domain( + self.env[server_action.model_id.model], field, fields_info[field.name] + ) + field_info["relation_field"] = False + if not line.apply_domain and "domain" in field_info: + field_info["domain"] = "[]" + res.update(self._prepare_fields(line, field, field_info)) + return res + + @api.model + def _clean_check_company_field_domain(self, TargetModel, field, field_info): + """ + This method remove the field view domain added by Flectra for relational + fields with check_company attribute to avoid error for non exists + company_id or company_ids fields in wizard view. + See _description_domain method in _Relational Class + """ + field_class = TargetModel._fields[field.name] + if not field_class.relational or not field_class.check_company or field.domain: + return field_info + field_info["domain"] = "[]" + return field_info + + @api.model_create_multi + def create(self, vals_list): + server_action_id = self.env.context.get("server_action_id") + server_action = self.env["ir.actions.server"].sudo().browse(server_action_id) + active_ids = self.env.context.get("active_ids", []) + if server_action and active_ids: + for vals in vals_list: + values = {} + for key, val in vals.items(): + if key.startswith("selection_"): + split_key = key.split("__", 1)[1] + if val == "set" or val == "add_o2m": + values.update({split_key: vals.get(split_key, False)}) + + elif val == "set_o2m" or val == "set_m2m": + values.update( + {split_key: [(6, 0, [])] + vals.get(split_key, [])} + ) + + elif val == "remove": + values.update({split_key: False}) + + elif val == "remove_m2m": + m2m_list = [] + if vals.get(split_key): + for m2m_id in vals.get(split_key, False): + m2m_list.append((3, m2m_id[1])) + if m2m_list: + values.update({split_key: m2m_list}) + else: + values.update({split_key: [(5, 0, [])]}) + + elif val == "add": + values.update({split_key: vals.get(split_key, False)}) + + if values: + for active_id in active_ids: + self.env[server_action.model_id.model].browse( + active_id + ).with_context( + mass_edit=True, + ).write(values) + return super().create([{}]) + + def _prepare_create_values(self, vals_list): + return vals_list + + def read(self, fields=None, load="_classic_read"): + """Without this call, dynamic fields build by fields_view_get() + generate a log warning, i.e.: + flectra.models:mass.editing.wizard.read() with unknown field 'myfield' + flectra.models:mass.editing.wizard.read() + with unknown field 'selection__myfield' + """ + real_fields = fields + if fields: + # We remove fields which are not in _fields + real_fields = [x for x in fields if x in self._fields] + result = super().read(real_fields, load=load) + # adding fields to result + [result[0].update({x: False}) for x in fields if x not in real_fields] + return result + + def button_apply(self): + self.ensure_one() diff --git a/server_action_mass_edit/wizard/mass_editing_wizard.xml b/server_action_mass_edit/wizard/mass_editing_wizard.xml new file mode 100644 index 0000000..258a56e --- /dev/null +++ b/server_action_mass_edit/wizard/mass_editing_wizard.xml @@ -0,0 +1,52 @@ + + + + + mass.editing.wizard + +
    +
    +

    + +

    + + + + + + + + + +