Browse Source

Merge branch '8.0' into fix-154

pull/170/head
Jairo Llopis 9 years ago
parent
commit
43be030168
  1. 2
      README.md
  2. 119
      base_continent/i18n/de.po
  3. 149
      base_location/i18n/de.po
  4. 98
      base_location_geonames_import/i18n/de.po
  5. 212
      base_location_nuts/i18n/de.po
  6. 320
      base_partner_merge/i18n/de.po
  7. 188
      partner_external_maps/i18n/de.po
  8. 6
      partner_firstname/i18n/en.po
  9. 6
      partner_firstname/i18n/es.po
  10. 6
      partner_firstname/i18n/sl.po
  11. 42
      partner_firstname/models.py
  12. 10
      partner_firstname/tests/__init__.py
  13. 3
      partner_firstname/tests/base.py
  14. 82
      partner_firstname/tests/test_create.py
  15. 407
      partner_relations/i18n/de.po
  16. 68
      partner_second_lastname/i18n/en.po
  17. 69
      partner_second_lastname/i18n/sl.po
  18. 146
      passport/i18n/de.po
  19. 6
      res_partner_affiliate/i18n/de.po

2
README.md

@ -35,7 +35,7 @@ addon | version | summary
[partner_contact_nationality](partner_contact_nationality/) | 8.0.1.0.0 | Contact's nationality [partner_contact_nationality](partner_contact_nationality/) | 8.0.1.0.0 | Contact's nationality
[partner_contact_personal_information_page](partner_contact_personal_information_page/) | 8.0.1.0.0 | Add a page to contacts form to put personal information [partner_contact_personal_information_page](partner_contact_personal_information_page/) | 8.0.1.0.0 | Add a page to contacts form to put personal information
[partner_external_maps](partner_external_maps/) | 8.0.0.1.0 | Add Map and Map Routing buttons on partner form to open GMaps, OSM, Bing and others [partner_external_maps](partner_external_maps/) | 8.0.0.1.0 | Add Map and Map Routing buttons on partner form to open GMaps, OSM, Bing and others
[partner_firstname](partner_firstname/) | 8.0.2.0.0 | Split first name and last name for non company partners
[partner_firstname](partner_firstname/) | 8.0.2.0.1 | Split first name and last name for non company partners
[partner_helper](partner_helper/) | 8.0.0.1.0 | Partner Helper [partner_helper](partner_helper/) | 8.0.0.1.0 | Partner Helper
[partner_relations](partner_relations/) | 8.0.1.1.0 | Partner relations [partner_relations](partner_relations/) | 8.0.1.1.0 | Partner relations
[partner_second_lastname](partner_second_lastname/) | 8.0.4.0.0 | Partner second last name [partner_second_lastname](partner_second_lastname/) | 8.0.4.0.0 | Partner second last name

119
base_continent/i18n/de.po

@ -0,0 +1,119 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_continent
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:34+0000\n"
"PO-Revision-Date: 2015-11-06 18:18+0000\n"
"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: base_continent
#: model:res.continent,name:base_continent.af
msgid "Africa"
msgstr ""
#. module: base_continent
#: model:res.continent,name:base_continent.an
msgid "Antarctica"
msgstr ""
#. module: base_continent
#: model:res.continent,name:base_continent.as
msgid "Asia"
msgstr ""
#. module: base_continent
#: model:ir.model,name:base_continent.model_res_continent
#: view:res.continent:base_continent.view_continent_form
#: view:res.continent:base_continent.view_continent_tree
#: field:res.country,continent_id:0 field:res.partner,continent_id:0
msgid "Continent"
msgstr ""
#. module: base_continent
#: field:res.continent,name:0
msgid "Continent Name"
msgstr ""
#. module: base_continent
#: model:ir.actions.act_window,name:base_continent.action_continent
#: model:ir.ui.menu,name:base_continent.menu_continent_partner
msgid "Continents"
msgstr ""
#. module: base_continent
#: model:ir.model,name:base_continent.model_res_country
msgid "Country"
msgstr ""
#. module: base_continent
#: field:res.continent,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: base_continent
#: field:res.continent,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: base_continent
#: model:ir.actions.act_window,help:base_continent.action_continent
msgid ""
"Display and manage the list of all continents that can be assigned to your "
"partner records."
msgstr ""
#. module: base_continent
#: model:res.continent,name:base_continent.eu
msgid "Europe"
msgstr ""
#. module: base_continent
#: field:res.continent,id:0
msgid "ID"
msgstr "ID"
#. module: base_continent
#: field:res.continent,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: base_continent
#: field:res.continent,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: base_continent
#: model:res.continent,name:base_continent.na
msgid "North America"
msgstr ""
#. module: base_continent
#: model:res.continent,name:base_continent.oc
msgid "Oceania"
msgstr ""
#. module: base_continent
#: model:ir.model,name:base_continent.model_res_partner
msgid "Partner"
msgstr ""
#. module: base_continent
#: model:res.continent,name:base_continent.sa
msgid "South America"
msgstr ""
#. module: base_continent
#: help:res.continent,name:0
msgid "The full name of the continent."
msgstr ""

149
base_location/i18n/de.po

@ -0,0 +1,149 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_location
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:34+0000\n"
"PO-Revision-Date: 2015-11-06 18:20+0000\n"
"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: base_location
#: model:ir.actions.act_window,name:base_location.action_zip_tree
msgid "Cites/locations Management"
msgstr ""
#. module: base_location
#: field:res.country.state,better_zip_ids:0
msgid "Cities"
msgstr ""
#. module: base_location
#: model:ir.ui.menu,name:base_location.zip_base
msgid "Cities/Locations Management"
msgstr ""
#. module: base_location
#: field:res.better.zip,city:0
msgid "City"
msgstr ""
#. module: base_location
#: field:res.better.zip,code:0
msgid "City Code"
msgstr ""
#. module: base_location
#: view:res.company:base_location.view_company_form_city
#: view:res.partner:base_location.view_partner_form
msgid "City completion"
msgstr ""
#. module: base_location
#: field:res.partner,zip_id:0
msgid "City/Location"
msgstr ""
#. module: base_location
#: model:ir.model,name:base_location.model_res_better_zip
msgid "City/locations completion object"
msgstr ""
#. module: base_location
#: model:ir.model,name:base_location.model_res_company
msgid "Companies"
msgstr ""
#. module: base_location
#: view:res.better.zip:base_location.view_better_zip_filter
#: field:res.better.zip,country_id:0
#: view:res.country:base_location.view_country_search
msgid "Country"
msgstr ""
#. module: base_location
#: model:ir.model,name:base_location.model_res_country_state
msgid "Country state"
msgstr ""
#. module: base_location
#: field:res.better.zip,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: base_location
#: field:res.better.zip,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: base_location
#: view:res.better.zip:base_location.view_better_zip_filter
msgid "Group By"
msgstr ""
#. module: base_location
#: field:res.better.zip,id:0
msgid "ID"
msgstr "ID"
#. module: base_location
#: field:res.better.zip,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: base_location
#: field:res.better.zip,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: base_location
#: field:res.company,better_zip_id:0
msgid "Location"
msgstr ""
#. module: base_location
#: field:res.better.zip,display_name:0
msgid "Name"
msgstr "Name"
#. module: base_location
#: model:ir.model,name:base_location.model_res_partner
msgid "Partner"
msgstr ""
#. module: base_location
#: view:res.better.zip:base_location.view_better_zip_filter
msgid "Search city"
msgstr ""
#. module: base_location
#: view:res.better.zip:base_location.view_better_zip_filter
#: field:res.better.zip,state_id:0
msgid "State"
msgstr ""
#. module: base_location
#: help:res.better.zip,code:0
msgid "The official code for the city"
msgstr ""
#. module: base_location
#: help:res.company,better_zip_id:0
msgid "Use the city name or the zip code to search the location"
msgstr ""
#. module: base_location
#: view:res.better.zip:base_location.better_zip_form
#: view:res.better.zip:base_location.better_zip_tree
#: field:res.better.zip,name:0
msgid "ZIP"
msgstr ""

