Compare commits
4 Commits
14.0-web_t
...
14.0-picki
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0dbd814b3 | ||
|
|
3f8dde7e10 | ||
|
|
a1e969eb17 | ||
|
|
0be112dc84 |
@@ -1,14 +1,14 @@
|
|||||||
# Translation of Odoo Server.
|
# Translation of Odoo Server.
|
||||||
# This file contains the translation of the following modules:
|
# This file contains the translation of the following modules:
|
||||||
# * base_partner_one2many_phone
|
# * base_partner_one2many_phone
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-01-27 18:03+0000\n"
|
"POT-Creation-Date: 2021-10-29 21:12+0000\n"
|
||||||
"PO-Revision-Date: 2020-01-27 18:03+0000\n"
|
"PO-Revision-Date: 2021-10-29 21:12+0000\n"
|
||||||
"Last-Translator: <>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -16,92 +16,120 @@ msgstr ""
|
|||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_create_uid
|
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner
|
||||||
|
msgid "Contact"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__create_uid
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_create_date
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__create_date
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_display_name
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__display_name
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__display_name
|
||||||
msgid "Display Name"
|
msgid "Display Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_email
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__email
|
||||||
msgid "E-Mail"
|
msgid "E-Mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:61
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "E-mail field must be empty when type is Primary/Secondary Phone, Primary/Secondary Mobile or Primary/Secondary Fax."
|
msgid ""
|
||||||
|
"E-mail field must be empty when type is Primary/Secondary Phone, "
|
||||||
|
"Primary/Secondary Mobile or Primary/Secondary Fax."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:51
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "E-mail field must have a value when type is Primary E-mail or Secondary E-mail."
|
msgid ""
|
||||||
|
"E-mail field must have a value when type is Primary E-mail or Secondary "
|
||||||
|
"E-mail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_id
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__email
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__email
|
||||||
|
msgid "Email"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__id
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__id
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone___last_update
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner____last_update
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone____last_update
|
||||||
msgid "Last Modified on"
|
msgid "Last Modified on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_write_uid
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__write_uid
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_write_date
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__write_date
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_note
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__mobile
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__mobile
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner_phone
|
||||||
|
msgid "Multiple emails and phones for partners"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__note
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__phone
|
||||||
msgid "Partner"
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__phone
|
||||||
msgstr ""
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__phone
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_phone
|
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:54
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_form
|
||||||
|
msgid "Phone and E-mail"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone field must be empty when type is Primary E-mail or Secondary E-mail."
|
msgid ""
|
||||||
|
"Phone field must be empty when type is Primary E-mail or Secondary E-mail."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:58
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone field must have a value when type is Primary/Secondary Phone, Primary/Secondary Mobile or Primary/Secondary Fax."
|
msgid ""
|
||||||
|
"Phone field must have a value when type is Primary/Secondary Phone, "
|
||||||
|
"Primary/Secondary Mobile or Primary/Secondary Fax."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_ids
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_tree
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users_phone_ids
|
|
||||||
msgid "Phones"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_tree
|
|
||||||
msgid "Phones and E-mail"
|
msgid "Phones and E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -112,63 +140,63 @@ msgid "Phones/E-mails"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__phone_ids
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__phone_ids
|
||||||
|
msgid "Phones/Emails"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__1_email_primary
|
||||||
msgid "Primary E-mail"
|
msgid "Primary E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__7_fax_primary
|
||||||
msgid "Primary Fax"
|
msgid "Primary Fax"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__5_mobile_primary
|
||||||
msgid "Primary Mobile"
|
msgid "Primary Mobile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__3_phone_primary
|
||||||
msgid "Primary Phone"
|
msgid "Primary Phone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_partner_id
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__partner_id
|
||||||
msgid "Related Partner"
|
msgid "Related Partner"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
||||||
msgid "Search Phones/E-mail"
|
msgid "Search Phones/E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__2_email_secondary
|
||||||
msgid "Secondary E-mail"
|
msgid "Secondary E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__8_fax_secondary
|
||||||
msgid "Secondary Fax"
|
msgid "Secondary Fax"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__6_mobile_secondary
|
||||||
msgid "Secondary Mobile"
|
msgid "Secondary Mobile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__4_phone_secondary
|
||||||
msgid "Secondary Phone"
|
msgid "Secondary Phone"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_type
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__type
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner_phone
|
|
||||||
msgid "res.partner.phone"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
# Translation of Odoo Server.
|
# Translation of Odoo Server.
|
||||||
# This file contains the translation of the following modules:
|
# This file contains the translation of the following modules:
|
||||||
# * base_partner_one2many_phone
|
# * base_partner_one2many_phone
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Odoo Server 10.0\n"
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-01-27 17:56+0000\n"
|
"POT-Creation-Date: 2021-10-29 21:12+0000\n"
|
||||||
"PO-Revision-Date: 2020-01-27 17:56+0000\n"
|
"PO-Revision-Date: 2021-10-29 21:12+0000\n"
|
||||||
"Last-Translator: <>\n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -16,159 +16,187 @@ msgstr ""
|
|||||||
"Plural-Forms: \n"
|
"Plural-Forms: \n"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_create_uid
|
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner
|
||||||
|
msgid "Contact"
|
||||||
|
msgstr "Contact"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__create_uid
|
||||||
msgid "Created by"
|
msgid "Created by"
|
||||||
msgstr "Créé par"
|
msgstr "Créé par"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_create_date
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__create_date
|
||||||
msgid "Created on"
|
msgid "Created on"
|
||||||
msgstr "Créé le"
|
msgstr "Créé le"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_display_name
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__display_name
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__display_name
|
||||||
msgid "Display Name"
|
msgid "Display Name"
|
||||||
msgstr "Nom à afficher"
|
msgstr "Nom affiché"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_email
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__email
|
||||||
msgid "E-Mail"
|
msgid "E-Mail"
|
||||||
msgstr "Courriel"
|
msgstr "E-Mail"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:61
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "E-mail field must be empty when type is Primary/Secondary Phone, Primary/Secondary Mobile or Primary/Secondary Fax."
|
msgid ""
|
||||||
msgstr "Le champ courriel doit être vide quand le type est tél. primaire/secondaire, portable primaire/secondaire ou fax primaire/secondaire."
|
"E-mail field must be empty when type is Primary/Secondary Phone, "
|
||||||
|
"Primary/Secondary Mobile or Primary/Secondary Fax."
|
||||||
|
msgstr "Le champ E-mail doit être vide quand le type est Tél. principal/secondaire, Portable principal/secondaire ou Fax principal/secondaire."
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:51
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "E-mail field must have a value when type is Primary E-mail or Secondary E-mail."
|
msgid ""
|
||||||
msgstr "Le champ courriel doit être renseigné quand le type est courriel primaire ou courriel secondaire."
|
"E-mail field must have a value when type is Primary E-mail or Secondary "
|
||||||
|
"E-mail."
|
||||||
|
msgstr "Le champ E-mail doit avoir une valeur quand le type est E-mail principal ou secondaire."
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_id
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__email
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__email
|
||||||
|
msgid "Email"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__id
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__id
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr "ID"
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone___last_update
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner____last_update
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone____last_update
|
||||||
msgid "Last Modified on"
|
msgid "Last Modified on"
|
||||||
msgstr "Dernière modification le"
|
msgstr "Dernière modification le"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_write_uid
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__write_uid
|
||||||
msgid "Last Updated by"
|
msgid "Last Updated by"
|
||||||
msgstr "Dernière mise à jour par"
|
msgstr "Dernière modification par"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_write_date
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__write_date
|
||||||
msgid "Last Updated on"
|
msgid "Last Updated on"
|
||||||
msgstr "Dernière mise à jour le"
|
msgstr "Dernière modification le"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_note
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__mobile
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__mobile
|
||||||
|
msgid "Mobile"
|
||||||
|
msgstr "Portable"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner_phone
|
||||||
|
msgid "Multiple emails and phones for partners"
|
||||||
|
msgstr "Multiples e-mails et téléphones pour les partenaires"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__note
|
||||||
msgid "Note"
|
msgid "Note"
|
||||||
msgstr "Note"
|
msgstr "Note"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__phone
|
||||||
msgid "Partner"
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__phone
|
||||||
msgstr "Partenaire"
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__phone
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_phone
|
|
||||||
msgid "Phone"
|
msgid "Phone"
|
||||||
msgstr "Téléphone"
|
msgstr "Tél."
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:54
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_form
|
||||||
|
msgid "Phone and E-mail"
|
||||||
|
msgstr "Tél. et E-mail"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone field must be empty when type is Primary E-mail or Secondary E-mail."
|
msgid ""
|
||||||
msgstr "Le champ téléphone doit être vide quand le type est courriel primaire ou courriel secondaire."
|
"Phone field must be empty when type is Primary E-mail or Secondary E-mail."
|
||||||
|
msgstr "Le champ Tél. doit être vide quand le type est E-mail principal ou E-mail secondaire."
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: code:addons/base_partner_one2many_phone/partner_phone.py:58
|
#: code:addons/base_partner_one2many_phone/partner_phone.py:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Phone field must have a value when type is Primary/Secondary Phone, Primary/Secondary Mobile or Primary/Secondary Fax."
|
msgid ""
|
||||||
msgstr "Le champ téléphone doit être renseigné quand le type est tél. primaire/secondaire, portable primaire/secondaire ou fax primaire/secondaire.."
|
"Phone field must have a value when type is Primary/Secondary Phone, "
|
||||||
|
"Primary/Secondary Mobile or Primary/Secondary Fax."
|
||||||
|
msgstr "Le champ Tél. doit avoir une valeur quand le type est Tél. principal/secondaire, Portable principal/secondaire ou Fax principal/secondaire."
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_ids
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_tree
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users_phone_ids
|
|
||||||
msgid "Phones"
|
|
||||||
msgstr "Téléphones"
|
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_tree
|
|
||||||
msgid "Phones and E-mail"
|
msgid "Phones and E-mail"
|
||||||
msgstr "Téls et courriels"
|
msgstr "Téls et E-mail"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.actions.act_window,name:base_partner_one2many_phone.res_partner_phone_action
|
#: model:ir.actions.act_window,name:base_partner_one2many_phone.res_partner_phone_action
|
||||||
#: model:ir.ui.menu,name:base_partner_one2many_phone.res_partner_phone_menu
|
#: model:ir.ui.menu,name:base_partner_one2many_phone.res_partner_phone_menu
|
||||||
msgid "Phones/E-mails"
|
msgid "Phones/E-mails"
|
||||||
msgstr "Téls/Courriels"
|
msgstr "Téls/E-mails"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner__phone_ids
|
||||||
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_users__phone_ids
|
||||||
|
msgid "Phones/Emails"
|
||||||
|
msgstr "Téls/E-mails"
|
||||||
|
|
||||||
|
#. module: base_partner_one2many_phone
|
||||||
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__1_email_primary
|
||||||
msgid "Primary E-mail"
|
msgid "Primary E-mail"
|
||||||
msgstr "Courriel principal"
|
msgstr "E-mail principal"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__7_fax_primary
|
||||||
msgid "Primary Fax"
|
msgid "Primary Fax"
|
||||||
msgstr "Fax principal"
|
msgstr "Fax principal"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__5_mobile_primary
|
||||||
msgid "Primary Mobile"
|
msgid "Primary Mobile"
|
||||||
msgstr "Portable principal"
|
msgstr "Portable principal"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__3_phone_primary
|
||||||
msgid "Primary Phone"
|
msgid "Primary Phone"
|
||||||
msgstr "Tél principal"
|
msgstr "Tél. principal"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_partner_id
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__partner_id
|
||||||
msgid "Related Partner"
|
msgid "Related Partner"
|
||||||
msgstr "Partenaire associé"
|
msgstr "Partenaire associé"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
||||||
msgid "Search Phones/E-mail"
|
msgid "Search Phones/E-mail"
|
||||||
msgstr "Search Phones/E-mail"
|
msgstr ""
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__2_email_secondary
|
||||||
msgid "Secondary E-mail"
|
msgid "Secondary E-mail"
|
||||||
msgstr "Courriel secondaire"
|
msgstr "E-mail secondaire"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__8_fax_secondary
|
||||||
msgid "Secondary Fax"
|
msgid "Secondary Fax"
|
||||||
msgstr "Fax secondaire"
|
msgstr "Fax secondaire"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__6_mobile_secondary
|
||||||
msgid "Secondary Mobile"
|
msgid "Secondary Mobile"
|
||||||
msgstr "Portable secondaire"
|
msgstr "Portable secondaire"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: selection:res.partner.phone,type:0
|
#: model:ir.model.fields.selection,name:base_partner_one2many_phone.selection__res_partner_phone__type__4_phone_secondary
|
||||||
msgid "Secondary Phone"
|
msgid "Secondary Phone"
|
||||||
msgstr "Tél. secondaire"
|
msgstr "Tél. secondaire"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
#. module: base_partner_one2many_phone
|
||||||
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone_type
|
#: model:ir.model.fields,field_description:base_partner_one2many_phone.field_res_partner_phone__type
|
||||||
#: model:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
#: model_terms:ir.ui.view,arch_db:base_partner_one2many_phone.res_partner_phone_search
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#. module: base_partner_one2many_phone
|
|
||||||
#: model:ir.model,name:base_partner_one2many_phone.model_res_partner_phone
|
|
||||||
msgid "res.partner.phone"
|
|
||||||
msgstr "res.partner.phone"
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<field name="name">res.partner.phone.tree</field>
|
<field name="name">res.partner.phone.tree</field>
|
||||||
<field name="model">res.partner.phone</field>
|
<field name="model">res.partner.phone</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Phones and E-mail" editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="partner_id" invisible="not context.get('partner_phone_main_view')"/>
|
<field name="partner_id" invisible="not context.get('partner_phone_main_view')"/>
|
||||||
<field name="type"/>
|
<field name="type"/>
|
||||||
<field name="phone" widget="phone" options="{'enable_sms': false}" attrs="{'required': [('type', 'not in', ('1_email_primary', '2_email_secondary'))], 'readonly': [('type', 'in', ('1_email_primary', '2_email_secondary'))]}"/>
|
<field name="phone" widget="phone" options="{'enable_sms': false}" attrs="{'required': [('type', 'not in', ('1_email_primary', '2_email_secondary'))], 'readonly': [('type', 'in', ('1_email_primary', '2_email_secondary'))]}"/>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<field name="name">res.partner.phone.form</field>
|
<field name="name">res.partner.phone.form</field>
|
||||||
<field name="model">res.partner.phone</field>
|
<field name="model">res.partner.phone</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Phone and E-mail">
|
<form>
|
||||||
<group name="main">
|
<group name="main">
|
||||||
<field name="partner_id" invisible="not context.get('partner_phone_main_view')"/>
|
<field name="partner_id" invisible="not context.get('partner_phone_main_view')"/>
|
||||||
<field name="type"/>
|
<field name="type"/>
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
<field name="name">res.partner.phone.search</field>
|
<field name="name">res.partner.phone.search</field>
|
||||||
<field name="model">res.partner.phone</field>
|
<field name="model">res.partner.phone</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Search Phones/E-mail">
|
<search>
|
||||||
<field name="phone" />
|
<field name="phone" />
|
||||||
<field name="email" />
|
<field name="email" />
|
||||||
<group name="groupby">
|
<group name="groupby">
|
||||||
|
|||||||
@@ -28,7 +28,9 @@ Akretion:
|
|||||||
"depends": ["point_of_sale"],
|
"depends": ["point_of_sale"],
|
||||||
"data": [
|
"data": [
|
||||||
"report/pos.xml",
|
"report/pos.xml",
|
||||||
|
"views/report_pos_order.xml",
|
||||||
"views/pos_category.xml",
|
"views/pos_category.xml",
|
||||||
|
"views/pos_session.xml",
|
||||||
"views/product.xml",
|
"views/product.xml",
|
||||||
],
|
],
|
||||||
"installable": True,
|
"installable": True,
|
||||||
|
|||||||
31
pos_usability/views/pos_session.xml
Normal file
31
pos_usability/views/pos_session.xml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright 2021 Akretion France (http://www.akretion.com/)
|
||||||
|
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
-->
|
||||||
|
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="view_pos_session_form" model="ir.ui.view">
|
||||||
|
<field name="model">pos.session</field>
|
||||||
|
<field name="inherit_id" ref="point_of_sale.view_pos_session_form"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<button name="show_journal_items" position="after">
|
||||||
|
<button name="%(point_of_sale.action_report_pos_order_all)d" type="action" class="oe_stat_button" icon="fa-table" string="Stats" context="{'search_default_session_id': active_id}"/>
|
||||||
|
</button>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="view_pos_session_tree" model="ir.ui.view">
|
||||||
|
<field name="model">pos.session</field>
|
||||||
|
<field name="inherit_id" ref="point_of_sale.view_pos_session_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="state" position="attributes">
|
||||||
|
<attribute name="decoration-success">state == 'opened'</attribute>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
26
pos_usability/views/report_pos_order.xml
Normal file
26
pos_usability/views/report_pos_order.xml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Copyright 2021 Akretion France (http://www.akretion.com/)
|
||||||
|
@author: Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
-->
|
||||||
|
|
||||||
|
<odoo>
|
||||||
|
|
||||||
|
<record id="view_report_pos_order_search" model="ir.ui.view">
|
||||||
|
<field name="model">report.pos.order</field>
|
||||||
|
<field name="inherit_id" ref="point_of_sale.view_report_pos_order_search"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<field name="product_categ_id" position="after">
|
||||||
|
<field name="session_id"/>
|
||||||
|
</field>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="point_of_sale.action_report_pos_order_all" model="ir.actions.act_window">
|
||||||
|
<field name="view_mode">pivot,graph</field> <!-- invert native order -->
|
||||||
|
</record>
|
||||||
|
|
||||||
|
|
||||||
|
</odoo>
|
||||||
@@ -23,6 +23,7 @@ Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com> for
|
|||||||
'purchase_usability',
|
'purchase_usability',
|
||||||
],
|
],
|
||||||
'data': [
|
'data': [
|
||||||
|
'views/purchase_order_views.xml',
|
||||||
'views/stock_picking.xml',
|
'views/stock_picking.xml',
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
|
|||||||
111
purchase_stock_usability/i18n/fr.po
Normal file
111
purchase_stock_usability/i18n/fr.po
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * purchase_stock_usability
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2021-11-02 09:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2021-11-02 09:56+0000\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: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__picking_type_id
|
||||||
|
msgid "Deliver To"
|
||||||
|
msgstr "Livrer à"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__display_name
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr "Nom affiché"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__received
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__received
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "Fully Received"
|
||||||
|
msgstr "Entièrement reçue"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__id
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__incoterm_id
|
||||||
|
msgid "Incoterm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,help:purchase_stock_usability.field_purchase_order__incoterm_id
|
||||||
|
msgid ""
|
||||||
|
"International Commercial Terms are a series of predefined commercial terms "
|
||||||
|
"used in international transactions."
|
||||||
|
msgstr ""
|
||||||
|
"Les Incoterms sont une série prédéfinie de termes commerciaux utilisés dans "
|
||||||
|
"les transactions internationales."
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order____last_update
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line____last_update
|
||||||
|
msgid "Last Modified on"
|
||||||
|
msgstr "Dernière modification le"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__no
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__no
|
||||||
|
msgid "Nothing to Receive"
|
||||||
|
msgstr "Rien à recevoir"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__partially_received
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__partially_received
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "Partially Received"
|
||||||
|
msgstr "Partiellement reçue"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model,name:purchase_stock_usability.model_purchase_order
|
||||||
|
msgid "Purchase Order"
|
||||||
|
msgstr "Commande fournisseur"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model,name:purchase_stock_usability.model_purchase_order_line
|
||||||
|
msgid "Purchase Order Line"
|
||||||
|
msgstr "Ligne de commande fournisseur"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__cancel
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__cancel
|
||||||
|
msgid "Receipt Cancelled"
|
||||||
|
msgstr "Réception annulée"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__picking_status
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__move_status
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
msgid "Reception Status"
|
||||||
|
msgstr "État de réception"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,help:purchase_stock_usability.field_purchase_order__picking_type_id
|
||||||
|
msgid "This will determine operation type of incoming shipment"
|
||||||
|
msgstr "Cela déterminera le type d'opération des réceptions"
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__to_receive
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__to_receive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "To Receive"
|
||||||
|
msgstr "À recevoir"
|
||||||
109
purchase_stock_usability/i18n/purchase_stock_usability.pot
Normal file
109
purchase_stock_usability/i18n/purchase_stock_usability.pot
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
# Translation of Odoo Server.
|
||||||
|
# This file contains the translation of the following modules:
|
||||||
|
# * purchase_stock_usability
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: Odoo Server 14.0\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2021-11-02 09:56+0000\n"
|
||||||
|
"PO-Revision-Date: 2021-11-02 09:56+0000\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: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__picking_type_id
|
||||||
|
msgid "Deliver To"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__display_name
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__display_name
|
||||||
|
msgid "Display Name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__received
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__received
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "Fully Received"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__id
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__id
|
||||||
|
msgid "ID"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__incoterm_id
|
||||||
|
msgid "Incoterm"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,help:purchase_stock_usability.field_purchase_order__incoterm_id
|
||||||
|
msgid ""
|
||||||
|
"International Commercial Terms are a series of predefined commercial terms "
|
||||||
|
"used in international transactions."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order____last_update
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line____last_update
|
||||||
|
msgid "Last Modified on"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__no
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__no
|
||||||
|
msgid "Nothing to Receive"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__partially_received
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__partially_received
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "Partially Received"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model,name:purchase_stock_usability.model_purchase_order
|
||||||
|
msgid "Purchase Order"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model,name:purchase_stock_usability.model_purchase_order_line
|
||||||
|
msgid "Purchase Order Line"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__cancel
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__cancel
|
||||||
|
msgid "Receipt Cancelled"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order__picking_status
|
||||||
|
#: model:ir.model.fields,field_description:purchase_stock_usability.field_purchase_order_line__move_status
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
msgid "Reception Status"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields,help:purchase_stock_usability.field_purchase_order__picking_type_id
|
||||||
|
msgid "This will determine operation type of incoming shipment"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: purchase_stock_usability
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order__picking_status__to_receive
|
||||||
|
#: model:ir.model.fields.selection,name:purchase_stock_usability.selection__purchase_order_line__move_status__to_receive
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_line_search
|
||||||
|
#: model_terms:ir.ui.view,arch_db:purchase_stock_usability.purchase_order_view_search
|
||||||
|
msgid "To Receive"
|
||||||
|
msgstr ""
|
||||||
@@ -6,21 +6,95 @@ from odoo import api, fields, models
|
|||||||
|
|
||||||
|
|
||||||
class PurchaseOrder(models.Model):
|
class PurchaseOrder(models.Model):
|
||||||
_inherit = 'purchase.order'
|
_inherit = "purchase.order"
|
||||||
|
|
||||||
picking_type_id = fields.Many2one(tracking=True)
|
picking_type_id = fields.Many2one(tracking=True)
|
||||||
incoterm_id = fields.Many2one(tracking=True)
|
incoterm_id = fields.Many2one(tracking=True)
|
||||||
|
picking_status = fields.Selection(
|
||||||
|
[
|
||||||
|
("received", "Fully Received"),
|
||||||
|
("partially_received", "Partially Received"),
|
||||||
|
("to_receive", "To Receive"),
|
||||||
|
("cancel", "Receipt Cancelled"),
|
||||||
|
("no", "Nothing to Receive"),
|
||||||
|
],
|
||||||
|
string="Reception Status",
|
||||||
|
compute="_compute_picking_status",
|
||||||
|
store=True,
|
||||||
|
default="no",
|
||||||
|
)
|
||||||
|
|
||||||
|
@api.depends("state", "picking_ids.state")
|
||||||
|
def _compute_picking_status(self):
|
||||||
|
for order in self:
|
||||||
|
line_ids = order.order_line
|
||||||
|
order.picking_status = line_ids.get_move_status()
|
||||||
|
|
||||||
# inherit compute method of the field delivery_partner_id
|
# inherit compute method of the field delivery_partner_id
|
||||||
# defined in purchase_usability
|
# defined in purchase_usability
|
||||||
@api.depends('dest_address_id', 'picking_type_id')
|
@api.depends("dest_address_id", "picking_type_id")
|
||||||
def _compute_delivery_partner_id(self):
|
def _compute_delivery_partner_id(self):
|
||||||
for o in self:
|
for o in self:
|
||||||
delivery_partner_id = False
|
delivery_partner_id = False
|
||||||
if o.dest_address_id:
|
if o.dest_address_id:
|
||||||
delivery_partner_id = o.dest_address_id
|
delivery_partner_id = o.dest_address_id
|
||||||
elif (
|
elif (
|
||||||
o.picking_type_id.warehouse_id and
|
o.picking_type_id.warehouse_id
|
||||||
o.picking_type_id.warehouse_id.partner_id):
|
and o.picking_type_id.warehouse_id.partner_id
|
||||||
|
):
|
||||||
delivery_partner_id = o.picking_type_id.warehouse_id.partner_id
|
delivery_partner_id = o.picking_type_id.warehouse_id.partner_id
|
||||||
o.delivery_partner_id = delivery_partner_id
|
o.delivery_partner_id = delivery_partner_id
|
||||||
|
|
||||||
|
|
||||||
|
class PurchaseOrderLine(models.Model):
|
||||||
|
_inherit = "purchase.order.line"
|
||||||
|
|
||||||
|
move_status = fields.Selection(
|
||||||
|
[
|
||||||
|
("received", "Fully Received"),
|
||||||
|
("partially_received", "Partially Received"),
|
||||||
|
("to_receive", "To Receive"),
|
||||||
|
("cancel", "Receipt Cancelled"),
|
||||||
|
("no", "Nothing to Receive"),
|
||||||
|
],
|
||||||
|
string="Reception Status",
|
||||||
|
compute="_compute_move_status",
|
||||||
|
store=True,
|
||||||
|
default="no",
|
||||||
|
)
|
||||||
|
|
||||||
|
def get_move_status(self):
|
||||||
|
"""
|
||||||
|
Returns the reception status of the related lines stock moves.
|
||||||
|
Possible statuses:
|
||||||
|
- no: if the PO is not in status 'purchase' nor 'done', we consider that
|
||||||
|
there is nothing to receive. This is also the default value if the
|
||||||
|
conditions of no other status is met.
|
||||||
|
- cancel: all stock moves are cancelled
|
||||||
|
- received: if all stock moves are done or cancel.
|
||||||
|
- partially_received: If at least one stock move is done.
|
||||||
|
- to_receive: if all stock moves are in confirmed, assigned, waiting or
|
||||||
|
cancel state.
|
||||||
|
"""
|
||||||
|
move_status = "no"
|
||||||
|
mstates = self.move_ids.mapped("state")
|
||||||
|
|
||||||
|
if all([state == "cancel" for state in mstates]):
|
||||||
|
move_status = "cancel"
|
||||||
|
elif all([state in ("done", "cancel") for state in mstates]):
|
||||||
|
move_status = "received"
|
||||||
|
elif any([state == "done" for state in mstates]):
|
||||||
|
move_status = "partially_received"
|
||||||
|
elif all(
|
||||||
|
[
|
||||||
|
state in ("confirmed", "assigned", "waiting", "cancel")
|
||||||
|
for state in mstates
|
||||||
|
]
|
||||||
|
):
|
||||||
|
move_status = "to_receive"
|
||||||
|
return move_status
|
||||||
|
|
||||||
|
@api.depends("state", "move_ids.state")
|
||||||
|
def _compute_move_status(self):
|
||||||
|
for line in self:
|
||||||
|
line.move_status = line.get_move_status()
|
||||||
|
|||||||
39
purchase_stock_usability/views/purchase_order_views.xml
Normal file
39
purchase_stock_usability/views/purchase_order_views.xml
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="purchase_order_view_tree" model="ir.ui.view">
|
||||||
|
<field name="name">purchase.order.view.tree (in purchase_stock_usability)</field>
|
||||||
|
<field name="model">purchase.order</field>
|
||||||
|
<field name="inherit_id" ref="purchase.purchase_order_view_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//field[@name='invoice_status']" position="after">
|
||||||
|
<field name="picking_status" decoration-success="picking_status == 'received'" decoration-info="picking_status == 'to_receive'" decoration-warning="picking_status == 'partially_received'" decoration-danger="picking_status == 'cancel'" widget="badge" optional="show"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="purchase_order_view_search" model="ir.ui.view">
|
||||||
|
<field name="name">purchase.order.select (in purchase_stock_usability)</field>
|
||||||
|
<field name="model">purchase.order</field>
|
||||||
|
<field name="inherit_id" ref="purchase.purchase_order_view_search"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//filter[@name='order_date']" position="before">
|
||||||
|
<filter name="received" string="Pickings fully received" domain="[('picking_status', '=', 'received')]"/>
|
||||||
|
<filter name="partially_received" string="Pickings partially received" domain="[('picking_status', '=', 'partially_received')]"/>
|
||||||
|
<filter name="to_receive" string="Pickings to receive" domain="[('picking_status', '=', 'to_receive')]"/>
|
||||||
|
<separator/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
<record id="purchase_order_line_tree" model="ir.ui.view">
|
||||||
|
<field name="name">purchase.order.line.view.tree (in purchase_stock_usability)</field>
|
||||||
|
<field name="model">purchase.order.line</field>
|
||||||
|
<field name="inherit_id" ref="purchase.purchase_order_line_tree"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//tree" position="inside">
|
||||||
|
<field name="move_status" decoration-success="move_status == 'received'" decoration-info="move_status == 'to_receive'" decoration-warning="move_status == 'partially_received'" decoration-danger="move_status == 'cancel'" widget="badge" optional="show"/>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# Copyright 2021 Akretion
|
|
||||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
||||||
|
|
||||||
{
|
|
||||||
'name': 'Web Tab Title',
|
|
||||||
'description': """
|
|
||||||
Automatically set tab document.title when empty.
|
|
||||||
Important limitation: the tab will get its title only once you browse it.
|
|
||||||
""",
|
|
||||||
'version': '14.0.1.0.0',
|
|
||||||
'license': 'AGPL-3',
|
|
||||||
'author': 'Akretion',
|
|
||||||
'website': 'akretion.com',
|
|
||||||
'depends': [
|
|
||||||
'web',
|
|
||||||
],
|
|
||||||
'data': [
|
|
||||||
],
|
|
||||||
'demo': [
|
|
||||||
],
|
|
||||||
"data": ["views/web_tab_title.xml"],
|
|
||||||
"maintainers": ["rvalyi"],
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/* global vis, py */
|
|
||||||
odoo.define("web_tab_title.AbstractWebClient", function (require) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var AbstractWebClient = require('web.AbstractWebClient');
|
|
||||||
|
|
||||||
var TabTitleAbstractWebClient = AbstractWebClient.include({
|
|
||||||
|
|
||||||
_title_changed: function () {
|
|
||||||
// like the original except we change the title
|
|
||||||
// only when it's different from "Odoo" to avoid
|
|
||||||
// resetting the tab title when switching tabs.
|
|
||||||
var parts = _.sortBy(_.keys(this.get("title_part")), function (x) { return x; });
|
|
||||||
var tmp = "";
|
|
||||||
_.each(parts, function (part) {
|
|
||||||
var str = this.get("title_part")[part];
|
|
||||||
if (str) {
|
|
||||||
tmp = tmp ? tmp + " - " + str : str;
|
|
||||||
}
|
|
||||||
}, this);
|
|
||||||
if (tmp != "Odoo") {
|
|
||||||
document.title = tmp;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
return TabTitleAbstractWebClient;
|
|
||||||
});
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/* global vis, py */
|
|
||||||
odoo.define("web_tab_title.FormController", function (require) {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
var FormController = require('web.FormController');
|
|
||||||
|
|
||||||
var TabTitleController = FormController.include({
|
|
||||||
|
|
||||||
on_attach_callback: function () {
|
|
||||||
this._super.apply(this, arguments);
|
|
||||||
|
|
||||||
if (document.title == "Odoo") {
|
|
||||||
var form_name_elem = $("div.oe_title>h1");
|
|
||||||
if (form_name_elem.length == 0) {
|
|
||||||
form_name_elem = $('span.o_field_char[name="name"]')
|
|
||||||
}
|
|
||||||
var title = form_name_elem.text();
|
|
||||||
if (title !== '') {
|
|
||||||
// alternatively we could access the record
|
|
||||||
// in views/basic/basic_model.js
|
|
||||||
// but we would also we miss the model name
|
|
||||||
document.title = title + " - Odoo";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
return TabTitleController;
|
|
||||||
});
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<odoo>
|
|
||||||
<template
|
|
||||||
id="assets_backend"
|
|
||||||
name="web_timeline assets"
|
|
||||||
inherit_id="web.assets_backend"
|
|
||||||
>
|
|
||||||
<xpath expr="." position="inside">
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/web_tab_title/static/src/js/form_controller.js"
|
|
||||||
/>
|
|
||||||
<script
|
|
||||||
type="text/javascript"
|
|
||||||
src="/web_tab_title/static/src/js/abstract_web_client.js"
|
|
||||||
/>
|
|
||||||
</xpath>
|
|
||||||
</template>
|
|
||||||
</odoo>
|
|
||||||
Reference in New Issue
Block a user