98
base_location_geonames_import/i18n/de.po

@ -0,0 +1,98 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_location_geonames_import
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:34+0000\n"
"PO-Revision-Date: 2015-11-06 18:18+0000\n"
"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: base_location_geonames_import
#: view:better.zip.geonames.import:base_location_geonames_import.better_zip_geonames_import_form
msgid "Cancel"
msgstr "abbrechen"
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,country_id:0
msgid "Country"
msgstr ""
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: base_location_geonames_import
#: view:better.zip.geonames.import:base_location_geonames_import.better_zip_geonames_import_form
msgid ""
"For the country selected above, this wizard will download the latest version"
" of the list of cities from geonames.org, create new location entries if not"
" found already in the system, and DELETE MISSING ENTRIES from new file."
msgstr ""
#. module: base_location_geonames_import
#: code:addons/base_location_geonames_import/wizard/geonames_import.py:128
#, python-format
msgid "Got an error %d when trying to download the file %s."
msgstr ""
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,id:0
msgid "ID"
msgstr "ID"
#. module: base_location_geonames_import
#: view:better.zip.geonames.import:base_location_geonames_import.better_zip_geonames_import_form
msgid "Import"
msgstr ""
#. module: base_location_geonames_import
#: model:ir.model,name:base_location_geonames_import.model_better_zip_geonames_import
msgid "Import Better Zip from Geonames"
msgstr ""
#. module: base_location_geonames_import
#: view:better.zip.geonames.import:base_location_geonames_import.better_zip_geonames_import_form
#: model:ir.actions.act_window,name:base_location_geonames_import.better_zip_geonames_import_action
#: model:ir.ui.menu,name:base_location_geonames_import.better_zip_geonames_import_menu
msgid "Import from Geonames"
msgstr ""
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: base_location_geonames_import
#: field:better.zip.geonames.import,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: base_location_geonames_import
#: code:addons/base_location_geonames_import/wizard/geonames_import.py:79
#, python-format
msgid ""
"The country code inside the file (%s) doesn't correspond to the selected "
"country (%s)."
msgstr ""
#. module: base_location_geonames_import
#: code:addons/base_location_geonames_import/wizard/geonames_import.py:105
#, python-format
msgid "Too many states with code %s for country %s"
msgstr ""

212
base_location_nuts/i18n/de.po

@ -0,0 +1,212 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_location_nuts
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:34+0000\n"
"PO-Revision-Date: 2015-10-06 13:57+0000\n"
"Last-Translator: <>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: base_location_nuts
#: view:nuts.import:base_location_nuts.nuts_import_form
msgid "Cancel"
msgstr "abbrechen"
#. module: base_location_nuts
#: field:res.partner.nuts,children:0
msgid "Children"
msgstr ""
#. module: base_location_nuts
#: field:res.partner.nuts,code:0
msgid "Code"
msgstr ""
#. module: base_location_nuts
#: view:res.partner.nuts:base_location_nuts.view_res_partner_nuts_filter
#: field:res.partner.nuts,country_id:0
msgid "Country"
msgstr ""
#. module: base_location_nuts
#: field:nuts.import,create_uid:0 field:res.partner.nuts,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: base_location_nuts
#: field:nuts.import,create_date:0 field:res.partner.nuts,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: base_location_nuts
#: code:addons/base_location_nuts/wizard/nuts_import.py:130
#, python-format
msgid "Downloaded file is not a valid XML file"
msgstr ""
#. module: base_location_nuts
#: code:addons/base_location_nuts/wizard/nuts_import.py:122
#, python-format
msgid "Got an error %d when trying to download the file %s."
msgstr ""
#. module: base_location_nuts
#: code:addons/base_location_nuts/wizard/nuts_import.py:118
#, python-format
msgid "Got an error when trying to download the file: %s."
msgstr ""
#. module: base_location_nuts
#: view:res.partner.nuts:base_location_nuts.view_res_partner_nuts_filter
msgid "Group By"
msgstr ""
#. module: base_location_nuts
#: field:nuts.import,id:0 field:res.partner.nuts,id:0
msgid "ID"
msgstr "ID"
#. module: base_location_nuts
#: view:nuts.import:base_location_nuts.nuts_import_form
msgid "Import"
msgstr ""
#. module: base_location_nuts
#: model:ir.ui.menu,name:base_location_nuts.nuts_import_menu
msgid "Import NUTS 2013"
msgstr ""
#. module: base_location_nuts
#: model:ir.actions.act_window,name:base_location_nuts.nuts_import_action
#: view:nuts.import:base_location_nuts.nuts_import_form
msgid "Import NUTS 2013 from RAMON"
msgstr ""
#. module: base_location_nuts
#: model:ir.model,name:base_location_nuts.model_nuts_import
msgid "Import NUTS items from European RAMON service"
msgstr ""
#. module: base_location_nuts
#: field:nuts.import,write_uid:0 field:res.partner.nuts,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: base_location_nuts
#: field:nuts.import,write_date:0 field:res.partner.nuts,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: base_location_nuts
#: view:res.partner.nuts:base_location_nuts.view_res_partner_nuts_filter
#: field:res.partner.nuts,level:0
msgid "Level"
msgstr ""
#. module: base_location_nuts
#: model:ir.model,name:base_location_nuts.model_res_partner_nuts
#: view:res.partner.nuts:base_location_nuts.res_partner_nuts_form
msgid "NUTS Item"
msgstr ""
#. module: base_location_nuts
#: model:ir.actions.act_window,name:base_location_nuts.res_partner_nuts_action
#: model:ir.ui.menu,name:base_location_nuts.res_partner_nuts_menu
#: view:res.partner.nuts:base_location_nuts.res_partner_nuts_tree
msgid "NUTS Items"
msgstr ""
#. module: base_location_nuts
#: field:res.partner.nuts,name:0
msgid "Name"
msgstr "Name"
#. module: base_location_nuts
#: field:res.partner.nuts,parent_left:0
msgid "Parent Left"
msgstr ""
#. module: base_location_nuts
#: field:res.partner.nuts,parent_right:0
msgid "Parent Right"
msgstr ""
#. module: base_location_nuts
#: field:res.partner.nuts,parent_id:0
msgid "Parent id"
msgstr ""
#. module: base_location_nuts
#: model:ir.model,name:base_location_nuts.model_res_partner
msgid "Partner"
msgstr ""
#. module: base_location_nuts
#: code:addons/base_location_nuts/models/res_partner.py:34
#: view:res.partner:base_location_nuts.view_res_partner_filter_nuts
#: field:res.partner,region:0
#, python-format
msgid "Region"
msgstr ""
#. module: base_location_nuts
#: view:res.partner:base_location_nuts.view_res_partner_filter_nuts
msgid "Salesperson"
msgstr ""
#. module: base_location_nuts
#: view:res.partner.nuts:base_location_nuts.view_res_partner_nuts_filter
msgid "Search NUTS"
msgstr ""
#. module: base_location_nuts
#: field:res.partner.nuts,state_id:0
msgid "State"
msgstr ""
#. module: base_location_nuts
#: code:addons/base_location_nuts/models/res_partner.py:35
#: view:res.partner:base_location_nuts.view_res_partner_filter_nuts
#: field:res.partner,substate:0
#, python-format
msgid "Substate"
msgstr ""
#. module: base_location_nuts
#: view:nuts.import:base_location_nuts.nuts_import_form
msgid ""
"This wizard will download the lastest version of\n"
" NUTS 2013 from Europe RAMON metadata service.\n"
" Updating or creating new NUTS entries if not\n"
" found already in the system, and DELETING MISSING\n"
" ENTRIES from new downloaded file."
msgstr ""
#. module: base_location_nuts
#: code:addons/base_location_nuts/wizard/nuts_import.py:97
#, python-format
msgid "Value not found for mandatory field %s"
msgstr ""
#. module: base_location_nuts
#: model:ir.actions.todo,note:base_location_nuts.config_wizard_nuts
msgid "You can import NUTS from RAMON european service."
msgstr ""
#. module: base_location_nuts
#: model:ir.actions.act_window,help:base_location_nuts.res_partner_nuts_action
msgid ""
"You must click at import wizard to populate NUTS items\n"
" in Odoo database in:\n"
" Sales > Configuration > Address Book > Localization > Import NUTS 2013"
msgstr ""

320
base_partner_merge/i18n/de.po

@ -0,0 +1,320 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * base_partner_merge
#
# Translators:
# Thomas A. Jaeger, 2015
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:34+0000\n"
"PO-Revision-Date: 2015-11-06 18:21+0000\n"
"Last-Translator: Thomas A. Jaeger\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,exclude_contact:0
msgid "A user associated to the contact"
msgstr ""
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:350
#, python-format
msgid ""
"All contacts must have the same email. Only the Administrator can merge "
"contacts with different emails."
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Are you sure to execute the automatic merge of your contacts ?"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid ""
"Are you sure to execute the list of automatic merges of your contacts ?"
msgstr ""
#. module: base_partner_merge
#: model:ir.actions.act_window,name:base_partner_merge.action_partner_merge
msgid "Automatic Merge"
msgstr "Automatische Zusammenführung"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Automatic Merge Wizard"
msgstr "Wizard für die automatische Zusammenführung"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Cancel"
msgstr "abbrechen"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Close"
msgstr "schliessen"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,partner_ids:0
msgid "Contacts"
msgstr "Kontakte"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,create_uid:0
#: field:base.partner.merge.line,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,create_date:0
#: field:base.partner.merge.line,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,current_line_id:0
msgid "Current Line"
msgstr ""
#. module: base_partner_merge
#: model:ir.actions.act_window,name:base_partner_merge.base_partner_merge_automatic_act
#: model:ir.ui.menu,name:base_partner_merge.partner_merge_automatic_menu
msgid "Deduplicate Contacts"
msgstr "Deduplizieren der Kontakte"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Deduplicate the other Contacts"
msgstr "Deduplizieren der anderen Kontakte"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,dst_partner_id:0
msgid "Destination Contact"
msgstr "Zielkontakt"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,group_by_email:0
msgid "Email"
msgstr "Email"
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:339
#: code:addons/base_partner_merge/base_partner_merge.py:349
#: code:addons/base_partner_merge/base_partner_merge.py:374
#: code:addons/base_partner_merge/base_partner_merge.py:510
#, python-format
msgid "Error"
msgstr "Fehler"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Exclude contacts having"
msgstr "Erhaltene Kontakte ausschliessen"
#. module: base_partner_merge
#: selection:base.partner.merge.automatic.wizard,state:0
msgid "Finished"
msgstr "erledigt"
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:340
#, python-format
msgid ""
"For safety reasons, you cannot merge more than 3 contacts together. You can "
"re-open the wizard several times if needed."
msgstr ""
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,number_group:0
msgid "Group of Contacts"
msgstr "Kontaktgruppen"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,id:0
#: field:base.partner.merge.line,id:0
msgid "ID"
msgstr "ID"
#. module: base_partner_merge
#: field:base.partner.merge.line,aggr_ids:0
msgid "Ids"
msgstr "IDs"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,group_by_is_company:0
msgid "Is Company"
msgstr "Ist ein Unternehmen"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,exclude_journal_item:0
msgid "Journal Items associated to the contact"
msgstr "Mit dem Vertrag verbundene Journaleinträge "
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,write_uid:0
#: field:base.partner.merge.line,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,write_date:0
#: field:base.partner.merge.line,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,line_ids:0
msgid "Lines"
msgstr "Zeilen"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,maximum_group:0
msgid "Maximum of Group of Contacts"
msgstr "Maximale Gruppenkontakte"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Merge Automatically"
msgstr "Automatisch zusammenführen"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Merge Automatically all process"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Merge Selection"
msgstr "Selektion für die Zusammenführung"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Merge the following contacts"
msgstr "Führe folgenden Kontakte zusammen"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Merge with Manual Check"
msgstr "Zusammenführen nach manueller Prüfung"
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:391
#, python-format
msgid "Merged with the following partners:"
msgstr "Mit folgenden Partner zusammengeführt:"
#. module: base_partner_merge
#: field:base.partner.merge.line,min_id:0
msgid "MinID"
msgstr "MinID"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,group_by_name:0
msgid "Name"
msgstr "Name"
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:375
#, python-format
msgid ""
"Only the destination contact may be linked to existing Journal Items. Please"
" ask the Administrator if you need to merge several contacts linked to "
"existing Journal Items."
msgstr ""
#. module: base_partner_merge
#: selection:base.partner.merge.automatic.wizard,state:0
msgid "Option"
msgstr "Option"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Options"
msgstr "Optionen"
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,group_by_parent_id:0
msgid "Parent Company"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Partners"
msgstr "Partner"
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Search duplicates based on duplicated data in"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid ""
"Select the list of fields used to search for\n"
" duplicated records. If you select several fields,\n"
" OpenERP will propose you to merge only those having\n"
" all these fields in common. (not one of the fields)."
msgstr ""
#. module: base_partner_merge
#: selection:base.partner.merge.automatic.wizard,state:0
msgid "Selection"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "Skip these contacts"
msgstr ""
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,state:0
msgid "State"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid ""
"The selected contacts will be merged together. All\n"
" documents linking to one of these contacts will be\n"
" redirected to the aggregated contact. You can remove\n"
" contacts from this list to avoid merging them."
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "There is no more contacts to merge for this request..."
msgstr ""
#. module: base_partner_merge
#: model:ir.ui.menu,name:base_partner_merge.root_menu
msgid "Tools"
msgstr ""
#. module: base_partner_merge
#: field:base.partner.merge.automatic.wizard,group_by_vat:0
msgid "VAT"
msgstr ""
#. module: base_partner_merge
#: field:base.partner.merge.line,wizard_id:0
msgid "Wizard"
msgstr ""
#. module: base_partner_merge
#: code:addons/base_partner_merge/base_partner_merge.py:511
#, python-format
msgid "You have to specify a filter for your selection"
msgstr ""
#. module: base_partner_merge
#: view:base.partner.merge.automatic.wizard:base_partner_merge.base_partner_merge_automatic_wizard_form
msgid "or"
msgstr ""

188
partner_external_maps/i18n/de.po

@ -0,0 +1,188 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_external_maps
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-06-29 05:50+0000\n"
"Last-Translator: <>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:128
#, python-format
msgid "Address missing on partner '%s'."
msgstr ""
#. module: partner_external_maps
#: field:map.website,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: partner_external_maps
#: field:map.website,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: partner_external_maps
#: field:map.website,id:0
msgid "ID"
msgstr "ID"
#. module: partner_external_maps
#: help:map.website,address_url:0
msgid "In this URL, {ADDRESS} will be replaced by the address."
msgstr ""
#. module: partner_external_maps
#: help:map.website,lat_lon_url:0
msgid ""
"In this URL, {LATITUDE} and {LONGITUDE} will be replaced by the latitude and"
" longitude (requires the module 'base_geolocalize')"
msgstr ""
#. module: partner_external_maps
#: help:map.website,route_address_url:0
msgid ""
"In this URL, {START_ADDRESS} and {DEST_ADDRESS} will be replaced by the "
"start and destination addresses."
msgstr ""
#. module: partner_external_maps
#: help:map.website,route_lat_lon_url:0
msgid ""
"In this URL, {START_LATITUDE}, {START_LONGITUDE}, {DEST_LATITUDE} and "
"{DEST_LONGITUDE} will be replaced by the latitude and longitude of the start"
" and destination adresses (requires the module 'base_geolocalize')."
msgstr ""
#. module: partner_external_maps
#: field:map.website,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: partner_external_maps
#: field:map.website,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: partner_external_maps
#: view:res.partner:partner_external_maps.view_partner_form
msgid "Map"
msgstr ""
#. module: partner_external_maps
#: model:ir.model,name:partner_external_maps.model_map_website
#: view:map.website:partner_external_maps.map_website_form
#: field:res.users,context_map_website_id:0
msgid "Map Website"
msgstr ""
#. module: partner_external_maps
#: field:map.website,name:0
msgid "Map Website Name"
msgstr ""
#. module: partner_external_maps
#: model:ir.actions.act_window,name:partner_external_maps.map_website_action
#: model:ir.ui.menu,name:partner_external_maps.map_website_menu
#: view:map.website:partner_external_maps.map_website_tree
msgid "Map Websites"
msgstr ""
#. module: partner_external_maps
#: help:res.users,context_route_map_website_id:0
msgid ""
"Map provided used when you click on the car icon on the partner form to "
"display an itinerary."
msgstr ""
#. module: partner_external_maps
#: view:res.users:partner_external_maps.view_users_form
msgid "Maps"
msgstr ""
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:147
#, python-format
msgid "Missing map provider: you should set it in your preferences."
msgstr ""
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:161
#, python-format
msgid "Missing parameter 'URL that uses the address' for map website '%s'."
msgstr ""
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:200
#, python-format
msgid "Missing route URL that uses the addresses for the map website '%s'"
msgstr ""
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:176
#, python-format
msgid "Missing route map website: you should set it in your preferences."
msgstr ""
#. module: partner_external_maps
#: code:addons/partner_external_maps/partner_external_maps.py:181
#, python-format
msgid ""
"Missing start address for route map: you should set it in your preferences."
msgstr ""
#. module: partner_external_maps
#: model:ir.model,name:partner_external_maps.model_res_partner
msgid "Partner"
msgstr ""
#. module: partner_external_maps
#: view:res.partner:partner_external_maps.view_partner_form
msgid "Route Map"
msgstr ""
#. module: partner_external_maps
#: field:res.users,context_route_map_website_id:0
msgid "Route Map Website"
msgstr ""
#. module: partner_external_maps
#: field:map.website,route_lat_lon_url:0
msgid "Route URL that uses latitude and longitude"
msgstr ""
#. module: partner_external_maps
#: field:map.website,route_address_url:0
msgid "Route URL that uses the addresses"
msgstr ""
#. module: partner_external_maps
#: field:res.users,context_route_start_partner_id:0
msgid "Start Address for Route Map"
msgstr ""
#. module: partner_external_maps
#: field:map.website,lat_lon_url:0
msgid "URL that uses latitude and longitude"
msgstr ""
#. module: partner_external_maps
#: field:map.website,address_url:0
msgid "URL that uses the address"
msgstr ""
#. module: partner_external_maps
#: model:ir.model,name:partner_external_maps.model_res_users
msgid "Users"
msgstr ""

6
partner_firstname/i18n/en.po

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: partner-contact (8.0)\n" "Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-28 15:54+0000\n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-07-03 11:31+0000\n" "PO-Revision-Date: 2015-07-03 11:31+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" "Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: English (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/en/)\n" "Language-Team: English (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/en/)\n"
@ -18,7 +18,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:26
#: code:addons/partner_firstname/exceptions.py:25
#, python-format #, python-format
msgid "Error(s) with partner %d's name." msgid "Error(s) with partner %d's name."
msgstr "Error(s) with partner %d's name." msgstr "Error(s) with partner %d's name."
@ -39,7 +39,7 @@ msgid "Last name"
msgstr "Last name" msgstr "Last name"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:23
#: code:addons/partner_firstname/exceptions.py:22
#, python-format #, python-format
msgid "No name is set." msgid "No name is set."
msgstr "No name is set." msgstr "No name is set."

6
partner_firstname/i18n/es.po

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: partner-contact (8.0)\n" "Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-09-23 21:40+0000\n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-09-13 13:41+0000\n" "PO-Revision-Date: 2015-09-13 13:41+0000\n"
"Last-Translator: Francisco Palm <francisco.palm@gmail.com>\n" "Last-Translator: Francisco Palm <francisco.palm@gmail.com>\n"
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/es/)\n" "Language-Team: Spanish (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/es/)\n"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:26
#: code:addons/partner_firstname/exceptions.py:25
#, python-format #, python-format
msgid "Error(s) with partner %d's name." msgid "Error(s) with partner %d's name."
msgstr "Errores con el nombre de la empresa %d." msgstr "Errores con el nombre de la empresa %d."
@ -40,7 +40,7 @@ msgid "Last name"
msgstr "Apellido" msgstr "Apellido"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:23
#: code:addons/partner_firstname/exceptions.py:22
#, python-format #, python-format
msgid "No name is set." msgid "No name is set."
msgstr "No se ha establecido ningún nombre." msgstr "No se ha establecido ningún nombre."

6
partner_firstname/i18n/sl.po

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: partner-contact (8.0)\n" "Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-28 15:54+0000\n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-07-04 11:52+0000\n" "PO-Revision-Date: 2015-07-04 11:52+0000\n"
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n" "Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n"
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/sl/)\n" "Language-Team: Slovenian (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/sl/)\n"
@ -19,7 +19,7 @@ msgstr ""
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:26
#: code:addons/partner_firstname/exceptions.py:25
#, python-format #, python-format
msgid "Error(s) with partner %d's name." msgid "Error(s) with partner %d's name."
msgstr "Napaka(e) pri nazivu partnerja %d's ." msgstr "Napaka(e) pri nazivu partnerja %d's ."
@ -40,7 +40,7 @@ msgid "Last name"
msgstr "Priimek" msgstr "Priimek"
#. module: partner_firstname #. module: partner_firstname
#: code:addons/partner_firstname/exceptions.py:23
#: code:addons/partner_firstname/exceptions.py:22
#, python-format #, python-format
msgid "No name is set." msgid "No name is set."
msgstr "Ime ni nastavljeno." msgstr "Ime ni nastavljeno."

42
partner_firstname/models.py

@ -41,17 +41,37 @@ class ResPartner(models.Model):
@api.model @api.model
def create(self, vals): def create(self, vals):
"""Add inverted names at creation if unavailable.""" """Add inverted names at creation if unavailable."""
if "name" in vals:
context = dict(self.env.context)
name = vals.get("name", context.get("default_name"))
if name is not None:
# Calculate the splitted fields
inverted = self._get_inverse_name( inverted = self._get_inverse_name(
vals.get("name"),
self._get_whitespace_cleaned_name(name),
vals.get("is_company", vals.get("is_company",
self.default_get(["is_company"])["is_company"])) self.default_get(["is_company"])["is_company"]))
for key, value in inverted.iteritems(): for key, value in inverted.iteritems():
if not vals.get(key):
if not vals.get(key) or context.get("copy"):
vals[key] = value vals[key] = value
return super(ResPartner, self).create(vals)
# Remove the combined fields
if "name" in vals:
del vals["name"]
if "default_name" in context:
del context["default_name"]
return super(ResPartner, self.with_context(context)).create(vals)
@api.multi
def copy(self, default=None):
"""Ensure partners are copied right.
Odoo adds ``(copy)`` to the end of :attr:`~.name`, but that would get
ignored in :meth:`~.create` because it also copies explicitly firstname
and lastname fields.
"""
return super(ResPartner, self.with_context(copy=True)).copy(default)
@api.model @api.model
def default_get(self, fields_list): def default_get(self, fields_list):
@ -59,7 +79,7 @@ class ResPartner(models.Model):
result = super(ResPartner, self).default_get(fields_list) result = super(ResPartner, self).default_get(fields_list)
inverted = self._get_inverse_name( inverted = self._get_inverse_name(
result.get("name", ""),
self._get_whitespace_cleaned_name(result.get("name", "")),
result.get("is_company", False)) result.get("is_company", False))
for field in inverted.keys(): for field in inverted.keys():
@ -85,13 +105,11 @@ class ResPartner(models.Model):
def _inverse_name_after_cleaning_whitespace(self): def _inverse_name_after_cleaning_whitespace(self):
"""Clean whitespace in :attr:`~.name` and split it. """Clean whitespace in :attr:`~.name` and split it.
Removes leading, trailing and duplicated whitespace.
The splitting logic is stored separately in :meth:`~._inverse_name`, so The splitting logic is stored separately in :meth:`~._inverse_name`, so
submodules can extend that method and get whitespace cleaning for free. submodules can extend that method and get whitespace cleaning for free.
""" """
# Remove unneeded whitespace # Remove unneeded whitespace
clean = u" ".join(self.name.split(None)) if self.name else self.name
clean = self._get_whitespace_cleaned_name(self.name)
# Clean name avoiding infinite recursion # Clean name avoiding infinite recursion
if self.name != clean: if self.name != clean:
@ -101,6 +119,14 @@ class ResPartner(models.Model):
else: else:
self._inverse_name() self._inverse_name()
@api.model
def _get_whitespace_cleaned_name(self, name):
"""Remove redundant whitespace from :param:`name`.
Removes leading, trailing and duplicated whitespace.
"""
return u" ".join(name.split(None)) if name else name
@api.model @api.model
def _get_inverse_name(self, name, is_company=False): def _get_inverse_name(self, name, is_company=False):
"""Compute the inverted name. """Compute the inverted name.

10
partner_firstname/tests/__init__.py

@ -3,6 +3,7 @@
# #
# Authors: Nemry Jonathan # Authors: Nemry Jonathan
# Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu) # Copyright (c) 2014 Acsone SA/NV (http://www.acsone.eu)
# 2015: Grupo ESOC <www.grupoesoc.es>
# All Rights Reserved # All Rights Reserved
# #
# WARNING: This program as such is intended to be used by professional # WARNING: This program as such is intended to be used by professional
@ -28,4 +29,11 @@
# #
############################################################################## ##############################################################################
from . import test_defaults, test_delete, test_empty, test_name, test_onchange
from . import (
test_create,
test_delete,
test_defaults,
test_empty,
test_name,
test_onchange
)

3
partner_firstname/tests/base.py

@ -71,7 +71,8 @@ class BaseCase(TransactionCase, MailInstalled):
def test_copy(self): def test_copy(self):
"""Copy the partner and compare the result.""" """Copy the partner and compare the result."""
self.expect(self.lastname, u"%s (copy)" % self.firstname) self.expect(self.lastname, u"%s (copy)" % self.firstname)
self.changed = self.original.with_context(lang="en_US").copy()
self.changed = (self.original.with_context(copy=True, lang="en_US")
.copy())
def test_one_name(self): def test_one_name(self):
"""Test what happens when only one name is given.""" """Test what happens when only one name is given."""

82
partner_firstname/tests/test_create.py

@ -0,0 +1,82 @@
# -*- coding: utf-8 -*-
# © 2015 Grupo ESOC Ingeniería de Servicios, S.L. - Jairo Llopis.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
"""Test default values for models."""
from openerp.tests.common import TransactionCase
from .base import MailInstalled
class PersonCase(TransactionCase):
"""Test ``res.partner`` when it is a person."""
context = {"default_is_company": False}
model = "res.partner"
def setUp(self):
super(PersonCase, self).setUp()
self.good_values = {
"firstname": u"Núñez",
"lastname": u"Fernán",
}
self.good_values["name"] = "%s %s" % (self.good_values["lastname"],
self.good_values["firstname"])
if "default_is_company" in self.context:
self.good_values["is_company"] = self.context["default_is_company"]
self.values = self.good_values.copy()
def tearDown(self):
self.record = (self.env[self.model]
.with_context(self.context)
.create(self.values))
for key, value in self.good_values.iteritems():
self.assertEqual(
self.record[key],
value,
"Checking key %s" % key)
super(PersonCase, self).tearDown()
def test_no_name(self):
"""Name is calculated."""
del self.values["name"]
def test_wrong_name_value(self):
"""Wrong name value is ignored, name is calculated."""
self.values["name"] = u"BÄD"
def test_wrong_name_context(self):
"""Wrong name context is ignored, name is calculated."""
del self.values["name"]
self.context["default_name"] = u"BÄD"
def test_wrong_name_value_and_context(self):
"""Wrong name value and context is ignored, name is calculated."""
self.values["name"] = u"BÄD1"
self.context["default_name"] = u"BÄD2"
class CompanyCase(PersonCase):
"""Test ``res.partner`` when it is a company."""
context = {"default_is_company": True}
def setUp(self):
super(CompanyCase, self).setUp()
self.good_values.update(lastname=self.values["name"], firstname=False)
self.values = self.good_values.copy()
class UserCase(PersonCase, MailInstalled):
"""Test ``res.users``."""
model = "res.users"
context = {"default_login": "user@example.com"}
def tearDown(self):
# Cannot create users if ``mail`` is installed
if self.mail_installed():
# Skip tests
super(PersonCase, self).tearDown()
else:
# Run tests
super(UserCase, self).tearDown()

407
partner_relations/i18n/de.po

@ -0,0 +1,407 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_relations
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-11-06 18:20+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_relations
#: model:ir.actions.act_window,help:partner_relations.action_res_partner_relation
#: model:ir.actions.act_window,help:partner_relations.action_res_partner_relation_all
msgid ""
"<p class=\"oe_view_nocontent_create\">\n"
" Record and track your partners' relations. Relations may be linked to other partners with a type either directly or inversely.\n"
" </p>\n"
" "
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,active:0 field:res.partner.relation.all,active:0
msgid "Active"
msgstr ""
#. module: partner_relations
#: model:ir.model,name:partner_relations.model_res_partner_relation_all
msgid "All (non-inverse + inverse) relations between partners"
msgstr ""
#. module: partner_relations
#: model:ir.model,name:partner_relations.model_res_partner_relation_type_selection
msgid "All relation types"
msgstr ""
#. module: partner_relations
#: field:res.partner,relation_all_ids:0
msgid "All relations with current partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,allow_self:0
msgid "Allow both sides to be the same"
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation_type.py:68
#, python-format
msgid "Company"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,create_uid:0
#: field:res.partner.relation.type,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: partner_relations
#: field:res.partner.relation,create_date:0
#: field:res.partner.relation.type,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: partner_relations
#: field:res.partner.relation.all,this_partner_id:0
msgid "Current Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type.selection,partner_category_this:0
#: field:res.partner.relation.type.selection,search_partner_category_this:0
msgid "Current record's category"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type.selection,contact_type_this:0
msgid "Current record's partner type"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,right_partner_id:0
msgid "Destination Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,date_end:0
#: field:res.partner.relation.all,date_end:0
msgid "Ending date"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.search_res_partner_relation
#: view:res.partner.relation.all:partner_relations.search_res_partner_relation_all
msgid "Group By"
msgstr ""
#. module: partner_relations
#: model:res.partner.relation.type,name_inverse:partner_relations.rel_type_assistant
msgid "Has assistant"
msgstr ""
#. module: partner_relations
#: model:res.partner.relation.type,name_inverse:partner_relations.rel_type_has_worked_for
msgid "Has former employee"
msgstr ""
#. module: partner_relations
#: field:res.partner,search_relation_id:0
msgid "Has relation of type"
msgstr ""
#. module: partner_relations
#: field:res.partner,search_relation_partner_id:0
msgid "Has relation with"
msgstr ""
#. module: partner_relations
#: field:res.partner,search_relation_partner_category_id:0
msgid "Has relation with a partner in category"
msgstr ""
#. module: partner_relations
#: model:res.partner.relation.type,name:partner_relations.rel_type_has_worked_for
msgid "Has worked for"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,id:0 field:res.partner.relation.all,id:0
#: field:res.partner.relation.type,id:0
#: field:res.partner.relation.type.selection,id:0
msgid "ID"
msgstr "ID"
#. module: partner_relations
#: field:res.partner.relation.type,name_inverse:0
msgid "Inverse name"
msgstr ""
#. module: partner_relations
#: selection:res.partner.relation.all,record_type:0
#: selection:res.partner.relation.type.selection,record_type:0
msgid "Inverse type"
msgstr ""
#. module: partner_relations
#: model:res.partner.relation.type,name:partner_relations.rel_type_assistant
msgid "Is assistant of"
msgstr ""
#. module: partner_relations
#: model:res.partner.relation.type,name:partner_relations.rel_type_competitor
#: model:res.partner.relation.type,name_inverse:partner_relations.rel_type_competitor
msgid "Is competitor of"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,write_uid:0
#: field:res.partner.relation.type,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: partner_relations
#: field:res.partner.relation,write_date:0
#: field:res.partner.relation.type,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: partner_relations
#: view:res.partner.relation:partner_relations.search_res_partner_relation
msgid "Left Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,left_contact_type:0
msgid "Left Partner Type"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,partner_category_left:0
msgid "Left partner category"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,contact_type_left:0
msgid "Left partner type"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation.type:partner_relations.form_res_partner_relation_type
msgid "Left side of relation"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,name:0
#: field:res.partner.relation.type.selection,name:0
msgid "Name"
msgstr "Name"
#. module: partner_relations
#: view:res.partner.relation.all:partner_relations.search_res_partner_relation_all
#: field:res.partner.relation.all,other_partner_id:0
msgid "Other Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type.selection,partner_category_other:0
msgid "Other record's category"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type.selection,contact_type_other:0
msgid "Other record's partner type"
msgstr ""
#. module: partner_relations
#: model:ir.model,name:partner_relations.model_res_partner
#: field:res.partner.relation,partner_id_display:0
msgid "Partner"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.form_res_partner_relation
msgid "Partner Relation"
msgstr ""
#. module: partner_relations
#: model:ir.model,name:partner_relations.model_res_partner_relation_type
msgid "Partner Relation Type"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.tree_res_partner_relation
#: view:res.partner.relation.all:partner_relations.tree_res_partner_relation_all
msgid "Partner Relations"
msgstr ""
#. module: partner_relations
#: model:ir.actions.act_window,name:partner_relations.action_res_partner_relation_type
#: model:ir.ui.menu,name:partner_relations.menu_res_partner_relation_type
msgid "Partner Relations Types"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.all,contact_type:0
msgid "Partner Type"
msgstr ""
#. module: partner_relations
#: model:ir.model,name:partner_relations.model_res_partner_relation
#: view:res.partner.relation.all:partner_relations.form_res_partner_relation_all
#: view:res.partner.relation.type:partner_relations.form_res_partner_relation_type
#: view:res.partner.relation.type:partner_relations.tree_res_partner_relation_type
msgid "Partner relation"
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation.py:301
#, python-format
msgid "Partners cannot have a relation with themselves."
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation_type.py:69
#, python-format
msgid "Person"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.all,record_type:0
msgid "Record Type"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type.selection,record_type:0
msgid "Record type"
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation.py:370
#, python-format
msgid "Related partners"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.all,relation_id:0
msgid "Relation"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.all,type_id:0
#: field:res.partner.relation.all,type_selection_id:0
msgid "Relation Type"
msgstr ""
#. module: partner_relations
#: field:res.partner,search_relation_date:0
msgid "Relation valid"
msgstr ""
#. module: partner_relations
#: model:ir.actions.act_window,name:partner_relations.action_res_partner_relation
#: model:ir.actions.act_window,name:partner_relations.action_res_partner_relation_all
#: model:ir.ui.menu,name:partner_relations.menu_res_partner_relation_sales
#: view:res.partner:partner_relations.view_partner_form
#: field:res.partner,relation_ids:0
msgid "Relations"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.search_res_partner_relation
#: view:res.partner.relation.all:partner_relations.search_res_partner_relation_all
msgid "Relationship Type"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.search_res_partner_relation
msgid "Right Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,right_contact_type:0
msgid "Right Partner Type"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,partner_category_right:0
msgid "Right partner category"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation.type,contact_type_right:0
msgid "Right partner type"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation.type:partner_relations.form_res_partner_relation_type
msgid "Right side of relation"
msgstr ""
#. module: partner_relations
#: view:res.partner.relation:partner_relations.search_res_partner_relation
#: view:res.partner.relation.all:partner_relations.search_res_partner_relation_all
msgid "Search Relations"
msgstr ""
#. module: partner_relations
#: model:ir.actions.act_window,name:partner_relations.action_show_partner_relations
msgid "Show partner's relations"
msgstr ""
#. module: partner_relations
#: model:ir.actions.server,name:partner_relations.action_show_right_relation_partners
msgid "Show partners"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,left_partner_id:0
msgid "Source Partner"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,date_start:0
#: field:res.partner.relation.all,date_start:0
msgid "Starting date"
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation.py:287
#, python-format
msgid "The %s partner is not applicable for this relation type."
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation.py:254
#, python-format
msgid "The starting date cannot be after the ending date."
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner_relation.py:329
#, python-format
msgid "There is already a similar relation with overlapping dates"
msgstr ""
#. module: partner_relations
#: field:res.partner.relation,type_id:0
#: field:res.partner.relation,type_selection_id:0
#: selection:res.partner.relation.all,record_type:0
#: selection:res.partner.relation.type.selection,record_type:0
#: field:res.partner.relation.type.selection,type_id:0
msgid "Type"
msgstr ""
#. module: partner_relations
#: code:addons/partner_relations/model/res_partner.py:109
#, python-format
msgid "Unsupported search operand \"%s\""
msgstr ""

68
partner_second_lastname/i18n/en.po

@ -0,0 +1,68 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_second_lastname
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-10-29 13:08+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: English (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/en/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: en\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: partner_second_lastname
#: model:ir.model,name:partner_second_lastname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_second_lastname
#: field:res.partner,lastname2:0
msgid "Second last name"
msgstr "Second last name"
#. module: partner_second_lastname
#: view:res.partner:partner_second_lastname.partner_form
#: view:res.partner:partner_second_lastname.partner_simple_form
msgid ""
"{\n"
" 'required': [('firstname', '=', False),\n"
" ('lastname2', '=', False),\n"
" ('is_company', '=', False)]\n"
" }"
msgstr "{\n 'required': [('firstname', '=', False),\n ('lastname2', '=', False),\n ('is_company', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.users:partner_second_lastname.users_form
msgid ""
"{\n"
" 'required': [('firstname', '=', False),\n"
" ('lastname2', '=', False)]\n"
" }"
msgstr "{\n 'required': [('firstname', '=', False),\n ('lastname2', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.partner:partner_second_lastname.partner_form
#: view:res.partner:partner_second_lastname.partner_simple_form
msgid ""
"{\n"
" 'required': [('lastname', '=', False),\n"
" ('lastname2', '=', False),\n"
" ('is_company', '=', False)]\n"
" }"
msgstr "{\n 'required': [('lastname', '=', False),\n ('lastname2', '=', False),\n ('is_company', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.users:partner_second_lastname.users_form
msgid ""
"{\n"
" 'required': [('lastname', '=', False),\n"
" ('lastname2', '=', False)]\n"
" }"
msgstr "{\n 'required': [('lastname', '=', False),\n ('lastname2', '=', False)]\n }"

69
partner_second_lastname/i18n/sl.po

@ -0,0 +1,69 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * partner_second_lastname
#
# Translators:
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-10-29 13:41+0000\n"
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n"
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/sl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: sl\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
#. module: partner_second_lastname
#: model:ir.model,name:partner_second_lastname.model_res_partner
msgid "Partner"
msgstr "Partner"
#. module: partner_second_lastname
#: field:res.partner,lastname2:0
msgid "Second last name"
msgstr "Drugi priimek"
#. module: partner_second_lastname
#: view:res.partner:partner_second_lastname.partner_form
#: view:res.partner:partner_second_lastname.partner_simple_form
msgid ""
"{\n"
" 'required': [('firstname', '=', False),\n"
" ('lastname2', '=', False),\n"
" ('is_company', '=', False)]\n"
" }"
msgstr "{\n 'required': [('firstname', '=', False),\n ('lastname2', '=', False),\n ('is_company', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.users:partner_second_lastname.users_form
msgid ""
"{\n"
" 'required': [('firstname', '=', False),\n"
" ('lastname2', '=', False)]\n"
" }"
msgstr "{\n 'required': [('firstname', '=', False),\n ('lastname2', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.partner:partner_second_lastname.partner_form
#: view:res.partner:partner_second_lastname.partner_simple_form
msgid ""
"{\n"
" 'required': [('lastname', '=', False),\n"
" ('lastname2', '=', False),\n"
" ('is_company', '=', False)]\n"
" }"
msgstr "{\n 'required': [('lastname', '=', False),\n ('lastname2', '=', False),\n ('is_company', '=', False)]\n }"
#. module: partner_second_lastname
#: view:res.users:partner_second_lastname.users_form
msgid ""
"{\n"
" 'required': [('lastname', '=', False),\n"
" ('lastname2', '=', False)]\n"
" }"
msgstr "{\n 'required': [('lastname', '=', False),\n ('lastname2', '=', False)]\n }"

146
passport/i18n/de.po

@ -0,0 +1,146 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * passport
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-11-06 18:18+0000\n"
"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: passport
#: field:res.passport,birth_date:0
msgid "Birth Date"
msgstr ""
#. module: passport
#: field:res.passport,partner_id:0
msgid "Contact"
msgstr ""
#. module: passport
#: help:res.passport,country_id:0
msgid "Country of deliverance."
msgstr ""
#. module: passport
#: field:res.passport,create_uid:0
msgid "Created by"
msgstr "erstellt von"
#. module: passport
#: field:res.passport,create_date:0
msgid "Created on"
msgstr "erstellt am"
#. module: passport
#: help:res.passport,birth_date:0
msgid "Date of birth on passport."
msgstr ""
#. module: passport
#: field:res.passport,country_id:0
msgid "Delivery country"
msgstr ""
#. module: passport
#: field:res.passport,expiration_date:0
msgid "Expiration date"
msgstr ""
#. module: passport
#: help:res.passport,expiration_date:0
msgid "Expiration date of passport."
msgstr ""
#. module: passport
#: selection:res.passport,gender:0
msgid "Female"
msgstr ""
#. module: passport
#: field:res.passport,gender:0
msgid "Gender"
msgstr ""
#. module: passport
#: help:res.passport,gender:0
msgid "Gender."
msgstr ""
#. module: passport
#: field:res.passport,id:0
msgid "ID"
msgstr "ID"
#. module: passport
#: field:res.passport,write_uid:0
msgid "Last Updated by"
msgstr "zuletzt aktualisiert von"
#. module: passport
#: field:res.passport,write_date:0
msgid "Last Updated on"
msgstr "zuletzt aktualisiert am"
#. module: passport
#: selection:res.passport,gender:0
msgid "Male"
msgstr ""
#. module: passport
#: field:res.passport,name:0
msgid "Owner name"
msgstr ""
#. module: passport
#: view:res.passport:passport.passport_form_view
msgid "Owner name (As printed into the passport)"
msgstr ""
#. module: passport
#: help:res.passport,name:0
msgid "Owner name (As printed into the passport)."
msgstr ""
#. module: passport
#: model:ir.model,name:passport.model_res_partner
msgid "Partner"
msgstr ""
#. module: passport
#: model:ir.actions.act_window,name:passport.action_passport_tree_list
#: model:ir.model,name:passport.model_res_passport
#: view:res.partner:passport.view_partner_form
#: field:res.partner,passport_ids:0
msgid "Passport"
msgstr ""
#. module: passport
#: field:res.passport,number:0
msgid "Passport No"
msgstr ""
#. module: passport
#: help:res.passport,number:0
msgid "Passport number."
msgstr ""
#. module: passport
#: view:res.passport:passport.passport_form_view
msgid "PassportForm"
msgstr ""
#. module: passport
#: view:res.passport:passport.passport_tree_view
msgid "PassportTree"
msgstr ""

6
res_partner_affiliate/i18n/de.po

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: partner-contact (8.0)\n" "Project-Id-Version: partner-contact (8.0)\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-08-28 15:54+0000\n"
"PO-Revision-Date: 2015-05-22 13:07+0000\n"
"POT-Creation-Date: 2015-10-31 10:35+0000\n"
"PO-Revision-Date: 2015-11-06 18:13+0000\n"
"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" "Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n" "Language-Team: German (http://www.transifex.com/oca/OCA-partner-contact-8-0/language/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -26,7 +26,7 @@ msgstr "Tochtergesellschaften"
#. module: res_partner_affiliate #. module: res_partner_affiliate
#: view:res.partner:res_partner_affiliate.view_partner_form_add_affiliate #: view:res.partner:res_partner_affiliate.view_partner_form_add_affiliate
msgid "Contacts" msgid "Contacts"
msgstr ""
msgstr "Kontakte"
#. module: res_partner_affiliate #. module: res_partner_affiliate
#: view:res.partner:res_partner_affiliate.view_partner_form_add_affiliate #: view:res.partner:res_partner_affiliate.view_partner_form_add_affiliate

Loading…
Cancel
Save