Compare commits

...

No commits in common. '11.0' and '12.0-personal_privacy_activity' have entirely different histories.

  1. 36
      .gitignore
  2. 16
      .travis.yml
  3. 16
      README.md
  4. 89
      contact_search_form/README.rst
  5. 3
      contact_search_form/__init__.py
  6. 33
      contact_search_form/__manifest__.py
  7. 156
      contact_search_form/i18n/contact_search_form.pot
  8. 161
      contact_search_form/i18n/de.po
  9. 161
      contact_search_form/i18n/en_US.po
  10. 158
      contact_search_form/i18n/fr.po
  11. 158
      contact_search_form/i18n/it.po
  12. 3
      contact_search_form/models/__init__.py
  13. 84
      contact_search_form/models/contact_search.py
  14. 3
      contact_search_form/readme/CONFIGURE.rst
  15. 2
      contact_search_form/readme/DESCRIPTION.rst
  16. 9
      contact_search_form/readme/USAGE.rst
  17. 8
      contact_search_form/security/gdpr_security.xml
  18. 3
      contact_search_form/security/ir.model.access.csv
  19. BIN
      contact_search_form/static/description/icon.png
  20. 431
      contact_search_form/static/description/index.html
  21. 79
      contact_search_form/views/contact_search.xml
  22. 11
      privacy/README.rst
  23. 2
      privacy/__manifest__.py
  24. 286
      privacy/i18n/de.po
  25. 215
      privacy/i18n/es.po
  26. 355
      privacy/i18n/fi.po
  27. 294
      privacy/i18n/fr.po
  28. 362
      privacy/i18n/hr.po
  29. 232
      privacy/i18n/it.po
  30. 357
      privacy/i18n/nl.po
  31. 209
      privacy/i18n/privacy.pot
  32. 211
      privacy/i18n/pt.po
  33. 4
      privacy/models/privacy_activity.py
  34. 1
      privacy/readme/CONTRIBUTORS.rst
  35. 7
      privacy/static/description/index.html
  36. 41
      privacy/views/privacy_activity_view.xml
  37. 10
      privacy_consent/README.rst
  38. 3
      privacy_consent/__manifest__.py
  39. 19
      privacy_consent/data/ir_actions_server.xml
  40. 216
      privacy_consent/i18n/de.po
  41. 233
      privacy_consent/i18n/es.po
  42. 588
      privacy_consent/i18n/fi.po
  43. 473
      privacy_consent/i18n/fr.po
  44. 217
      privacy_consent/i18n/privacy_consent.pot
  45. 221
      privacy_consent/i18n/pt.po
  46. 10
      privacy_consent/migrations/12.0.1.0.0/pre-migrate.py
  47. 42
      privacy_consent/models/mail_mail.py
  48. 2
      privacy_consent/models/mail_template.py
  49. 11
      privacy_consent/models/privacy_activity.py
  50. 19
      privacy_consent/models/privacy_consent.py
  51. 6
      privacy_consent/static/description/index.html
  52. 7
      privacy_consent/static/src/css/privacy_consent.scss
  53. 13
      privacy_consent/templates/assets.xml
  54. 1
      privacy_consent/templates/form.xml
  55. 201
      privacy_consent/tests/test_consent.py
  56. 11
      privacy_partner_report/README.rst
  57. 2
      privacy_partner_report/__manifest__.py
  58. 174
      privacy_partner_report/i18n/de.po
  59. 68
      privacy_partner_report/i18n/it.po
  60. 64
      privacy_partner_report/i18n/privacy_partner_report.pot
  61. 1
      privacy_partner_report/readme/CONTRIBUTORS.rst
  62. 7
      privacy_partner_report/static/description/index.html
  63. 1
      privacy_personal_data/__init__.py
  64. 27
      privacy_personal_data/__manifest__.py
  65. 354
      privacy_personal_data/i18n/fr.po
  66. 3
      privacy_personal_data/models/__init__.py
  67. 114
      privacy_personal_data/models/privacy_activity.py
  68. 83
      privacy_personal_data/models/privacy_personal_data.py
  69. 10
      privacy_personal_data/models/res_partner.py
  70. 2
      privacy_personal_data/readme/CONFIGURATION.rst
  71. 1
      privacy_personal_data/readme/CONTRIBUTORS.rst
  72. 1
      privacy_personal_data/readme/DESCRIPTION.rst
  73. 6
      privacy_personal_data/readme/USAGE.rst
  74. 11
      privacy_personal_data/security/ir.model.access.csv
  75. BIN
      privacy_personal_data/static/description/icon.png
  76. 115
      privacy_personal_data/static/description/icon.svg
  77. 123
      privacy_personal_data/views/privacy_activity_view.xml
  78. 40
      privacy_personal_data/views/privacy_objective_view.xml
  79. 91
      privacy_personal_data/views/privacy_personal_category_view.xml
  80. 105
      privacy_personal_data/views/privacy_personal_data_view.xml
  81. 19
      privacy_personal_data/views/res_partner_view.xml
  82. 2
      setup/_metapackage/VERSION.txt
  83. 2
      setup/_metapackage/setup.cfg
  84. 12
      setup/_metapackage/setup.py
  85. 1
      setup/contact_search_form/odoo/addons/contact_search_form
  86. 2
      setup/contact_search_form/setup.cfg
  87. 6
      setup/contact_search_form/setup.py
  88. 2
      setup/privacy/setup.cfg
  89. 2
      setup/privacy_consent/setup.cfg
  90. 2
      setup/privacy_partner_report/setup.cfg
  91. 1
      setup/website_contact_extend/odoo/addons/website_contact_extend
  92. 2
      setup/website_contact_extend/setup.cfg
  93. 6
      setup/website_contact_extend/setup.py
  94. 92
      website_contact_extend/README.rst
  95. 4
      website_contact_extend/__init__.py
  96. 34
      website_contact_extend/__manifest__.py
  97. 3
      website_contact_extend/controllers/__init__.py
  98. 163
      website_contact_extend/controllers/myfilter.py
  99. 46
      website_contact_extend/data/email_templates.xml
  100. 470
      website_contact_extend/i18n/de.po

36
.gitignore

@ -5,24 +5,6 @@ __pycache__/
# C extensions # C extensions
*.so *.so
# Distribution / packaging
.Python
env/
bin/
build/
develop-eggs/
dist/
eggs/
# Project specific
oca.cfg
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
# C extensions
*.so
# Distribution / packaging # Distribution / packaging
.Python .Python
env/ env/
@ -39,7 +21,6 @@ var/
*.egg-info/ *.egg-info/
.installed.cfg .installed.cfg
*.egg *.egg
*.eggs
# Installer logs # Installer logs
pip-log.txt pip-log.txt
@ -55,23 +36,10 @@ coverage.xml
# Translations # Translations
*.mo *.mo
*.pot
# Pycharm # Pycharm
.idea .idea
# Eclipse
.settings
# Visual Studio cache/options directory
.vs/
# OSX Files
.DS_Store
# Django stuff:
*.log
# Mr Developer # Mr Developer
.mr.developer.cfg .mr.developer.cfg
.project .project
@ -87,5 +55,5 @@ docs/_build/
*~ *~
*.swp *.swp
# OCA rules
!static/lib/
# OSX Files
*.DS_Store

16
.travis.yml

@ -3,14 +3,10 @@ sudo: false
cache: pip cache: pip
python: python:
# For branches <= 10.0, put `- "2.7.13"`
- "3.5" - "3.5"
addons: addons:
# By default postgresql-9.1 is installed but there is issue related:
# https://github.com/OCA/maintainer-quality-tools/issues/432#issuecomment-281580935
# Better use higher PostgreSQL version
postgresql: "9.5"
postgresql: "9.6"
apt: apt:
# sources: # sources:
# Search your sources alias here: # Search your sources alias here:
@ -29,7 +25,7 @@ addons:
env: env:
global: global:
- VERSION="11.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
- VERSION="12.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
# Set this variable to some version existing as linux-generic build on # Set this variable to some version existing as linux-generic build on
# https://github.com/wkhtmltopdf/wkhtmltopdf/releases # https://github.com/wkhtmltopdf/wkhtmltopdf/releases
# if you need to install wkhtmltopdf # if you need to install wkhtmltopdf
@ -47,18 +43,14 @@ env:
matrix: matrix:
- LINT_CHECK="1" - LINT_CHECK="1"
# use this to install a standalone database to export .pot files
# - MAKEPOT="1"
# add MAKEPOT="1" to a TEST line to export .pot files from
# the test database after test success
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
- TESTS="1" ODOO_REPO="OCA/OCB" - TESTS="1" ODOO_REPO="OCA/OCB"
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
# either use the two lines above or the two below. Don't change the default if # either use the two lines above or the two below. Don't change the default if
# it's not necessary (it is only necessary if modules in your repository can't # it's not necessary (it is only necessary if modules in your repository can't
# be installed in the same database. And you get a huge speed penalty in your # be installed in the same database. And you get a huge speed penalty in your
# tests) # tests)
# - TESTS="1.0" ODOO_REPO="odoo/odoo" UNIT_TEST="1"
# - TESTS="1.0" ODOO_REPO="OCA/OCB" UNIT_TEST="1" # - TESTS="1.0" ODOO_REPO="OCA/OCB" UNIT_TEST="1"
# - TESTS="1.0" ODOO_REPO="odoo/odoo" UNIT_TEST="1"
install: install:
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools - git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools

16
README.md

@ -1,23 +1,11 @@
[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/263/11.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-data-protection-263)
[![Build Status](https://travis-ci.org/OCA/data-protection.svg?branch=11.0)](https://travis-ci.org/OCA/data-protection)
[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/263/12.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-data-protection-263)
[![Build Status](https://travis-ci.org/OCA/data-protection.svg?branch=12.0)](https://travis-ci.org/OCA/data-protection)
# Data Protection # Data Protection
Odoo modules for data protection (like GDPR). Odoo modules for data protection (like GDPR).
[//]: # (addons)
Available addons
----------------
addon | version | maintainers | summary
--- | --- | --- | ---
[contact_search_form](contact_search_form/) | 11.0.1.0.0 | | Multiple models can be searched for specified string by DPO
[privacy](privacy/) | 11.0.1.0.0 | | Provides data privacy and protection features to comply to regulations, such as GDPR.
[privacy_consent](privacy_consent/) | 11.0.1.0.0 | | Allow people to explicitly accept or reject inclusion in some activity, GDPR compliant
[privacy_partner_report](privacy_partner_report/) | 11.0.1.0.0 | [![mreficent](https://github.com/mreficent.png?size=30px)](https://github.com/mreficent) | Show the transactions that a specific partner is involved in.
[website_contact_extend](website_contact_extend/) | 11.0.1.0.0 | | Extended Website Contact View
[//]: # (end addons)
---- ----

89
contact_search_form/README.rst

@ -1,89 +0,0 @@
===================
Contact Search Form
===================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github
:target: https://github.com/OCA/data-protection/tree/11.0/contact_search_form
:alt: OCA/data-protection
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-contact_search_form
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/263/11.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
View containing a search function for Data Protection Officers (DPO) to look up Customer Data.
All available Odoo models can be included in the search query looking for a specified string.
**Table of contents**
.. contents::
:local:
Configuration
=============
To access contact search view in contacts view, the user has to activate the 'Data Protection Officer' checkbox
in User -> Technical Settings.
After that a new menu item 'Contact Search' will appear in the Contacts App.
Usage
=====
The new menu Contact Search is located in the Contacts App
When accessing the Contact Search form a new query can be defined by
clicking on the Create button.
To perform a search the search string is required and the Odoo models that
should be searched have to be selected in the dropdown 'Search in model'.
The search results are stored and can be accessed at a later time from the
tree view of 'Contact Search'.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20contact_search_form%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* IT IS AG
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/11.0/contact_search_form>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

3
contact_search_form/__init__.py

@ -1,3 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import models

33
contact_search_form/__manifest__.py

@ -1,33 +0,0 @@
#####################################################################
#
# IT IS AG, software solutions: http://www.itis.de
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
#
#####################################################################
{
'name': 'Contact Search Form',
'summary': "Multiple models can be searched for specified string by DPO",
'author': 'IT IS AG, Odoo Community Association (OCA)',
'website': 'https://github.com/OCA/data-protection',
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/master/
# openerp/addons/base/module/module_data.xml
# for the full list
'version': '11.0.1.0.0',
'license': 'AGPL-3',
'category': 'Contacts',
'depends': ['base',
'contacts',
],
'data': [
'security/gdpr_security.xml',
'security/ir.model.access.csv',
'views/contact_search.xml',
],
}

156
contact_search_form/i18n/contact_search_form.pot

@ -1,156 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contact_search_form
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: contact_search_form
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info_base
msgid "Contact Search"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_uid
msgid "Created by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_date
msgid "Created on"
msgstr ""
#. module: contact_search_form
#: model:ir.actions.act_window,name:contact_search_form.action_dpo_view_itis
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Customer Info"
msgstr ""
#. module: contact_search_form
#: model:res.groups,name:contact_search_form.group_dpo
msgid "Data Protection Officer"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_display_name
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_display_name
msgid "Display Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_field_list
msgid "Fields Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_model_id
msgid "Found in Model"
msgstr ""
#. module: contact_search_form
#: code:addons/contact_search_form/models/contact_search.py:20
#, python-format
msgid "Found record"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_id
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_id
msgid "ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view___last_update
#: model:ir.model.fields,field_description:contact_search_form.field_search_line___last_update
msgid "Last Modified on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_uid
msgid "Last Updated by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_date
msgid "Last Updated on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_name
msgid "Model Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_id
msgid "Record ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_name
msgid "Record Name"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "SEARCH"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.dpo_view_tree
msgid "Search Contact"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_search_lines
msgid "Search Result"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "Search Results"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_name
msgid "Search Term"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_search_id
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Search Terms"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_model_ids
msgid "Search in Model"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr ""
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_dpo_view
msgid "dpo.view"
msgstr ""
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_search_line
msgid "search.line"
msgstr ""

161
contact_search_form/i18n/de.po

@ -1,161 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contact_search_form
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-02 12:16+0000\n"
"PO-Revision-Date: 2018-07-02 14:16+0100\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
#. module: contact_search_form
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info_base
msgid "Contact Search"
msgstr "Kontakt Suche"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_uid
msgid "Created by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_date
msgid "Created on"
msgstr ""
#. module: contact_search_form
#: model:ir.actions.act_window,name:contact_search_form.action_dpo_view_itis
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Kundeninformation"
#. module: contact_search_form
#: model:res.groups,name:contact_search_form.group_dpo
msgid "Data Protection Officer"
msgstr "Data Protection Officer"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_display_name
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_display_name
msgid "Display Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_field_list
msgid "Fields Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_model_id
msgid "Found in Model"
msgstr ""
#. module: contact_search_form
#: code:addons/contact_search_form/models/contact_search.py:20
#, python-format
msgid "Found record"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_id
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_id
msgid "ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view___last_update
#: model:ir.model.fields,field_description:contact_search_form.field_search_line___last_update
msgid "Last Modified on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_uid
msgid "Last Updated by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_date
msgid "Last Updated on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_name
msgid "Model Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_id
msgid "Record ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_name
msgid "Record Name"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "Suche"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.dpo_view_tree
msgid "Search Contact"
msgstr "Kontakt Suchen"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_search_lines
#, fuzzy
msgid "Search Result"
msgstr "Suchergebnisse"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "Search Results"
msgstr "Suchergebnisse"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_name
#, fuzzy
msgid "Search Term"
msgstr "Suchbegriffe"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_search_id
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Suchbegriffe"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_model_ids
#, fuzzy
msgid "Search in Model"
msgstr "Suchergebnisse"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr "VIEW RECORD"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_search_line
msgid "search.line"
msgstr "search.line"

161
contact_search_form/i18n/en_US.po

@ -1,161 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contact_search_form
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-02 12:15+0000\n"
"PO-Revision-Date: 2018-07-02 12:15+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: contact_search_form
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info_base
msgid "Contact Search"
msgstr "Contact Search"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_uid
msgid "Created by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_date
msgid "Created on"
msgstr ""
#. module: contact_search_form
#: model:ir.actions.act_window,name:contact_search_form.action_dpo_view_itis
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Customer Info"
#. module: contact_search_form
#: model:res.groups,name:contact_search_form.group_dpo
msgid "Data Protection Officer"
msgstr "Data Protection Officer"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_display_name
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_display_name
msgid "Display Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_field_list
msgid "Fields Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_model_id
msgid "Found in Model"
msgstr ""
#. module: contact_search_form
#: code:addons/contact_search_form/models/contact_search.py:20
#, python-format
msgid "Found record"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_id
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_id
msgid "ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view___last_update
#: model:ir.model.fields,field_description:contact_search_form.field_search_line___last_update
msgid "Last Modified on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_uid
msgid "Last Updated by"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_date
msgid "Last Updated on"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_name
msgid "Model Name"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_id
msgid "Record ID"
msgstr ""
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_name
msgid "Record Name"
msgstr ""
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "SEARCH"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.dpo_view_tree
msgid "Search Contact"
msgstr "Search Contact"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_search_lines
#, fuzzy
msgid "Search Result"
msgstr "Search Results"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "Search Results"
msgstr "Search Results"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_name
#, fuzzy
msgid "Search Term"
msgstr "Search Terms"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_search_id
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Search Terms"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_model_ids
#, fuzzy
msgid "Search in Model"
msgstr "Search Results"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr "VIEW RECORD"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_search_line
msgid "search.line"
msgstr "search.line"

158
contact_search_form/i18n/fr.po

@ -1,158 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contact_search_form
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-01-27 16:03+0000\n"
"Last-Translator: Nicolas JEUDY <njeudy@panda-chi.io>\n"
"Language-Team: none\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.4\n"
#. module: contact_search_form
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info_base
msgid "Contact Search"
msgstr "Rechercher un contact"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_uid
msgid "Created by"
msgstr "Créé par"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_date
msgid "Created on"
msgstr "Crée le"
#. module: contact_search_form
#: model:ir.actions.act_window,name:contact_search_form.action_dpo_view_itis
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Infos client"
#. module: contact_search_form
#: model:res.groups,name:contact_search_form.group_dpo
msgid "Data Protection Officer"
msgstr "Délégué à la protection des données"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_display_name
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_display_name
msgid "Display Name"
msgstr "Nom d'affichage"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_field_list
msgid "Fields Name"
msgstr "Nom des champs"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_model_id
msgid "Found in Model"
msgstr "Trouvé dans le modèle"
#. module: contact_search_form
#: code:addons/contact_search_form/models/contact_search.py:20
#, python-format
msgid "Found record"
msgstr "Enregistrement trouvé"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_id
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_id
msgid "ID"
msgstr "ID"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view___last_update
#: model:ir.model.fields,field_description:contact_search_form.field_search_line___last_update
msgid "Last Modified on"
msgstr "Modifié le"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_uid
msgid "Last Updated by"
msgstr "Mis à jour par"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_date
msgid "Last Updated on"
msgstr "Mis à jour le"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_name
msgid "Model Name"
msgstr "Nom du Modèle"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_id
msgid "Record ID"
msgstr "ID de l'enregistrement"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_name
msgid "Record Name"
msgstr "Nom de l'enregistrement"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "RECHERCHER"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.dpo_view_tree
msgid "Search Contact"
msgstr "Rechercher un Contact"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_search_lines
msgid "Search Result"
msgstr "Résultat de la recherche"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "Search Results"
msgstr "Résultats de la recherche"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_name
msgid "Search Term"
msgstr "Critère de recherche"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_search_id
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Critères de recherche"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_model_ids
msgid "Search in Model"
msgstr "Rechercher dans un Modèle"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr "Voir l'enregistrement"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_search_line
msgid "search.line"
msgstr "search.line"

158
contact_search_form/i18n/it.po

@ -1,158 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * contact_search_form
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-03-20 12:14+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.5.1\n"
#. module: contact_search_form
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info
#: model:ir.ui.menu,name:contact_search_form.menu_customer_info_base
msgid "Contact Search"
msgstr "Ricerca contatto"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_uid
msgid "Created by"
msgstr "Creato da"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_create_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_create_date
msgid "Created on"
msgstr "Creato il"
#. module: contact_search_form
#: model:ir.actions.act_window,name:contact_search_form.action_dpo_view_itis
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Informazioni cliente"
#. module: contact_search_form
#: model:res.groups,name:contact_search_form.group_dpo
msgid "Data Protection Officer"
msgstr "Responsabile protezione dati (DPO)"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_display_name
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_field_list
msgid "Fields Name"
msgstr "Nome campi"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_model_id
msgid "Found in Model"
msgstr "Trovato nel modello"
#. module: contact_search_form
#: code:addons/contact_search_form/models/contact_search.py:20
#, python-format
msgid "Found record"
msgstr "Trovato record"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_id
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_id
msgid "ID"
msgstr "ID"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view___last_update
#: model:ir.model.fields,field_description:contact_search_form.field_search_line___last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_write_date
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_name
msgid "Model Name"
msgstr "Nome modello"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_id
msgid "Record ID"
msgstr "ID record"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_record_name
msgid "Record Name"
msgstr "Nome record"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "RICERCA"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.dpo_view_tree
msgid "Search Contact"
msgstr "Ricerca contatto"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_search_lines
msgid "Search Result"
msgstr "Risultato ricerca"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "Search Results"
msgstr "Risultati ricerca"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_name
msgid "Search Term"
msgstr "Termine di ricerca"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_search_line_search_id
#: model:ir.ui.view,arch_db:contact_search_form.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Termini di ricerca"
#. module: contact_search_form
#: model:ir.model.fields,field_description:contact_search_form.field_dpo_view_model_ids
msgid "Search in Model"
msgstr "Ricerca nel modello"
#. module: contact_search_form
#: model:ir.ui.view,arch_db:contact_search_form.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr ""
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: contact_search_form
#: model:ir.model,name:contact_search_form.model_search_line
msgid "search.line"
msgstr "search.line"

3
contact_search_form/models/__init__.py

@ -1,3 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import contact_search

84
contact_search_form/models/contact_search.py

@ -1,84 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models, _
class SearchLine(models.Model):
_name = "search.line"
name = fields.Char(string="Model Name")
field_list = fields.Char(string="Fields Name")
model_id = fields.Many2one('ir.model', string="Found in Model")
record_id = fields.Integer(string="Record ID")
search_id = fields.Many2one("dpo.view", string="Search Terms")
record_name = fields.Char(string="Record Name",
compute="_compute_record_name")
@api.multi
def open_record(self):
return {
'name': _('Found record'),
'view_type': 'form',
'view_mode': 'form',
'res_model': self.model_id.model,
'type': 'ir.actions.act_window',
'res_id': self.record_id,
'target': 'new'
}
def _compute_record_name(self):
for record in self:
record_object = self.env[self.model_id.model].browse([
self.record_id
])
record.record_name = record_object.name_get()[0][1]
class DpoView(models.Model):
_name = "dpo.view"
name = fields.Char(string="Search Term")
model_ids = fields.Many2many('ir.model',
'dpo_view_ir_model_rel',
string='Search in Model')
search_lines = fields.One2many('search.line',
'search_id',
string='Search Result')
@api.multi
def search_string(self):
search_line_ids = self.env['search.line'].search([
('search_id', '=', self.id)
])
search_line_ids.unlink()
final_list = []
for model_id in self.model_ids:
field_list = []
found_match = {}
for field_id in model_id.field_id:
if field_id.ttype in ['char', 'html', 'text'] \
and field_id.store:
field_list.append(field_id.name)
for field in field_list:
records = self.env[model_id.model].search([
(field, 'ilike', self.name),
(field, '!=', '')
])
for rec in records:
temp_list = found_match.get(rec.id, False)
if temp_list:
temp_list.append(field)
found_match[rec.id] = temp_list
else:
found_match[rec.id] = [field]
for key, value in found_match.items():
founded_json = {}
founded_json["field_list"] = str(list(set(value)))
founded_json["name"] = str(model_id.name)
founded_json["model_id"] = model_id.id
founded_json["search_id"] = self.id
founded_json["record_id"] = key
final_list.append(founded_json)
if final_list:
for vals in final_list:
self.env['search.line'].create(vals)

3
contact_search_form/readme/CONFIGURE.rst

@ -1,3 +0,0 @@
To access contact search view in contacts view, the user has to activate the 'Data Protection Officer' checkbox
in User -> Technical Settings.
After that a new menu item 'Contact Search' will appear in the Contacts App.

2
contact_search_form/readme/DESCRIPTION.rst

@ -1,2 +0,0 @@
View containing a search function for Data Protection Officers (DPO) to look up Customer Data.
All available Odoo models can be included in the search query looking for a specified string.

9
contact_search_form/readme/USAGE.rst

@ -1,9 +0,0 @@
The new menu Contact Search is located in the Contacts App
When accessing the Contact Search form a new query can be defined by
clicking on the Create button.
To perform a search the search string is required and the Odoo models that
should be searched have to be selected in the dropdown 'Search in model'.
The search results are stored and can be accessed at a later time from the
tree view of 'Contact Search'.

8
contact_search_form/security/gdpr_security.xml

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="group_dpo" model="res.groups">
<field name="name">Data Protection Officer</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
</odoo>

3
contact_search_form/security/ir.model.access.csv

@ -1,3 +0,0 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
access_dpo_view,access_dpo_view,model_dpo_view,group_dpo,1,1,1,1
access_search_line,access_search_line,model_search_line,group_dpo,1,1,1,1

BIN
contact_search_form/static/description/icon.png

Before

Width: 128  |  Height: 128  |  Size: 9.2 KiB

431
contact_search_form/static/description/index.html

@ -1,431 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
<title>Contact Search Form</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7952 2016-07-26 18:15:59Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="contact-search-form">
<h1 class="title">Contact Search Form</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/contact_search_form"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-contact_search_form"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>View containing a search function for Data Protection Officers (DPO) to look up Customer Data.
All available Odoo models can be included in the search query looking for a specified string.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="id1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="id2">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="id3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="id4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="id5">Authors</a></li>
<li><a class="reference internal" href="#maintainers" id="id6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#id1">Configuration</a></h1>
<p>To access contact search view in contacts view, the user has to activate the ‘Data Protection Officer’ checkbox
in User -&gt; Technical Settings.
After that a new menu item ‘Contact Search’ will appear in the Contacts App.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#id2">Usage</a></h1>
<p>The new menu Contact Search is located in the Contacts App</p>
<p>When accessing the Contact Search form a new query can be defined by
clicking on the Create button.
To perform a search the search string is required and the Odoo models that
should be searched have to be selected in the dropdown ‘Search in model’.</p>
<p>The search results are stored and can be accessed at a later time from the
tree view of ‘Contact Search’.</p>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#id3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20contact_search_form%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#id4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#id5">Authors</a></h2>
<ul class="simple">
<li>IT IS AG</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#id6">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/contact_search_form">OCA/data-protection</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

79
contact_search_form/views/contact_search.xml

@ -1,79 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_dpo_form_view_itis" model="ir.ui.view">
<field name="name">view.dpo.form.view.itis</field>
<field name="model">dpo.view</field>
<field name="arch" type="xml">
<form string="Customer Info">
<div class="oe_title">
<h1>
<field name="name" default_focus="1" placeholder="Search Terms" required="1"/>
</h1>
</div>
<group>
<field name="model_ids" widget="many2many_tags"/>
</group>
<br/>
<br/>
<center>
<button name="search_string" type="object" string="SEARCH" class="btn-primary"/>
</center>
<br/>
<field name="search_lines"/>
</form>
</field>
</record>
<record id="dpo_view_tree" model="ir.ui.view">
<field name="name">DPO Tree view</field>
<field name="model">dpo.view</field>
<field name="priority">1</field>
<field name="arch" type="xml">
<tree string="Search Contact">
<field name='name'/>
<field name="model_ids"/>
<field name="search_lines"/>
</tree>
</field>
</record>
<record id="action_dpo_view_itis" model="ir.actions.act_window">
<field name="name">Customer Info</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">dpo.view</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="dpo_view_tree"/>
<field name="view_type">form</field>
</record>
<menuitem id="menu_customer_info_base"
name="Contact Search"
parent="contacts.menu_contacts"
sequence="20"
groups="contact_search_form.group_dpo"/>
<menuitem id="menu_customer_info"
name="Contact Search"
action="action_dpo_view_itis"
parent="menu_customer_info_base"
sequence="21"
groups="contact_search_form.group_dpo"/>
<record id="search_line_tree_view_itis" model="ir.ui.view">
<field name="name">search.line.tree.view.itis</field>
<field name="model">search.line</field>
<field name="arch" type="xml">
<tree string="Search Results" create="false" delete="false" edit="false">
<field name="model_id"/>
<field name="record_id"/>
<field name="record_name"/>
<field name="field_list"/>
<button name="open_record" type="object" string="VIEW RECORD" class="btn-primary"/>
</tree>
</field>
</record>
</odoo>

11
privacy/README.rst

@ -14,13 +14,13 @@ Data Privacy and Protection
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github
:target: https://github.com/OCA/data-protection/tree/11.0/privacy
:target: https://github.com/OCA/data-protection/tree/12.0/privacy
:alt: OCA/data-protection :alt: OCA/data-protection
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy
:target: https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/263/11.0
:target: https://runbot.odoo-community.org/runbot/263/12.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@ -49,7 +49,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -67,6 +67,7 @@ Contributors
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Daniel Reis <dreis.pt@hotmail.com> * Daniel Reis <dreis.pt@hotmail.com>
* Nicolas JEUDY <https://github.com/njeudy>
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~
@ -81,6 +82,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/11.0/privacy>`_ project on GitHub.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/12.0/privacy>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

2
privacy/__manifest__.py

@ -2,7 +2,7 @@
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{ {
'name': 'Data Privacy and Protection', 'name': 'Data Privacy and Protection',
'version': '11.0.1.0.0',
'version': '12.0.1.1.1',
'category': 'Data Protection', 'category': 'Data Protection',
'summary': 'Provides data privacy and protection features ' 'summary': 'Provides data privacy and protection features '
'to comply to regulations, such as GDPR.', 'to comply to regulations, such as GDPR.',

286
privacy/i18n/de.po

@ -1,77 +1,91 @@
# 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:
# * privacy
# * privacy
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-07-31 14:44+0000\n"
"Last-Translator: Malin Kienke <malin.kienke@initos.com>\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: de\n" "Language: de\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"
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.7.1\n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "Aktiv"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "Tätigkeiten"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
msgid "Activity State"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "Archiviert"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "Sind betroffene Personen in der Datenbank enthalten?"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "Klicken Sie hier, um eine Verarbeitungstätigkeit hinzuzufügen."
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "Verantwortlicher"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "Erstellt von"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "Erstellt am"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.module.category,name:privacy.module_category_data_protection #: model:ir.module.category,name:privacy.module_category_data_protection
msgid "Data Protection" msgid "Data Protection"
msgstr "Datenschutz"
msgstr ""
#. module: privacy #. module: privacy
#: model:res.groups,name:privacy.group_data_protection_manager #: model:res.groups,name:privacy.group_data_protection_manager
msgid "Data Protection Manager" msgid "Data Protection Manager"
msgstr "Datenschutzbeauftragter"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config #: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings" msgid "Data Protection Settings"
msgstr "Datenschutzeinstellungen"
msgstr ""
#. module: privacy #. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user #: model:res.groups,name:privacy.group_data_protection_user
@ -81,126 +95,264 @@ msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model,name:privacy.model_privacy_activity #: model:ir.model,name:privacy.model_privacy_activity
msgid "Data processing activities" msgid "Data processing activities"
msgstr "Verarbeitungstätigkeiten"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n"
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid ""
"Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "Zuordnung betroffener Personen"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "Beschreibung"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "Details"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Anzeigename"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "Gruppieren nach"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "Wie werden hier personenbezogene Daten verwendet? Warum? Etc."
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Letzte Änderung am"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Zuletzt aktualisiert von"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "Stammdaten"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "Bezeichnung"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "Partner"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "Datenschutz"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "Auftragsverarbeiter"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report #: model:ir.ui.menu,name:privacy.menu_data_protection_report
msgid "Reports" msgid "Reports"
msgstr "Berichte"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "Auswahlfilter, um bestimmte betroffene Personen auszuwählen."
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting #: model:ir.ui.menu,name:privacy.menu_data_protection_setting
msgid "Settings" msgid "Settings"
msgstr "Einstellungen"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "" msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions" msgid "Transactions"
msgstr "Vorgänge"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
msgid "Whoever determines the purposes and means of the processing of personal data."
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr "" msgstr ""
"Die Stelle, welche über die Zwecke und Mittel der Verarbeitung von "
"personenbezogenen Daten entscheidet."
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid ""
"Whoever determines the purposes and means of the processing of personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "" msgstr ""
"Die Stelle, die personenbezogene Daten im Auftrag des Verantwortlichen "
"verarbeitet."
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr ""

215
privacy/i18n/es.po

@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-11 08:39+0000\n" "POT-Creation-Date: 2018-07-11 08:39+0000\n"
"PO-Revision-Date: 2019-02-04 14:50+0000\n"
"PO-Revision-Date: 2019-03-01 10:52+0000\n"
"Last-Translator: Marta Vázquez Rodríguez <vazrodmar@gmail.com>\n" "Last-Translator: Marta Vázquez Rodríguez <vazrodmar@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es\n" "Language: es\n"
@ -18,44 +18,61 @@ msgstr ""
"X-Generator: Weblate 3.4\n" "X-Generator: Weblate 3.4\n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "Activa" msgstr "Activa"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "Actividades" msgstr "Actividades"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
#, fuzzy
msgid "Activity State"
msgstr "Actividades"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "Archivada" msgstr "Archivada"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "¿Los sujetos interesados se encuentran en esta base de datos?" msgstr "¿Los sujetos interesados se encuentran en esta base de datos?"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "Pulse para añadir una actividad de tratamiento de datos." msgstr "Pulse para añadir una actividad de tratamiento de datos."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "Responsable" msgstr "Responsable"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "Creado por" msgstr "Creado por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "Creado el" msgstr "Creado el"
@ -72,7 +89,7 @@ msgstr "Gestor de protección de datos"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config #: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings" msgid "Data Protection Settings"
msgstr "Usuario de protección de datos"
msgstr "Configuración Protección de Datos"
#. module: privacy #. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user #: model:res.groups,name:privacy.group_data_protection_user
@ -85,7 +102,7 @@ msgid "Data processing activities"
msgstr "Actividades de tratamiento de datos" msgstr "Actividades de tratamiento de datos"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "" msgid ""
"Data processing activities define why, how and what you do\n" "Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
@ -94,79 +111,180 @@ msgstr ""
"\t\tcon los datos personales de los interesados." "\t\tcon los datos personales de los interesados."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "Definir interesados" msgstr "Definir interesados"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "Descripción" msgstr "Descripción"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "Detalles" msgstr "Detalles"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nombre a mostrar" msgstr "Nombre a mostrar"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "Agrupar por" msgstr "Agrupar por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "¿Cómo se usan los datos personales aquí? ¿Por qué? Etc." msgstr "¿Cómo se usan los datos personales aquí? ¿Por qué? Etc."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Última modificación en" msgstr "Última modificación en"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Última actualización por" msgstr "Última actualización por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última actualización el" msgstr "Última actualización el"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "Datos maestros" msgstr "Datos maestros"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "Contactos" msgstr "Contactos"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "Privacidad" msgstr "Privacidad"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "Encargados del tratamiento" msgstr "Encargados del tratamiento"
@ -176,7 +294,12 @@ msgid "Reports"
msgstr "Informes" msgstr "Informes"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "" msgstr ""
"Filtro de selección para encontrar los interesados específicos incluidos." "Filtro de selección para encontrar los interesados específicos incluidos."
@ -187,17 +310,47 @@ msgid "Settings"
msgstr "Configuración" msgstr "Configuración"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
#, fuzzy
msgid "Subjects details"
msgstr "Filtro de interesados"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "Filtro de interesados" msgstr "Filtro de interesados"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions" msgid "Transactions"
msgstr "Transacciones" msgstr "Transacciones"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "" msgid ""
"Whoever determines the purposes and means of the processing of personal data." "Whoever determines the purposes and means of the processing of personal data."
msgstr "" msgstr ""
@ -205,6 +358,12 @@ msgstr ""
"personales." "personales."
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "Quien procesa los datos personales en nombre del responsable." msgstr "Quien procesa los datos personales en nombre del responsable."
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
#, fuzzy
msgid "processors"
msgstr "Encargados del tratamiento"

355
privacy/i18n/fi.po

@ -0,0 +1,355 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
msgid "Activity State"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on"
msgstr ""
#. module: privacy
#: model:ir.module.category,name:privacy.module_category_data_protection
msgid "Data Protection"
msgstr ""
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_manager
msgid "Data Protection Manager"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings"
msgstr ""
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user
msgid "Data Protection User"
msgstr ""
#. module: privacy
#: model:ir.model,name:privacy.model_privacy_activity
msgid "Data processing activities"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n"
" with subjects' personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report
msgid "Reports"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included."
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting
msgid "Settings"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid "Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "Whoever determines the purposes and means of the processing of personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr ""

294
privacy/i18n/fr.po

@ -4,169 +4,288 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-01-27 16:03+0000\n"
"Last-Translator: Nicolas JEUDY <njeudy@panda-chi.io>\n"
"Language-Team: none\n"
"Language: fr\n"
"POT-Creation-Date: 2022-03-03 10:51+0000\n"
"PO-Revision-Date: 2022-03-03 10:51+0000\n"
"Last-Translator: <>\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"
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.4\n"
"Plural-Forms: \n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr "Nécessite une action"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "Actif" msgstr "Actif"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "Traitements"
msgstr "Activités"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
msgid "Activity State"
msgstr "Status de l'Activité"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "Archivé" msgstr "Archivé"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "Est ce que les personnes impactées sont dans cette base de données ?"
msgstr "Est ce que les personnes ciblées sont dans cette base de données ?"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr "Nombre de pièces jointes"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "Cliquez pour ajouter un traitement au registre."
msgstr "Cliquer pour ajouter un traitement"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__company_id
msgid "Company"
msgstr "Société"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "Responsable" msgstr "Responsable"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "Créé par" msgstr "Créé par"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "Créé le" msgstr "Créé le"
#. module: privacy #. module: privacy
#: model:ir.module.category,name:privacy.module_category_data_protection #: model:ir.module.category,name:privacy.module_category_data_protection
msgid "Data Protection" msgid "Data Protection"
msgstr "Protection des données"
msgstr "Protection des Données"
#. module: privacy #. module: privacy
#: model:res.groups,name:privacy.group_data_protection_manager #: model:res.groups,name:privacy.group_data_protection_manager
msgid "Data Protection Manager" msgid "Data Protection Manager"
msgstr "Responsable des traitements"
msgstr "Responsable des données personnelles"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config #: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings" msgid "Data Protection Settings"
msgstr "Protection des données - Paramètres"
msgstr "Paramètres RGPD"
#. module: privacy #. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user #: model:res.groups,name:privacy.group_data_protection_user
msgid "Data Protection User" msgid "Data Protection User"
msgstr "Protection des données - Utilisateur"
msgstr "Utilisateur RGPD"
#. module: privacy #. module: privacy
#: model:ir.model,name:privacy.model_privacy_activity #: model:ir.model,name:privacy.model_privacy_activity
msgid "Data processing activities" msgid "Data processing activities"
msgstr "Traitements des données personnelles"
msgstr "Traitements de données"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n" msgid "Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
msgstr ""
"Le registre des traitements des données personnelles définit\n"
"…………pourquoi et comment sont utilisées les données personnelles."
msgstr "Les traitements définissent pourquoi, comment et ce qui est fait des données personnelles récupérées."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "Filtrer les personnes impactées"
msgstr "Définir les cibles du traitement"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "Description"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "Détails" msgstr "Détails"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nom affiché" msgstr "Nom affiché"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr "Abonnés"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr "Abonnés (Canaux)"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr "Abonnés (Partenaires)"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "Grouper par"
msgstr "Regrouper par"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "Comment sont utilisées les données personnelles ? Pourquoi ? Etc."
msgstr "Comment sont utilisées les données personnelles ? pourquoi ? etc ."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "ID"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr "Si coché, de nouveaux messages demandent votre attention."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Si coché, de nouveaux messages demandent votre attention."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Si actif, certains messages ont une erreur de livraison."
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr "Est un abonné"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Modificatié le"
msgstr "Dernière modification le"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Mis à jour par"
msgstr "Dernière mise à jour par"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Mis à jour le"
msgstr "Dernière mise à jour le"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr "Pièce jointe principale"
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "Registre(s)"
msgstr "Registres"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr "Erreur d'envoi du message"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr "Date limite de l'Activité à Venir"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr "Résumé d'activité suivant"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr "Type d'Activités à Venir"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr "Nombre d'actions"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr "Nombre d'erreurs"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr "Nombre de messages exigeant une action"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Nombre de messages avec des erreurs d'envoi"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr "Nombre de messages non lus"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "Contacts"
msgstr "Partenaires"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "Vie privée"
msgstr "Confidentialité"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "Sous-traitants"
msgstr "Organismes traitant les données"
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report #: model:ir.ui.menu,name:privacy.menu_data_protection_report
@ -174,9 +293,14 @@ msgid "Reports"
msgstr "Rapports" msgstr "Rapports"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr "Responsable"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "Ajouter des filtres pour associer les personnes concernées."
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting #: model:ir.ui.menu,name:privacy.menu_data_protection_setting
@ -184,24 +308,68 @@ msgid "Settings"
msgstr "Configuration" msgstr "Configuration"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid "Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr "Statut basé sur les activités\n"
"En retard : la date d'échéance est déjà dépassée\n"
"Aujourd'hui : la date d'activité est aujourd'hui\n"
"Planifiée : activités futures"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr "Cibles"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "Filtre des personnes concernées"
msgstr "Ajouter un Filtre sur les personnes"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
#, fuzzy
msgid "Transactions" msgid "Transactions"
msgstr "Traitements"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr "Messages non lus"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr "Compteur de messages non lus"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__website_message_ids
msgid "Website Messages"
msgstr "Messages du site web"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__website_message_ids
msgid "Website communication history"
msgstr "Historique de communication du site web"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "Whoever determines the purposes and means of the processing of personal data." msgid "Whoever determines the purposes and means of the processing of personal data."
msgstr "" msgstr ""
"Personnes définissant les finalités et les raisons du traitement des "
"données personnelles."
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "Sous-traitants utilisant ces données personnelles."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr "Sous-traitants"

362
privacy/i18n/hr.po

@ -0,0 +1,362 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-11-14 16:34+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>\n"
"Language-Team: none\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 3.8\n"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr "Potrebna radnja"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active"
msgstr "Aktivan"
#. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities"
msgstr "Aktivnosti"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
#, fuzzy
msgid "Activity State"
msgstr "Aktivnosti"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived"
msgstr "Arhivirano"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?"
msgstr "Jesu li dotični subjekti prisutni u ovoj bazi?"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr "Broj priloga"
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity."
msgstr "Kliknite za dodavanje aktivnosti obrade podataka."
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller"
msgstr "Kontroler"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: privacy
#: model:ir.module.category,name:privacy.module_category_data_protection
msgid "Data Protection"
msgstr "Zaštita podataka"
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_manager
msgid "Data Protection Manager"
msgstr "Upravlja zaštitom podataka"
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings"
msgstr "Postavke zaštite podataka"
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user
msgid "Data Protection User"
msgstr "Korisnik zaštite podataka"
#. module: privacy
#: model:ir.model,name:privacy.model_privacy_activity
msgid "Data processing activities"
msgstr "Aktivnosti obrade podataka"
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid ""
"Data processing activities define why, how and what you do\n"
" with subjects' personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects"
msgstr "Definirajte subjekte"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description"
msgstr "Opis"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details"
msgstr "Pojedinosti"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name"
msgstr "Naziv"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr "Pratitelji"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr "Pratitelji (kanali)"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr "Pratitelji (partneri)"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By"
msgstr "Grupiraj po"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc."
msgstr "Kako su ovdje korišteni osobni podaci? Zašto? itd..."
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID"
msgstr "ID"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr "Ako je označeno, nove poruke zahtijevaju važu pozornost."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Ako je označeno, nove poruke zahtijevaju važu pozornost."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr "Je pratitelj"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr "Poruke"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report
msgid "Reports"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included."
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting
msgid "Settings"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid ""
"Whoever determines the purposes and means of the processing of personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr ""

232
privacy/i18n/it.po

@ -1,10 +1,10 @@
# 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:
# * privacy
# * privacy
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-06-06 22:20+0000\n" "PO-Revision-Date: 2019-06-06 22:20+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n" "Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n"
@ -17,44 +17,61 @@ msgstr ""
"X-Generator: Weblate 3.6.1\n" "X-Generator: Weblate 3.6.1\n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr "Richiesta azione"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "Attiva" msgstr "Attiva"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "Attività" msgstr "Attività"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
#, fuzzy
msgid "Activity State"
msgstr "Attività"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "Archiviata" msgstr "Archiviata"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "I soggetti interessati sono presenti nel database?" msgstr "I soggetti interessati sono presenti nel database?"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr "Numero allegati"
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "Fare clic per aggiungere un'attività di elaborazione dei dati." msgstr "Fare clic per aggiungere un'attività di elaborazione dei dati."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "Titolare trattamento" msgstr "Titolare trattamento"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "Creato da" msgstr "Creato da"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "Creato il" msgstr "Creato il"
@ -84,8 +101,9 @@ msgid "Data processing activities"
msgstr "Attività di elaborazione dei dati" msgstr "Attività di elaborazione dei dati"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n"
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid ""
"Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
msgstr "" msgstr ""
"Le attività di elaborazione dei dati definiscono perché, come e cosa viene " "Le attività di elaborazione dei dati definiscono perché, come e cosa viene "
@ -93,81 +111,182 @@ msgstr ""
" dei dati personali dei soggetti interessati." " dei dati personali dei soggetti interessati."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "Indicare soggetti" msgstr "Indicare soggetti"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "Descrizione" msgstr "Descrizione"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "Dettagli" msgstr "Dettagli"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nome visualizzato" msgstr "Nome visualizzato"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr "Follower"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr "Follower (canali)"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr "Follower (partner)"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "Raggruppa per" msgstr "Raggruppa per"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "Come vengono usati i dati personali? Perché? Ecc." msgstr "Come vengono usati i dati personali? Perché? Ecc."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr "Se selezionato, nuovi messaggi richiedono attenzione."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Se selezionato, nuovi messaggi richiedono attenzione."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Se selezionato, alcuni messaggi presentano un errore di consegna."
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr "È un follower"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Ultima modifica il" msgstr "Ultima modifica il"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Ultimo aggiornamento di" msgstr "Ultimo aggiornamento di"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Ultimo aggiornamento il" msgstr "Ultimo aggiornamento il"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr "Allegato principale"
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "Dati principali" msgstr "Dati principali"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr "Errore di consegna messaggio"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr "Messaggi"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr "Numero di azioni"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr "Numero di errori"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr "Numero di messaggi che richiedono un'azione"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Numero di messaggi con errore di consegna"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr "Numero di messaggi non letti"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "Partner" msgstr "Partner"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "Privacy" msgstr "Privacy"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "Responsabili del trattamento"
msgstr "Responsabile trattamento"
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report #: model:ir.ui.menu,name:privacy.menu_data_protection_report
@ -175,9 +294,15 @@ msgid "Reports"
msgstr "Informative" msgstr "Informative"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "Filtro di selezione per trovare specifici soggetti interessati inclusi."
msgstr ""
"Filtro di selezione per trovare specifici soggetti interessati inclusi."
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting #: model:ir.ui.menu,name:privacy.menu_data_protection_setting
@ -185,9 +310,28 @@ msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr "Dettagli soggetti interessati"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "Filtro per soggetti interessati"
msgstr "Filtro soggetti interessati"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
@ -195,11 +339,29 @@ msgid "Transactions"
msgstr "Operazioni" msgstr "Operazioni"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
msgid "Whoever determines the purposes and means of the processing of personal data."
msgstr "Chiunque determini i fini e i mezzi di elaborazione dei dati personali."
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr "Messaggi non letti"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr "Numero messaggi non letti"
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid ""
"Whoever determines the purposes and means of the processing of personal data."
msgstr ""
"Chiunque determini i fini e i mezzi di elaborazione dei dati personali."
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "Chiunque elabori dati personali per conto del titolare del trattamento."
msgstr ""
"Chiunque elabori dati personali per conto del titolare del trattamento."
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr "responsabili trattamento"

357
privacy/i18n/nl.po

@ -0,0 +1,357 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-12-16 02:19+0000\n"
"Last-Translator: Bosd <c5e2fd43-d292-4c90-9d1f-74ff3436329a@anonaddy.me>\n"
"Language-Team: none\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr "Actie vereist"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active"
msgstr "Actief"
#. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
msgid "Activity State"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr "Aantal bijlagen"
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by"
msgstr "Aangemaakt door"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on"
msgstr "Aangemaakt op"
#. module: privacy
#: model:ir.module.category,name:privacy.module_category_data_protection
msgid "Data Protection"
msgstr ""
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_manager
msgid "Data Protection Manager"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_config
msgid "Data Protection Settings"
msgstr ""
#. module: privacy
#: model:res.groups,name:privacy.group_data_protection_user
msgid "Data Protection User"
msgstr ""
#. module: privacy
#: model:ir.model,name:privacy.model_privacy_activity
msgid "Data processing activities"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n"
" with subjects' personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_report
msgid "Reports"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included."
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_setting
msgid "Settings"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid "Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "Whoever determines the purposes and means of the processing of personal data."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr ""

209
privacy/i18n/privacy.pot

@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
@ -14,44 +14,60 @@ msgstr ""
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
msgid "Activity State"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "" msgstr ""
@ -81,85 +97,186 @@ msgid "Data processing activities"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Data processing activities define why, how and what you do\n" msgid "Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "" msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "" msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "" msgstr ""
@ -169,7 +286,12 @@ msgid "Reports"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "" msgstr ""
@ -179,22 +301,55 @@ msgid "Settings"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid "Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Subjects details"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "" msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions" msgid "Transactions"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "Whoever determines the purposes and means of the processing of personal data." msgid "Whoever determines the purposes and means of the processing of personal data."
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "" msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "processors"
msgstr ""

211
privacy/i18n/pt.po

@ -14,44 +14,61 @@ msgstr ""
"X-Generator: Weblate 3.1.1\n" "X-Generator: Weblate 3.1.1\n"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_active
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__active
msgid "Active" msgid "Active"
msgstr "Ativo" msgstr "Ativo"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.activity_action #: model:ir.actions.act_window,name:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_ids
#: model:ir.ui.menu,name:privacy.menu_privacy_activity #: model:ir.ui.menu,name:privacy.menu_privacy_activity
msgid "Activities" msgid "Activities"
msgstr "Atividades" msgstr "Atividades"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_state
#, fuzzy
msgid "Activity State"
msgstr "Atividades"
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Archived" msgid "Archived"
msgstr "Arquivado" msgstr "Arquivado"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_find
msgid "Are affected subjects present in this database?" msgid "Are affected subjects present in this database?"
msgstr "Os titulares afetados estão presentes nesta base de dados?" msgstr "Os titulares afetados estão presentes nesta base de dados?"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "Click to add a data processing activity." msgid "Click to add a data processing activity."
msgstr "Clique para adicionar uma atividade de processamento de dados." msgstr "Clique para adicionar uma atividade de processamento de dados."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_controller_id
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__controller_id
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Controller" msgid "Controller"
msgstr "Controlador" msgstr "Controlador"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_uid
msgid "Created by" msgid "Created by"
msgstr "Criado por" msgstr "Criado por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_create_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__create_date
msgid "Created on" msgid "Created on"
msgstr "Criado em" msgstr "Criado em"
@ -82,7 +99,7 @@ msgid "Data processing activities"
msgstr "Atividades de processamento de dados" msgstr "Atividades de processamento de dados"
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,help:privacy.activity_action
#: model_terms:ir.actions.act_window,help:privacy.activity_action
msgid "" msgid ""
"Data processing activities define why, how and what you do\n" "Data processing activities define why, how and what you do\n"
" with subjects' personal data." " with subjects' personal data."
@ -91,79 +108,180 @@ msgstr ""
"os dados pessoais dos titulares." "os dados pessoais dos titulares."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_find
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_find
msgid "Define subjects" msgid "Define subjects"
msgstr "Definir titulares" msgstr "Definir titulares"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_description
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__description
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Description" msgid "Description"
msgstr "Descrição" msgstr "Descrição"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_form
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Details" msgid "Details"
msgstr "Detalhes" msgstr "Detalhes"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_display_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nome a Exibir" msgstr "Nome a Exibir"
#. module: privacy #. module: privacy
#: model:ir.ui.view,arch_db:privacy.activity_search
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_search
msgid "Group By" msgid "Group By"
msgstr "Agrupar Por" msgstr "Agrupar Por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_description
#: model:ir.model.fields,help:privacy.field_privacy_activity__description
msgid "How is personal data used here? Why? Etc." msgid "How is personal data used here? Why? Etc."
msgstr "Como são usados os dados pessoais aqui? Porquê? Etc." msgstr "Como são usados os dados pessoais aqui? Porquê? Etc."
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity___last_update
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Última Modificação em" msgstr "Última Modificação em"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_uid
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Última Atualização por" msgstr "Última Atualização por"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_write_date
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última Atualização em" msgstr "Última Atualização em"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_master_data #: model:ir.ui.menu,name:privacy.menu_data_protection_master_data
msgid "Master Data" msgid "Master Data"
msgstr "Dados Principais" msgstr "Dados Principais"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_name
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_ids
msgid "Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__name
msgid "Name" msgid "Name"
msgstr "Nome" msgstr "Nome"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Overdue"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form #: model:ir.actions.act_window,name:privacy.action_data_protection_partner_form
#: model:ir.ui.menu,name:privacy.menu_data_protection_partner #: model:ir.ui.menu,name:privacy.menu_data_protection_partner
msgid "Partners" msgid "Partners"
msgstr "Parceiros" msgstr "Parceiros"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Planned"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.parent_menu_data_protection #: model:ir.ui.menu,name:privacy.parent_menu_data_protection
msgid "Privacy" msgid "Privacy"
msgstr "Privacidade" msgstr "Privacidade"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__processor_ids
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
msgid "Processors" msgid "Processors"
msgstr "Processadores" msgstr "Processadores"
@ -173,7 +291,12 @@ msgid "Reports"
msgstr "Relatórios" msgstr "Relatórios"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__subject_domain
msgid "Selection filter to find specific subjects included." msgid "Selection filter to find specific subjects included."
msgstr "Filtro de seleção para procurar titulares específicos incluídos." msgstr "Filtro de seleção para procurar titulares específicos incluídos."
@ -183,22 +306,58 @@ msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
#. module: privacy #. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity_subject_domain
#: model:ir.model.fields,help:privacy.field_privacy_activity__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
#, fuzzy
msgid "Subjects details"
msgstr "Filtro de titulares"
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__subject_domain
msgid "Subjects filter" msgid "Subjects filter"
msgstr "Filtro de titulares" msgstr "Filtro de titulares"
#. module: privacy
#: selection:privacy.activity,activity_state:0
msgid "Today"
msgstr ""
#. module: privacy #. module: privacy
#: model:ir.ui.menu,name:privacy.menu_data_protection_transaction #: model:ir.ui.menu,name:privacy.menu_data_protection_transaction
msgid "Transactions" msgid "Transactions"
msgstr "Transações" msgstr "Transações"
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_controller_id
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy
#: model:ir.model.fields,field_description:privacy.field_privacy_activity__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity__controller_id
msgid "" msgid ""
"Whoever determines the purposes and means of the processing of personal data." "Whoever determines the purposes and means of the processing of personal data."
msgstr "Quem determina os fins e meios do processamento de dados pessoais." msgstr "Quem determina os fins e meios do processamento de dados pessoais."
#. module: privacy #. module: privacy
#: model:ir.model.fields,help:privacy.field_privacy_activity_processor_ids
#: model:ir.model.fields,help:privacy.field_privacy_activity__processor_ids
msgid "Whoever processes personal data on behalf of the controller." msgid "Whoever processes personal data on behalf of the controller."
msgstr "Quem processa dados pessoais em nome do controlador." msgstr "Quem processa dados pessoais em nome do controlador."
#. module: privacy
#: model_terms:ir.ui.view,arch_db:privacy.activity_form
#, fuzzy
msgid "processors"
msgstr "Processadores"

4
privacy/models/privacy_activity.py

@ -7,7 +7,7 @@ from odoo import api, fields, models
class PrivacyActivity(models.Model): class PrivacyActivity(models.Model):
_name = "privacy.activity" _name = "privacy.activity"
_description = "Data processing activities" _description = "Data processing activities"
_inherit = "mail.thread"
_inherit = ['mail.thread', 'mail.activity.mixin']
active = fields.Boolean( active = fields.Boolean(
default=True, default=True,
@ -49,4 +49,4 @@ class PrivacyActivity(models.Model):
@api.model @api.model
def _default_controller_id(self): def _default_controller_id(self):
"""By default it should be the current user's company.""" """By default it should be the current user's company."""
return self.env.user.company_id
return self.env.user.company_id.partner_id

1
privacy/readme/CONTRIBUTORS.rst

@ -1,2 +1,3 @@
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Daniel Reis <dreis.pt@hotmail.com> * Daniel Reis <dreis.pt@hotmail.com>
* Nicolas JEUDY <https://github.com/njeudy>

7
privacy/static/description/index.html

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This application provides data protection and privacy feature, <p>This application provides data protection and privacy feature,
to comply with regulations such as GDPR.</p> to comply with regulations such as GDPR.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
@ -397,7 +397,7 @@ to comply with regulations such as GDPR.</p>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -414,6 +414,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<ul class="simple"> <ul class="simple">
<li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li> <li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li>
<li>Daniel Reis &lt;<a class="reference external" href="mailto:dreis.pt&#64;hotmail.com">dreis.pt&#64;hotmail.com</a>&gt;</li> <li>Daniel Reis &lt;<a class="reference external" href="mailto:dreis.pt&#64;hotmail.com">dreis.pt&#64;hotmail.com</a>&gt;</li>
<li>Nicolas JEUDY &lt;<a class="reference external" href="https://github.com/njeudy">https://github.com/njeudy</a>&gt;</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@ -423,7 +424,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy">OCA/data-protection</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy">OCA/data-protection</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

41
privacy/views/privacy_activity_view.xml

@ -33,22 +33,37 @@
<group name="basic"> <group name="basic">
<group name="owners"> <group name="owners">
<field name="controller_id"/> <field name="controller_id"/>
<field
name="processor_ids"
widget="many2many_tags"
/>
</group> </group>
<group name="subjects">
<field name="subject_find"/>
<field
name="subject_domain"
widget="domain"
options='{"model": "res.partner"}'
attrs='{"required": [("subject_find", "=", True)],
"invisible": [("subject_find", "=", False)]}'
/>
<group name="dates">
<field name="create_date" readonly="1"/>
<field name="write_date" readonly="1"/>
<field name="write_uid" readonly="1"/>
</group> </group>
</group> </group>
<separator name="subjects" string="Subjects details"/>
<group name="subjects">
<field name="subject_find"/>
<field
name="subject_domain"
widget="domain"
options='{"model": "res.partner"}'
attrs='{"required": [("subject_find", "=", True)],
"invisible": [("subject_find", "=", False)]}'
/>
</group>
<separator name="processors" string="Processors"/>
<group name="processors">
<field
name="processor_ids"
widget="many2many"
>
<tree string="processors">
<field name="name"/>
<field name="email"/>
<field name="country_id"/>
</tree>
</field>
</group>
<notebook string="Details" name="advanced"> <notebook string="Details" name="advanced">
<page string="Description"> <page string="Description">
<group> <group>

10
privacy_consent/README.rst

@ -14,13 +14,13 @@ Privacy - Consent
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github
:target: https://github.com/OCA/data-protection/tree/11.0/privacy_consent
:target: https://github.com/OCA/data-protection/tree/12.0/privacy_consent
:alt: OCA/data-protection :alt: OCA/data-protection
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy_consent
:target: https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy_consent
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/263/11.0
:target: https://runbot.odoo-community.org/runbot/263/12.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@ -136,7 +136,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_consent%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_consent%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -173,6 +173,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/11.0/privacy_consent>`_ project on GitHub.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/12.0/privacy_consent>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

3
privacy_consent/__manifest__.py

@ -4,7 +4,7 @@
"name": "Privacy - Consent", "name": "Privacy - Consent",
"summary": "Allow people to explicitly accept or reject inclusion " "summary": "Allow people to explicitly accept or reject inclusion "
"in some activity, GDPR compliant", "in some activity, GDPR compliant",
"version": "11.0.1.0.0",
"version": "12.0.1.1.2",
"development_status": "Production/Stable", "development_status": "Production/Stable",
"category": "Privacy", "category": "Privacy",
"website": "https://github.com/OCA/management-activity", "website": "https://github.com/OCA/management-activity",
@ -20,6 +20,7 @@
"data/ir_actions_server.xml", "data/ir_actions_server.xml",
"data/ir_cron.xml", "data/ir_cron.xml",
"data/mail.xml", "data/mail.xml",
"templates/assets.xml",
"templates/form.xml", "templates/form.xml",
"views/privacy_consent.xml", "views/privacy_consent.xml",
"views/privacy_activity.xml", "views/privacy_activity.xml",

19
privacy_consent/data/ir_actions_server.xml

@ -5,12 +5,25 @@
<data> <data>
<record id="update_opt_out" model="ir.actions.server">
<field name="name">Update partner's opt out</field>
<record id="sync_blacklist" model="ir.actions.server">
<field name="name">Sync partner's email blacklist status</field>
<field name="model_id" ref="model_privacy_consent"/> <field name="model_id" ref="model_privacy_consent"/>
<field name="crud_model_id" ref="base.model_res_partner"/> <field name="crud_model_id" ref="base.model_res_partner"/>
<field name="state">code</field> <field name="state">code</field>
<field name="code">records.mapped('partner_id').write({'opt_out': not record.accepted})</field>
<field name="code">
for consent in records:
email = consent.partner_id.email
# Skip records without email, although highly improbable
if not email:
continue
# Choose method to sync acceptance and blacklisting
if consent.accepted:
method = env["mail.blacklist"]._remove
else:
method = env["mail.blacklist"]._add
# Apply user desire
method(email)
</field>
</record> </record>
</data> </data>

216
privacy_consent/i18n/de.po

@ -142,24 +142,29 @@ msgid "Acceptance status updated by subject"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_accepted
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted" msgid "Accepted"
msgstr "Akzeptiert" msgstr "Akzeptiert"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default" msgid "Accepted by default"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_active
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active" msgid "Active"
msgstr "Aktiv" msgstr "Aktiv"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_activity_id
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity" msgid "Activity"
msgstr "Aktivität" msgstr "Aktivität"
@ -169,20 +174,25 @@ msgid "Answered"
msgstr "Beantwortet" msgstr "Beantwortet"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived" msgid "Archived"
msgstr "Archiviert" msgstr "Archiviert"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent" msgid "Ask for consent"
msgstr "Einwilligung einholen" msgstr "Einwilligung einholen"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent" msgid "Ask subjects for consent"
msgstr "Einwilligung beim Betroffenen einholen" msgstr "Einwilligung beim Betroffenen einholen"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Automatically" msgid "Automatically"
@ -194,18 +204,18 @@ msgid "Awaiting response"
msgstr "Warten auf Antwort" msgstr "Warten auf Antwort"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent" msgid "Consent"
msgstr "Einwilligung" msgstr "Einwilligung"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_body_html
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
#, fuzzy #, fuzzy
msgid "Consent Template Default Body Html" msgid "Consent Template Default Body Html"
msgstr "Einverständniserklärung Standardtext html" msgstr "Einverständniserklärung Standardtext html"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_subject
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
#, fuzzy #, fuzzy
msgid "Consent Template Default Subject" msgid "Consent Template Default Subject"
msgstr "Standardmäßige Einverständniserklärung Betroffener" msgstr "Standardmäßige Einverständniserklärung Betroffener"
@ -217,26 +227,31 @@ msgstr "Einwilligung in die Datenverarbeitung"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action #: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent #: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents" msgid "Consents"
msgstr "Einwilligungen" msgstr "Einwilligungen"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
#, fuzzy
msgid "Consents count"
msgstr "Einwilligungen"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner #: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by" msgid "Created by"
msgstr "Erstellt von" msgstr "Erstellt von"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on" msgid "Created on"
msgstr "Erstellt am" msgstr "Erstellt am"
@ -252,7 +267,7 @@ msgid ""
msgstr "Bitte um Erteilung der Einwilligung zur Datenverarbeitung:" msgstr "Bitte um Erteilung der Einwilligung zur Datenverarbeitung:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_display_name
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Anzeigename" msgstr "Anzeigename"
@ -272,12 +287,12 @@ msgid "Email Templates"
msgstr "E-Mail-Vorlagen" msgstr "E-Mail-Vorlagen"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template" msgid "Email template"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "" msgid ""
"Email to be sent to subjects to ask for consent. A good template should " "Email to be sent to subjects to ask for consent. A good template should "
"include details about the current consent request status, how to change it, " "include details about the current consent request status, how to change it, "
@ -289,60 +304,90 @@ msgstr ""
"der Einwilligung ändern kann und wo man weitere Informationen erhält." "der Einwilligung ändern kann und wo man weitere Informationen erhält."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "" msgid ""
"Enable if you need to track any kind of consent from the affected subjects" "Enable if you need to track any kind of consent from the affected subjects"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
#, fuzzy #, fuzzy
msgid "Generate and enqueue missing consent requests" msgid "Generate and enqueue missing consent requests"
msgstr "Erstellung und Versand fehlender Einwilligungsanfragen" msgstr "Erstellung und Versand fehlender Einwilligungsanfragen"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests" msgid "Generate missing draft consent requests"
msgstr "Fehlende Entwürfe von Einwilligungsanfragen erstellen" msgstr "Fehlende Entwürfe von Einwilligungsanfragen erstellen"
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:138
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format #, python-format
msgid "Generated consents" msgid "Generated consents"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By" msgid "Group By"
msgstr "Gruppieren nach" msgstr "Gruppieren nach"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello," msgid "Hello,"
msgstr "Hallo" msgstr "Hallo"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data" msgid "I <b>accept</b> this processing of my data"
msgstr "Ich <b>akzeptiere</b> die Verarbeitung meiner Daten" msgstr "Ich <b>akzeptiere</b> die Verarbeitung meiner Daten"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data" msgid "I <b>reject</b> this processing of my data"
msgstr "Ich <b>lehne</b> die Verarbeitung meiner Daten ab" msgstr "Ich <b>lehne</b> die Verarbeitung meiner Daten ab"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID" msgid "ID"
msgstr "Ausweis" msgstr "Ausweis"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:" msgid "If it was a mistake, you can undo it here:"
msgstr "Wenn es ein Fehler war, können Sie diesen hier rückgängig machen:" msgstr "Wenn es ein Fehler war, können Sie diesen hier rückgängig machen:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_accepted
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "" msgid ""
"Indicates current acceptance status, which can come from subject's last " "Indicates current acceptance status, which can come from subject's last "
"answer, or from the default specified in the related data processing " "answer, or from the default specified in the related data processing "
@ -353,33 +398,53 @@ msgstr ""
"angegebenen Standard ergeben kann." "angegebenen Standard ergeben kann."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
#, fuzzy #, fuzzy
msgid "Last Metadata" msgid "Last Metadata"
msgstr "Letzte Metadaten" msgstr "Letzte Metadaten"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent___last_update
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Letzte Änderung am" msgstr "Letzte Änderung am"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Zuletzt aktualisiert von" msgstr "Zuletzt aktualisiert von"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am" msgstr "Zuletzt aktualisiert am"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Manually" msgid "Manually"
msgstr "Manuell" msgstr "Manuell"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject" msgid "Metadata from the last acceptance or rejection by the subject"
msgstr "Metadaten aus der letzten Annahme oder Ablehnung durch den Betroffenen" msgstr "Metadaten aus der letzten Annahme oder Ablehnung durch den Betroffenen"
@ -399,6 +464,31 @@ msgstr ""
msgid "New Consent" msgid "New Consent"
msgstr "Neue Einwilligung" msgstr "Neue Einwilligung"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail #: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails" msgid "Outgoing Mails"
@ -424,14 +514,14 @@ msgid "Privacy consent request state changed"
msgstr "Status der Anfrage zur Einwilligung geändert" msgstr "Status der Anfrage zur Einwilligung geändert"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount" msgid "Privacy consent requests amount"
msgstr "Anzahl der Anfragen zur Einwilligung" msgstr "Anzahl der Anfragen zur Einwilligung"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents" msgid "Privacy consents"
msgstr "Einwilligung zum Datenschutz" msgstr "Einwilligung zum Datenschutz"
@ -449,24 +539,24 @@ msgid "Require consent is available only for subjects in current database."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "" msgid ""
"Run this action when a new consent request is created or its acceptance " "Run this action when a new consent request is created or its acceptance "
"status is updated." "status is updated."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action" msgid "Server action"
msgstr "Server-Aktion" msgstr "Server-Aktion"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?" msgid "Should we assume the subject has accepted if we receive no response?"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>" msgid "Sincerely,<br/>"
msgstr "Mit freundlichen Grüßen<br/>" msgstr "Mit freundlichen Grüßen<br/>"
@ -479,8 +569,8 @@ msgstr ""
"einzuholen." "einzuholen."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_state
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State" msgid "State"
msgstr "Status" msgstr "Status"
@ -491,27 +581,32 @@ msgid "State Changed"
msgstr "Status geändert" msgstr "Status geändert"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject" msgid "Subject"
msgstr "Betroffener" msgstr "Betroffener"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent." msgid "Subject asked for consent."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!" msgid "Thank you!"
msgstr "Vielen Dank." msgstr "Vielen Dank."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response." msgid "Thanks for your response."
msgstr "Vielen Dank für Ihre Antwort." msgstr "Vielen Dank für Ihre Antwort."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
#, fuzzy #, fuzzy
msgid "This could enqueue many consent emails, are you sure to proceed?" msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr "" msgstr ""
@ -519,30 +614,35 @@ msgstr ""
"sicher, dass Sie fortfahren wollen?" "sicher, dass Sie fortfahren wollen?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.update_opt_out
msgid "Update partner's opt out"
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "" msgid ""
"We asked you to authorize us to process your data in this data processing " "We asked you to authorize us to process your data in this data processing "
"activity:" "activity:"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side." msgid "We have recorded this action on your side."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing." msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr "" msgstr ""
"Du hast diese Verarbeitungstätigkeit <b class=\"text-danger\">abgelehnt</b>." "Du hast diese Verarbeitungstätigkeit <b class=\"text-danger\">abgelehnt</b>."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing." msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr "" msgstr ""
"Du hast dieser Verarbeitungstätigkeit <b class=\"text-success\">zugestimmt</" "Du hast dieser Verarbeitungstätigkeit <b class=\"text-success\">zugestimmt</"

233
privacy_consent/i18n/es.po

@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-05-13 17:04+0000\n" "POT-Creation-Date: 2019-05-13 17:04+0000\n"
"PO-Revision-Date: 2019-05-13 18:08+0100\n"
"Last-Translator: Jairo Llopis <yajo.sk8@gmail.com>\n"
"PO-Revision-Date: 2021-03-17 15:46+0000\n"
"Last-Translator: David Vidal <david.vidal@tecnativa.com>\n"
"Language-Team: \n" "Language-Team: \n"
"Language: es_ES\n"
"Language: es\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"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.1\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: privacy_consent #. module: privacy_consent
#: model:mail.template,body_html:privacy_consent.template_consent #: model:mail.template,body_html:privacy_consent.template_consent
@ -248,24 +248,29 @@ msgid "Acceptance status updated by subject"
msgstr "Estado de aceptación modificado por el interesado" msgstr "Estado de aceptación modificado por el interesado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_accepted
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted" msgid "Accepted"
msgstr "Aceptado" msgstr "Aceptado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default" msgid "Accepted by default"
msgstr "Aceptado por defecto" msgstr "Aceptado por defecto"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_active
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr "Acción requerida"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active" msgid "Active"
msgstr "Activo" msgstr "Activo"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_activity_id
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity" msgid "Activity"
msgstr "Actividad" msgstr "Actividad"
@ -275,20 +280,25 @@ msgid "Answered"
msgstr "Respondido" msgstr "Respondido"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived" msgid "Archived"
msgstr "Archivado" msgstr "Archivado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent" msgid "Ask for consent"
msgstr "Solicitar consentimiento" msgstr "Solicitar consentimiento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent" msgid "Ask subjects for consent"
msgstr "Solicitar consentimiento a los interesados" msgstr "Solicitar consentimiento a los interesados"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr "Número de adjuntos"
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Automatically" msgid "Automatically"
@ -300,18 +310,18 @@ msgid "Awaiting response"
msgstr "Esperando respuesta" msgstr "Esperando respuesta"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent" msgid "Consent"
msgstr "Consentimiento" msgstr "Consentimiento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_body_html
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
#, fuzzy #, fuzzy
msgid "Consent Template Default Body Html" msgid "Consent Template Default Body Html"
msgstr "HTML por defecto para el cuerpo de la plantilla de consentimiento" msgstr "HTML por defecto para el cuerpo de la plantilla de consentimiento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_subject
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
#, fuzzy #, fuzzy
msgid "Consent Template Default Subject" msgid "Consent Template Default Subject"
msgstr "HTML por defecto para el asunto de la plantilla de consentimiento" msgstr "HTML por defecto para el asunto de la plantilla de consentimiento"
@ -323,26 +333,31 @@ msgstr "Consentimiento para tratamiento de datos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action #: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent #: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents" msgid "Consents"
msgstr "Consents" msgstr "Consents"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
#, fuzzy
msgid "Consents count"
msgstr "Consents"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner #: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact" msgid "Contact"
msgstr ""
msgstr "Contacto"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by" msgid "Created by"
msgstr "Creado por" msgstr "Creado por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on" msgid "Created on"
msgstr "Creado el" msgstr "Creado el"
@ -360,7 +375,7 @@ msgstr ""
"${object.activity_id.display_name|safe}" "${object.activity_id.display_name|safe}"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_display_name
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nombre a mostrar" msgstr "Nombre a mostrar"
@ -380,12 +395,12 @@ msgid "Email Templates"
msgstr "Plantillas de correo electrónico" msgstr "Plantillas de correo electrónico"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template" msgid "Email template"
msgstr "Plantilla de correo electrónico" msgstr "Plantilla de correo electrónico"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "" msgid ""
"Email to be sent to subjects to ask for consent. A good template should " "Email to be sent to subjects to ask for consent. A good template should "
"include details about the current consent request status, how to change it, " "include details about the current consent request status, how to change it, "
@ -396,7 +411,7 @@ msgstr ""
"actual del consentimiento, cómo cambiarlo, y dónde obtener más información." "actual del consentimiento, cómo cambiarlo, y dónde obtener más información."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "" msgid ""
"Enable if you need to track any kind of consent from the affected subjects" "Enable if you need to track any kind of consent from the affected subjects"
msgstr "" msgstr ""
@ -404,55 +419,85 @@ msgstr ""
"interesados" "interesados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr "Seguidores"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr "Seguidores (Canales)"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr "Seguidores (Contactos)"
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate and enqueue missing consent requests" msgid "Generate and enqueue missing consent requests"
msgstr "" msgstr ""
"Generar y colocar en la bandeja de salida las solicitudes de consentimiento " "Generar y colocar en la bandeja de salida las solicitudes de consentimiento "
"que falten" "que falten"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests" msgid "Generate missing draft consent requests"
msgstr "Generar borradores de las solicitudes de consentimiento faltantes" msgstr "Generar borradores de las solicitudes de consentimiento faltantes"
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:138
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format #, python-format
msgid "Generated consents" msgid "Generated consents"
msgstr "Consentimientos generados" msgstr "Consentimientos generados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By" msgid "Group By"
msgstr "Agrupar por" msgstr "Agrupar por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello," msgid "Hello,"
msgstr "Hola," msgstr "Hola,"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data" msgid "I <b>accept</b> this processing of my data"
msgstr "<b>Acepto</b> este tratamiento de mis datos" msgstr "<b>Acepto</b> este tratamiento de mis datos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data" msgid "I <b>reject</b> this processing of my data"
msgstr "<b>Rechazo</b> este tratamiento de mis datos" msgstr "<b>Rechazo</b> este tratamiento de mis datos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr "Si está marcado nuevos mensajes requieren de su atención."
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:" msgid "If it was a mistake, you can undo it here:"
msgstr "Si ha sido un error, puede deshacerlo aquí:" msgstr "Si ha sido un error, puede deshacerlo aquí:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_accepted
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "" msgid ""
"Indicates current acceptance status, which can come from subject's last " "Indicates current acceptance status, which can come from subject's last "
"answer, or from the default specified in the related data processing " "answer, or from the default specified in the related data processing "
@ -463,33 +508,53 @@ msgstr ""
"actividad de tratamiento relacionada." "actividad de tratamiento relacionada."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
#, fuzzy #, fuzzy
msgid "Last Metadata" msgid "Last Metadata"
msgstr "Últimos metadatos" msgstr "Últimos metadatos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent___last_update
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Última modificación en" msgstr "Última modificación en"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Última actualización por" msgstr "Última actualización por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última actualización el" msgstr "Última actualización el"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Manually" msgid "Manually"
msgstr "Manualmente" msgstr "Manualmente"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject" msgid "Metadata from the last acceptance or rejection by the subject"
msgstr "" msgstr ""
"Metadatos de la última aceptación o denegación por parte del interesado" "Metadatos de la última aceptación o denegación por parte del interesado"
@ -514,6 +579,31 @@ msgstr ""
msgid "New Consent" msgid "New Consent"
msgstr "Nuevo consentimiento" msgstr "Nuevo consentimiento"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail #: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails" msgid "Outgoing Mails"
@ -542,14 +632,14 @@ msgstr ""
"cambiado" "cambiado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount" msgid "Privacy consent requests amount"
msgstr "Cantidad de solicitudes de consentimiento para el tratamiento de datos" msgstr "Cantidad de solicitudes de consentimiento para el tratamiento de datos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents" msgid "Privacy consents"
msgstr "Consentimientos para el tratamiento de datos" msgstr "Consentimientos para el tratamiento de datos"
@ -569,7 +659,7 @@ msgstr ""
"se encuentren en esta misma base de datos." "se encuentren en esta misma base de datos."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "" msgid ""
"Run this action when a new consent request is created or its acceptance " "Run this action when a new consent request is created or its acceptance "
"status is updated." "status is updated."
@ -578,18 +668,18 @@ msgstr ""
"cuando su estado de aceptación cambie." "cuando su estado de aceptación cambie."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action" msgid "Server action"
msgstr "Acción de servidor" msgstr "Acción de servidor"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?" msgid "Should we assume the subject has accepted if we receive no response?"
msgstr "" msgstr ""
"¿Hay que asumir que el interesado ha aceptado si no recibimos respuesta?" "¿Hay que asumir que el interesado ha aceptado si no recibimos respuesta?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>" msgid "Sincerely,<br/>"
msgstr "Atentamente,<br/>" msgstr "Atentamente,<br/>"
@ -602,8 +692,8 @@ msgstr ""
"automáticamente el consentimiento." "automáticamente el consentimiento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_state
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State" msgid "State"
msgstr "Estado" msgstr "Estado"
@ -614,39 +704,49 @@ msgid "State Changed"
msgstr "El estado ha cambiado" msgstr "El estado ha cambiado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject" msgid "Subject"
msgstr "Interesado" msgstr "Interesado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent." msgid "Subject asked for consent."
msgstr "Interesado a quien se le pide el consentimiento." msgstr "Interesado a quien se le pide el consentimiento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!" msgid "Thank you!"
msgstr "¡Gracias!" msgstr "¡Gracias!"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response." msgid "Thanks for your response."
msgstr "Gracias por su respuesta." msgstr "Gracias por su respuesta."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "This could enqueue many consent emails, are you sure to proceed?" msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr "" msgstr ""
"Esto podría poner en la cola muchos correos electrónicos solicitando " "Esto podría poner en la cola muchos correos electrónicos solicitando "
"consentimiento para el tratamiento de datos, ¿seguro que quiere continuar?" "consentimiento para el tratamiento de datos, ¿seguro que quiere continuar?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.update_opt_out
msgid "Update partner's opt out"
msgstr "Sincronizar la opción del contacto para recibir o no envíos masivos"
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "" msgid ""
"We asked you to authorize us to process your data in this data processing " "We asked you to authorize us to process your data in this data processing "
"activity:" "activity:"
@ -655,17 +755,17 @@ msgstr ""
"esta actividad de tratamiento:" "esta actividad de tratamiento:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side." msgid "We have recorded this action on your side."
msgstr "Hemos registrado esta acción por su parte." msgstr "Hemos registrado esta acción por su parte."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing." msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr "Ha <b class=\"text-danger\">rechazado</b> dicho tratamiento." msgstr "Ha <b class=\"text-danger\">rechazado</b> dicho tratamiento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing." msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr "Ha <b class=\"text-success\">aceptado</b> dicho tratamiento." msgstr "Ha <b class=\"text-success\">aceptado</b> dicho tratamiento."
@ -674,3 +774,6 @@ msgstr "Ha <b class=\"text-success\">aceptado</b> dicho tratamiento."
#~ msgid "Partner" #~ msgid "Partner"
#~ msgstr "Contacto" #~ msgstr "Contacto"
#~ msgid "Update partner's opt out"
#~ msgstr "Sincronizar la opción del contacto para recibir o no envíos masivos"

588
privacy_consent/i18n/fi.po

@ -0,0 +1,588 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy_consent
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#. module: privacy_consent
#: model:mail.template,body_html:privacy_consent.template_consent
msgid "<?xml version=\"1.0\"?>\n"
"<div style=\"background:#F3F5F6;color:#515166;padding:25px 0px;font-family:Arial,Helvetica,sans-serif;font-size:14px;\">\n"
" <table style=\"width:600px;margin:5px auto;\">\n"
" <tbody>\n"
" <tr>\n"
" <td>\n"
" <a href=\"/\">\n"
" <img src=\"/logo\" alt=\"${object.activity_id.controller_id.display_name|safe}\" style=\"vertical-align:baseline;max-width:100px;\"/>\n"
" </a>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" <table style=\"width:600px;margin:0px auto;background:white;border:1px solid #e1e1e1;\">\n"
" <tbody>\n"
" <tr>\n"
" <td colspan=\"2\" style=\"padding:15px 20px 0px 20px; font-size:16px;\">\n"
" <p>\n"
" Hello, ${object.partner_id.name|safe}\n"
" </p>\n"
" <p>\n"
" We contacted you to ask you to give us your explicit consent to include your data in a data processing activity called\n"
" <b>${object.activity_id.display_name|safe}</b>, property of\n"
" <i>${object.activity_id.controller_id.display_name|safe}</i>\n"
" </p>\n"
" ${object.description or \"\"}\n"
" <p>\n"
" % if object.state == \"answered\":\n"
" The last time you answered, you\n"
" % elif object.state == \"sent\":\n"
" If you do nothing, we will assume you have\n"
" % endif\n"
"\n"
" % if object.accepted:\n"
" <b>accepted</b>\n"
" % else:\n"
" <b>rejected</b>\n"
" % endif\n"
" such data processing.\n"
" </p>\n"
" <p>\n"
" You can update your preferences below:\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" <tr>\n"
" <td style=\"padding:15px 20px 0px 20px; font-size:16px; text-align:right;\">\n"
" <a href=\"/privacy/consent/accept/\" style=\"background-color: #449d44; padding: 12px; font-weight: 12px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">\n"
" Accept\n"
" </a>\n"
" </td>\n"
" <td style=\"padding:15px 20px 0px 20px; font-size:16px; text-align:left;\">\n"
" <a href=\"/privacy/consent/reject/\" style=\"background-color: #d9534f; padding: 12px; font-weight: 12px; text-decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">\n"
" Reject\n"
" </a>\n"
" </td>\n"
" </tr>\n"
" <tr>\n"
" <td colspan=\"2\" style=\"padding:15px 20px 15px 20px; font-size:16px;\">\n"
" <p>\n"
" If you need further information, please respond to this email and we will attend your request as soon as possible.\n"
" </p>\n"
" <p>\n"
" Thank you!\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" <table style=\"width:600px;margin:0px auto;text-align:center;\">\n"
" <tbody>\n"
" <tr>\n"
" <td style=\"padding-top:10px;font-size: 12px;\">\n"
" <p>\n"
" Sent by\n"
" <a href=\"/\" style=\"color:#717188;\">${object.activity_id.controller_id.display_name|safe}</a>.\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" </div>\n"
" "
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_acceptance_changed
msgid "Acceptance Changed"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_consent_acceptance_changed
msgid "Acceptance Changed by Subject"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_consent_acceptance_changed
msgid "Acceptance status updated by subject"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity"
msgstr ""
#. module: privacy_consent
#: selection:privacy.consent,state:0
msgid "Answered"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy_consent
#: selection:privacy.activity,consent_required:0
msgid "Automatically"
msgstr ""
#. module: privacy_consent
#: selection:privacy.consent,state:0
msgid "Awaiting response"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
msgid "Consent Template Default Body Html"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
msgid "Consent Template Default Subject"
msgstr ""
#. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_privacy_consent
msgid "Consent of data processing"
msgstr ""
#. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
msgid "Consents count"
msgstr ""
#. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on"
msgstr ""
#. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_privacy_activity
msgid "Data processing activities"
msgstr ""
#. module: privacy_consent
#: model:mail.template,subject:privacy_consent.template_consent
msgid "Data processing consent request for ${object.activity_id.display_name|safe}"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name"
msgstr ""
#. module: privacy_consent
#: selection:privacy.consent,state:0
msgid "Draft"
msgstr ""
#. module: privacy_consent
#: sql_constraint:privacy.consent:0
msgid "Duplicated partner in this data processing activity"
msgstr ""
#. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_template
msgid "Email Templates"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email to be sent to subjects to ask for consent. A good template should include details about the current consent request status, how to change it, and where to get more information."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "Enable if you need to track any kind of consent from the affected subjects"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate and enqueue missing consent requests"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests"
msgstr ""
#. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format
msgid "Generated consents"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello,"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "Indicates current acceptance status, which can come from subject's last answer, or from the default specified in the related data processing activity."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
msgid "Last Metadata"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent
#: selection:privacy.activity,consent_required:0
msgid "Manually"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject"
msgstr ""
#. module: privacy_consent
#: code:addons/privacy_consent/models/mail_template.py:24
#, python-format
msgid "Missing privacy consent link placeholders. You need at least these two links:\n"
"<a href=\"%s\">Accept</a>\n"
"<a href=\"%s\">Reject</a>"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_consent_new
#: model:mail.message.subtype,name:privacy_consent.mt_consent_consent_new
msgid "New Consent"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_acceptance_changed
msgid "Privacy consent request acceptance status changed"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_consent_new
#: model:mail.message.subtype,description:privacy_consent.mt_consent_consent_new
msgid "Privacy consent request created"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_state_changed
#: model:mail.message.subtype,description:privacy_consent.mt_consent_state_changed
msgid "Privacy consent request state changed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents"
msgstr ""
#. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.cron_auto_consent_ir_actions_server
#: model:ir.cron,cron_name:privacy_consent.cron_auto_consent
#: model:ir.cron,name:privacy_consent.cron_auto_consent
msgid "Request automatic data processing consents"
msgstr ""
#. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:99
#, python-format
msgid "Require consent is available only for subjects in current database."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "Run this action when a new consent request is created or its acceptance status is updated."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>"
msgstr ""
#. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:91
#, python-format
msgid "Specify a mail template to ask automated consent."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State"
msgstr ""
#. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_state_changed
#: model:mail.message.subtype,name:privacy_consent.mt_consent_state_changed
msgid "State Changed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent."
msgstr ""
#. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We asked you to authorize us to process your data in this data processing activity:"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr ""

473
privacy_consent/i18n/fr.po

@ -6,15 +6,13 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 10.0\n" "Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-04-22 10:47+0000\n"
"Last-Translator: Logan Gônet <logan.gonet@horanet.com>\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: fr\n" "Language: fr\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"
"Content-Transfer-Encoding: \n" "Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n" "Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: privacy_consent #. module: privacy_consent
#: model:mail.template,body_html:privacy_consent.template_consent #: model:mail.template,body_html:privacy_consent.template_consent
@ -124,371 +122,316 @@ msgid ""
" </div>\n" " </div>\n"
" " " "
msgstr "" msgstr ""
"<?xml version=\"1.0\"?>\n"
"<div style=\"background:#F3F5F6;color:#515166;padding:25px 0px;font-"
"family:Arial,Helvetica,sans-serif;font-size:14px;\">\n"
" <table style=\"width:600px;margin:5px auto;\">\n"
" <tbody>\n"
" <tr>\n"
" <td>\n"
" <a href=\"/\">\n"
" <img src=\"/logo\" alt=\"${object."
"activity_id.controller_id.display_name|safe}\" style=\"vertical-"
"align:baseline;max-width:100px;\"/>\n"
" </a>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" <table style=\"width:600px;margin:0px "
"auto;background:white;border:1px solid #e1e1e1;\">\n"
" <tbody>\n"
" <tr>\n"
" <td colspan=\"2\" style=\"padding:15px 20px 0px "
"20px; font-size:16px;\">\n"
" <p>\n"
" Bonjour, ${object.partner_id.name|safe}\n"
" </p>\n"
" <p>\n"
" Nous vous avons contacté pour vous "
"demander de nous donner votre consentement explicite à inclure vos données "
"dans une activité de traitement de données appelée\n"
" <b>${object.activity_id."
"display_name|safe}</b>, appartenant à \n"
" <i>${object.activity_id.controller_id."
"display_name|safe}</i>\n"
" </p>\n"
" ${object.description or \"\"}\n"
" <p>\n"
" % if object.state == \"answered\":\n"
" La dernière fois vous aviez répondu, "
"vous\n"
" % elif object.state == \"sent\":\n"
" Si vous ne faite rien, nous "
"supposerons que vous avez\n"
" % endif\n"
"\n"
" % if object.accepted:\n"
" <b>accepté</b>\n"
" % else:\n"
" <b>refusé</b>\n"
" % endif\n"
" ce traitement de données.\n"
" </p>\n"
" <p>\n"
" Vous pouvez mettre à jour vos "
"préférences ci-dessous:\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" <tr>\n"
" <td style=\"padding:15px 20px 0px 20px; font-"
"size:16px; text-align:right;\">\n"
" <a href=\"/privacy/consent/accept/\" style"
"=\"background-color: #449d44; padding: 12px; font-weight: 12px; text-"
"decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">\n"
" Accepter\n"
" </a>\n"
" </td>\n"
" <td style=\"padding:15px 20px 0px 20px; font-"
"size:16px; text-align:left;\">\n"
" <a href=\"/privacy/consent/reject/\" style"
"=\"background-color: #d9534f; padding: 12px; font-weight: 12px; text-"
"decoration: none; color: #fff; border-radius: 5px; font-size:16px;\">\n"
" Refuser\n"
" </a>\n"
" </td>\n"
" </tr>\n"
" <tr>\n"
" <td colspan=\"2\" style=\"padding:15px 20px 15px "
"20px; font-size:16px;\">\n"
" <p>\n"
" Si vous avez besoin de plus "
"d'informations, veuillez répondre à cet e-mail et nous répondrons à votre "
"demande dans les plus brefs délais.\n"
" </p>\n"
" <p>\n"
" Merci !\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" <table style=\"width:600px;margin:0px auto;text-align:center;"
"\">\n"
" <tbody>\n"
" <tr>\n"
" <td style=\"padding-top:10px;font-size: 12px;\">"
"\n"
" <p>\n"
" Envoyé par\n"
" <a href=\"/\" style=\"color:#717188;\""
">${object.activity_id.controller_id.display_name|safe}</a>.\n"
" </p>\n"
" </td>\n"
" </tr>\n"
" </tbody>\n"
" </table>\n"
" </div>\n"
" "
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_acceptance_changed #: model:mail.message.subtype,name:privacy_consent.mt_activity_acceptance_changed
msgid "Acceptance Changed" msgid "Acceptance Changed"
msgstr "Acceptation Modifiée"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_consent_acceptance_changed #: model:mail.message.subtype,name:privacy_consent.mt_consent_acceptance_changed
msgid "Acceptance Changed by Subject" msgid "Acceptance Changed by Subject"
msgstr "Acceptation Modifiée par l'intéressé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_consent_acceptance_changed #: model:mail.message.subtype,description:privacy_consent.mt_consent_acceptance_changed
msgid "Acceptance status updated by subject" msgid "Acceptance status updated by subject"
msgstr "Statut d'acceptation modifié par l'intéressé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_accepted
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted" msgid "Accepted"
msgstr "Accepté"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default" msgid "Accepted by default"
msgstr "Accepté par défaut"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_active
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active" msgid "Active"
msgstr "Actif"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_activity_id
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity" msgid "Activity"
msgstr "Traitement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.consent,state:0 #: selection:privacy.consent,state:0
msgid "Answered" msgid "Answered"
msgstr "Répondu"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived" msgid "Archived"
msgstr "Archivé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent" msgid "Ask for consent"
msgstr "Demander le consentement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent" msgid "Ask subjects for consent"
msgstr "Demandé aux intéressés leur consentement"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Automatically" msgid "Automatically"
msgstr "Automatiquement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.consent,state:0 #: selection:privacy.consent,state:0
msgid "Awaiting response" msgid "Awaiting response"
msgstr "Attente d'une réponse"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent" msgid "Consent"
msgstr "Consentement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_body_html
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
msgid "Consent Template Default Body Html" msgid "Consent Template Default Body Html"
msgstr "Modèle de corps HTML par défaut pour un consentement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_subject
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
msgid "Consent Template Default Subject" msgid "Consent Template Default Subject"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_privacy_consent #: model:ir.model,name:privacy_consent.model_privacy_consent
msgid "Consent of data processing" msgid "Consent of data processing"
msgstr "Consentement au traitement des données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action #: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent #: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents" msgid "Consents"
msgstr "Consentements"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
msgid "Consents count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner #: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact" msgid "Contact"
msgstr "Contact"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by" msgid "Created by"
msgstr "Créé par"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on" msgid "Created on"
msgstr "Créé le"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_privacy_activity #: model:ir.model,name:privacy_consent.model_privacy_activity
msgid "Data processing activities" msgid "Data processing activities"
msgstr "Traitements des données personnelles"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.template,subject:privacy_consent.template_consent #: model:mail.template,subject:privacy_consent.template_consent
msgid "" msgid ""
"Data processing consent request for ${object.activity_id.display_name|safe}" "Data processing consent request for ${object.activity_id.display_name|safe}"
msgstr "" msgstr ""
"Demande de consentement pour le traitement de ${object.activity_id."
"display_name|safe}"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_display_name
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nom à afficher"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.consent,state:0 #: selection:privacy.consent,state:0
msgid "Draft" msgid "Draft"
msgstr "Brouillon"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: sql_constraint:privacy.consent:0 #: sql_constraint:privacy.consent:0
msgid "Duplicated partner in this data processing activity" msgid "Duplicated partner in this data processing activity"
msgstr "Partenaire dupliqué dans ce traitement de donnés"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_template #: model:ir.model,name:privacy_consent.model_mail_template
msgid "Email Templates" msgid "Email Templates"
msgstr "Modèles d'emails"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template" msgid "Email template"
msgstr "Modèle de courriel"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "" msgid ""
"Email to be sent to subjects to ask for consent. A good template should " "Email to be sent to subjects to ask for consent. A good template should "
"include details about the current consent request status, how to change it, " "include details about the current consent request status, how to change it, "
"and where to get more information." "and where to get more information."
msgstr "" msgstr ""
"Courriel qui va être envoyé aux intéressés afin de leur demander leur "
"consentement. Un bon modèle doit inclure des informations le statut actuel "
"du consentement, comment le changer et où peu t'il avoir davantage "
"d'information."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "" msgid ""
"Enable if you need to track any kind of consent from the affected subjects" "Enable if you need to track any kind of consent from the affected subjects"
msgstr "" msgstr ""
"Activer si vous avez besoin de suivre tout type de consentement des "
"intéressés"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate and enqueue missing consent requests" msgid "Generate and enqueue missing consent requests"
msgstr "" msgstr ""
"Générer et mettre en file d'attente les demandes de consentement manquant"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests" msgid "Generate missing draft consent requests"
msgstr "Générer des brouillons de demandes de consentement manquants"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:138
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format #, python-format
msgid "Generated consents" msgid "Generated consents"
msgstr "Consentements générés"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By" msgid "Group By"
msgstr "Regrouper par"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello," msgid "Hello,"
msgstr "Bonjour,"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data" msgid "I <b>accept</b> this processing of my data"
msgstr "J' <b>accepte</b> ce traitement de mes données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data" msgid "I <b>reject</b> this processing of my data"
msgstr "Je <b>refuse</b> ce traitement de mes données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID" msgid "ID"
msgstr "ID"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:" msgid "If it was a mistake, you can undo it here:"
msgstr "Si c'était une erreur, vous pouvez l'annule :"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_accepted
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "" msgid ""
"Indicates current acceptance status, which can come from subject's last " "Indicates current acceptance status, which can come from subject's last "
"answer, or from the default specified in the related data processing " "answer, or from the default specified in the related data processing "
"activity." "activity."
msgstr "" msgstr ""
"Indique l'état d'acceptation actuel, qui peut provenir de la dernière "
"réponse de l'intéressé ou de la valeur par défaut spécifiée dans le "
"traitement des données associée."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
msgid "Last Metadata" msgid "Last Metadata"
msgstr "Dernières méta-données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent___last_update
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Dernière modification le"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Dernière mise à jour par"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Dernière mise à jour le"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Manually" msgid "Manually"
msgstr "Manuellement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject" msgid "Metadata from the last acceptance or rejection by the subject"
msgstr "Métadonnées de la dernière acceptation ou refus par l'intéressé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/mail_template.py:24 #: code:addons/privacy_consent/models/mail_template.py:24
@ -499,163 +442,183 @@ msgid ""
"<a href=\"%s\">Accept</a>\n" "<a href=\"%s\">Accept</a>\n"
"<a href=\"%s\">Reject</a>" "<a href=\"%s\">Reject</a>"
msgstr "" msgstr ""
"Variable manquantes pour les liens de consentement. Vous avez besoin d'au "
"moins ces deux liens:\n"
"<a href=\"%s\">Accepter</a>\n"
"<a href=\"%s\">Refuser</a>"
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_consent_new #: model:mail.message.subtype,name:privacy_consent.mt_activity_consent_new
#: model:mail.message.subtype,name:privacy_consent.mt_consent_consent_new #: model:mail.message.subtype,name:privacy_consent.mt_consent_consent_new
msgid "New Consent" msgid "New Consent"
msgstr "Nouveau Consentement"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail #: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails" msgid "Outgoing Mails"
msgstr "Emails Sortants"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_acceptance_changed #: model:mail.message.subtype,description:privacy_consent.mt_activity_acceptance_changed
msgid "Privacy consent request acceptance status changed" msgid "Privacy consent request acceptance status changed"
msgstr "Statut d'acceptation du consentement modifié"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_consent_new #: model:mail.message.subtype,description:privacy_consent.mt_activity_consent_new
#: model:mail.message.subtype,description:privacy_consent.mt_consent_consent_new #: model:mail.message.subtype,description:privacy_consent.mt_consent_consent_new
msgid "Privacy consent request created" msgid "Privacy consent request created"
msgstr "Demande de consentement créé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,description:privacy_consent.mt_activity_state_changed #: model:mail.message.subtype,description:privacy_consent.mt_activity_state_changed
#: model:mail.message.subtype,description:privacy_consent.mt_consent_state_changed #: model:mail.message.subtype,description:privacy_consent.mt_consent_state_changed
msgid "Privacy consent request state changed" msgid "Privacy consent request state changed"
msgstr "État du consentement modifié"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount" msgid "Privacy consent requests amount"
msgstr "Nombre de demande de consentement"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents" msgid "Privacy consents"
msgstr "Consentement à la protection des données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.cron_auto_consent_ir_actions_server #: model:ir.actions.server,name:privacy_consent.cron_auto_consent_ir_actions_server
#: model:ir.cron,cron_name:privacy_consent.cron_auto_consent #: model:ir.cron,cron_name:privacy_consent.cron_auto_consent
#: model:ir.cron,name:privacy_consent.cron_auto_consent #: model:ir.cron,name:privacy_consent.cron_auto_consent
msgid "Request automatic data processing consents" msgid "Request automatic data processing consents"
msgstr "Demander des autorisations de traitement automatique des données"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:99 #: code:addons/privacy_consent/models/privacy_activity.py:99
#, python-format #, python-format
msgid "Require consent is available only for subjects in current database." msgid "Require consent is available only for subjects in current database."
msgstr "" msgstr ""
"L'exigence de consentement n'est disponible que pour les intéressés de la "
"base de données actuelle."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "" msgid ""
"Run this action when a new consent request is created or its acceptance " "Run this action when a new consent request is created or its acceptance "
"status is updated." "status is updated."
msgstr "" msgstr ""
"Exécutez cette action lorsqu'une nouvelle demande de consentement est créée "
"ou que son statut d'acceptation est mis à jour."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action" msgid "Server action"
msgstr "Action du serveur"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?" msgid "Should we assume the subject has accepted if we receive no response?"
msgstr "" msgstr ""
"Doit-on supposer que le sujet a accepté si nous ne recevons aucune réponse?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>" msgid "Sincerely,<br/>"
msgstr "Sincèrement,<br/>"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:91 #: code:addons/privacy_consent/models/privacy_activity.py:91
#, python-format #, python-format
msgid "Specify a mail template to ask automated consent." msgid "Specify a mail template to ask automated consent."
msgstr "" msgstr ""
"Spécifiez un modèle de courriel électronique pour demander un consentement "
"automatisé."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_state
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State" msgid "State"
msgstr "État"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:mail.message.subtype,name:privacy_consent.mt_activity_state_changed #: model:mail.message.subtype,name:privacy_consent.mt_activity_state_changed
#: model:mail.message.subtype,name:privacy_consent.mt_consent_state_changed #: model:mail.message.subtype,name:privacy_consent.mt_consent_state_changed
msgid "State Changed" msgid "State Changed"
msgstr "État modifié"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject" msgid "Subject"
msgstr "Intéressé"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent." msgid "Subject asked for consent."
msgstr "L'intéressé questionné sur son consentement."
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!" msgid "Thank you!"
msgstr "Merci !"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response." msgid "Thanks for your response."
msgstr "Merci pour votre réponse."
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "This could enqueue many consent emails, are you sure to proceed?" msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr "" msgstr ""
"Cela peut mettre plusieurs courriels de consentement dans la file d'attente, "
"êtes-vous sûr de vouloir continuer ?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.update_opt_out
msgid "Update partner's opt out"
msgstr "Mettre à jour l'exclusion des partenaires"
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "" msgid ""
"We asked you to authorize us to process your data in this data processing " "We asked you to authorize us to process your data in this data processing "
"activity:" "activity:"
msgstr "" msgstr ""
"Nous vous avons demandé de nous autoriser à traiter vos données dans cette "
"activité de traitement de données:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side." msgid "We have recorded this action on your side."
msgstr "Nous avons enregistré cette action pour vous."
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing." msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr "Vous avez <b class=\"text-danger\">refusé</b> ce traitement."
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing." msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr "Vous avez <b class=\"text-success\">accepté</b> ce traitement."
msgstr ""

217
privacy_consent/i18n/privacy_consent.pot

@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
@ -116,24 +116,29 @@ msgid "Acceptance status updated by subject"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_accepted
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted" msgid "Accepted"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default" msgid "Accepted by default"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_active
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active" msgid "Active"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_activity_id
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity" msgid "Activity"
msgstr "" msgstr ""
@ -143,20 +148,25 @@ msgid "Answered"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived" msgid "Archived"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent" msgid "Ask for consent"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent" msgid "Ask subjects for consent"
msgstr "" msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Automatically" msgid "Automatically"
@ -168,17 +178,17 @@ msgid "Awaiting response"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent" msgid "Consent"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_body_html
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
msgid "Consent Template Default Body Html" msgid "Consent Template Default Body Html"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_subject
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
msgid "Consent Template Default Subject" msgid "Consent Template Default Subject"
msgstr "" msgstr ""
@ -189,26 +199,30 @@ msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action #: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent #: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents" msgid "Consents"
msgstr "" msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
msgid "Consents count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner #: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by" msgid "Created by"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on" msgid "Created on"
msgstr "" msgstr ""
@ -223,7 +237,7 @@ msgid "Data processing consent request for ${object.activity_id.display_name|saf
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_display_name
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
@ -243,98 +257,148 @@ msgid "Email Templates"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template" msgid "Email template"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email to be sent to subjects to ask for consent. A good template should include details about the current consent request status, how to change it, and where to get more information." msgid "Email to be sent to subjects to ask for consent. A good template should include details about the current consent request status, how to change it, and where to get more information."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "Enable if you need to track any kind of consent from the affected subjects" msgid "Enable if you need to track any kind of consent from the affected subjects"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate and enqueue missing consent requests" msgid "Generate and enqueue missing consent requests"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests" msgid "Generate missing draft consent requests"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:138
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format #, python-format
msgid "Generated consents" msgid "Generated consents"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By" msgid "Group By"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello," msgid "Hello,"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data" msgid "I <b>accept</b> this processing of my data"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data" msgid "I <b>reject</b> this processing of my data"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:" msgid "If it was a mistake, you can undo it here:"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_accepted
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "Indicates current acceptance status, which can come from subject's last answer, or from the default specified in the related data processing activity." msgid "Indicates current acceptance status, which can come from subject's last answer, or from the default specified in the related data processing activity."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
msgid "Last Metadata" msgid "Last Metadata"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent___last_update
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Manually" msgid "Manually"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject" msgid "Metadata from the last acceptance or rejection by the subject"
msgstr "" msgstr ""
@ -352,6 +416,31 @@ msgstr ""
msgid "New Consent" msgid "New Consent"
msgstr "" msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail #: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails" msgid "Outgoing Mails"
@ -375,14 +464,14 @@ msgid "Privacy consent request state changed"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount" msgid "Privacy consent requests amount"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents" msgid "Privacy consents"
msgstr "" msgstr ""
@ -400,22 +489,22 @@ msgid "Require consent is available only for subjects in current database."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "Run this action when a new consent request is created or its acceptance status is updated." msgid "Run this action when a new consent request is created or its acceptance status is updated."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action" msgid "Server action"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?" msgid "Should we assume the subject has accepted if we receive no response?"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>" msgid "Sincerely,<br/>"
msgstr "" msgstr ""
@ -426,8 +515,8 @@ msgid "Specify a mail template to ask automated consent."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_state
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State" msgid "State"
msgstr "" msgstr ""
@ -438,52 +527,62 @@ msgid "State Changed"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject" msgid "Subject"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent." msgid "Subject asked for consent."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!" msgid "Thank you!"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response." msgid "Thanks for your response."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "This could enqueue many consent emails, are you sure to proceed?" msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.update_opt_out
msgid "Update partner's opt out"
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We asked you to authorize us to process your data in this data processing activity:" msgid "We asked you to authorize us to process your data in this data processing activity:"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side." msgid "We have recorded this action on your side."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing." msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing." msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr "" msgstr ""

221
privacy_consent/i18n/pt.po

@ -244,24 +244,29 @@ msgid "Acceptance status updated by subject"
msgstr "Estado da aceitação atualizado por titular" msgstr "Estado da aceitação atualizado por titular"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_accepted
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__accepted
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Accepted" msgid "Accepted"
msgstr "Aceite" msgstr "Aceite"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__default_consent
msgid "Accepted by default" msgid "Accepted by default"
msgstr "Aceite por defeito" msgstr "Aceite por defeito"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_active
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction
msgid "Action Needed"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__active
msgid "Active" msgid "Active"
msgstr "Ativo" msgstr "Ativo"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_activity_id
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__activity_id
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Activity" msgid "Activity"
msgstr "Atividade" msgstr "Atividade"
@ -271,20 +276,25 @@ msgid "Answered"
msgstr "Respondido" msgstr "Respondido"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Archived" msgid "Archived"
msgstr "Arquivado" msgstr "Arquivado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_form
msgid "Ask for consent" msgid "Ask for consent"
msgstr "Pedir consentimento" msgstr "Pedir consentimento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_required
msgid "Ask subjects for consent" msgid "Ask subjects for consent"
msgstr "Solicitar consentimento aos titulares" msgstr "Solicitar consentimento aos titulares"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Automatically" msgid "Automatically"
@ -296,18 +306,18 @@ msgid "Awaiting response"
msgstr "À espera de resposta" msgstr "À espera de resposta"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Consent" msgid "Consent"
msgstr "Consentimento" msgstr "Consentimento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_body_html
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_body_html
#, fuzzy #, fuzzy
msgid "Consent Template Default Body Html" msgid "Consent Template Default Body Html"
msgstr "Corpo predefinido HTML do modelo de consentimento" msgstr "Corpo predefinido HTML do modelo de consentimento"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_default_subject
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_default_subject
#, fuzzy #, fuzzy
msgid "Consent Template Default Subject" msgid "Consent Template Default Subject"
msgstr "Modelo predefinido de consentimento do titular" msgstr "Modelo predefinido de consentimento do titular"
@ -319,26 +329,31 @@ msgstr "Consentimento de processamento de dados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.act_window,name:privacy_consent.consent_action #: model:ir.actions.act_window,name:privacy_consent.consent_action
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_count
#: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent #: model:ir.ui.menu,name:privacy_consent.menu_privacy_consent
msgid "Consents" msgid "Consents"
msgstr "Consentimentos" msgstr "Consentimentos"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_count
#, fuzzy
msgid "Consents count"
msgstr "Consentimentos"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_res_partner #: model:ir.model,name:privacy_consent.model_res_partner
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_uid
msgid "Created by" msgid "Created by"
msgstr "Criado por" msgstr "Criado por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_create_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__create_date
msgid "Created on" msgid "Created on"
msgstr "Criado em" msgstr "Criado em"
@ -356,7 +371,7 @@ msgstr ""
"display_name|safe}" "display_name|safe}"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_display_name
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nome a Exibir" msgstr "Nome a Exibir"
@ -376,12 +391,12 @@ msgid "Email Templates"
msgstr "Modelos de E-mail" msgstr "Modelos de E-mail"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__consent_template_id
msgid "Email template" msgid "Email template"
msgstr "Modelo de Email" msgstr "Modelo de Email"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_template_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_template_id
msgid "" msgid ""
"Email to be sent to subjects to ask for consent. A good template should " "Email to be sent to subjects to ask for consent. A good template should "
"include details about the current consent request status, how to change it, " "include details about the current consent request status, how to change it, "
@ -392,7 +407,7 @@ msgstr ""
"alterá-lo, e onde obter ais informação." "alterá-lo, e onde obter ais informação."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_consent_required
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__consent_required
msgid "" msgid ""
"Enable if you need to track any kind of consent from the affected subjects" "Enable if you need to track any kind of consent from the affected subjects"
msgstr "" msgstr ""
@ -400,54 +415,84 @@ msgstr ""
"afetados" "afetados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_follower_ids
msgid "Followers"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_channel_ids
msgid "Followers (Channels)"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
#, fuzzy #, fuzzy
msgid "Generate and enqueue missing consent requests" msgid "Generate and enqueue missing consent requests"
msgstr "Gerar e enviar pedidos de consentimento em falta" msgstr "Gerar e enviar pedidos de consentimento em falta"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
msgid "Generate missing draft consent requests" msgid "Generate missing draft consent requests"
msgstr "Gerar pedidos de consentimento em rascunho em falta" msgstr "Gerar pedidos de consentimento em rascunho em falta"
#. module: privacy_consent #. module: privacy_consent
#: code:addons/privacy_consent/models/privacy_activity.py:138
#: code:addons/privacy_consent/models/privacy_activity.py:139
#, python-format #, python-format
msgid "Generated consents" msgid "Generated consents"
msgstr "Consentimentos gerados" msgstr "Consentimentos gerados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "Group By" msgid "Group By"
msgstr "Agrupar Por" msgstr "Agrupar Por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Hello," msgid "Hello,"
msgstr "Olá" msgstr "Olá"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>accept</b> this processing of my data" msgid "I <b>accept</b> this processing of my data"
msgstr "Eu <b>aceito</b> este processamento dos meus dados" msgstr "Eu <b>aceito</b> este processamento dos meus dados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "I <b>reject</b> this processing of my data" msgid "I <b>reject</b> this processing of my data"
msgstr "Eu <b>rejeito</b> este processamento dos meus dados" msgstr "Eu <b>rejeito</b> este processamento dos meus dados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread
msgid "If checked new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "If it was a mistake, you can undo it here:" msgid "If it was a mistake, you can undo it here:"
msgstr "Se foi um lapso, pode revertê-lo aqui:" msgstr "Se foi um lapso, pode revertê-lo aqui:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_accepted
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__accepted
msgid "" msgid ""
"Indicates current acceptance status, which can come from subject's last " "Indicates current acceptance status, which can come from subject's last "
"answer, or from the default specified in the related data processing " "answer, or from the default specified in the related data processing "
@ -458,33 +503,53 @@ msgstr ""
"em processamento." "em processamento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__last_metadata
#, fuzzy #, fuzzy
msgid "Last Metadata" msgid "Last Metadata"
msgstr "Últimos Metadados" msgstr "Últimos Metadados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent___last_update
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Última Modificação em" msgstr "Última Modificação em"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_uid
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Última Atualização por" msgstr "Última Atualização por"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_write_date
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Última Atualização em" msgstr "Última Atualização em"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: selection:privacy.activity,consent_required:0 #: selection:privacy.activity,consent_required:0
msgid "Manually" msgid "Manually"
msgstr "Manualmente" msgstr "Manualmente"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_last_metadata
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_ids
msgid "Messages"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__last_metadata
msgid "Metadata from the last acceptance or rejection by the subject" msgid "Metadata from the last acceptance or rejection by the subject"
msgstr "Metadados da última aceitação ou rejeição pelo titular" msgstr "Metadados da última aceitação ou rejeição pelo titular"
@ -508,6 +573,31 @@ msgstr ""
msgid "New Consent" msgid "New Consent"
msgstr "Novo Consentimento" msgstr "Novo Consentimento"
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model,name:privacy_consent.model_mail_mail #: model:ir.model,name:privacy_consent.model_mail_mail
msgid "Outgoing Mails" msgid "Outgoing Mails"
@ -531,14 +621,14 @@ msgid "Privacy consent request state changed"
msgstr "Estado do pedido de consentimento de privacidade alterado" msgstr "Estado do pedido de consentimento de privacidade alterado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_res_partner_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users_privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_partner__privacy_consent_count
#: model:ir.model.fields,help:privacy_consent.field_res_users__privacy_consent_count
msgid "Privacy consent requests amount" msgid "Privacy consent requests amount"
msgstr "Número de pedidos de consentimento de privacidade" msgstr "Número de pedidos de consentimento de privacidade"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users_privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_partner__privacy_consent_ids
#: model:ir.model.fields,field_description:privacy_consent.field_res_users__privacy_consent_ids
msgid "Privacy consents" msgid "Privacy consents"
msgstr "Consentimentos de privacidade" msgstr "Consentimentos de privacidade"
@ -558,7 +648,7 @@ msgstr ""
"atual." "atual."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__server_action_id
msgid "" msgid ""
"Run this action when a new consent request is created or its acceptance " "Run this action when a new consent request is created or its acceptance "
"status is updated." "status is updated."
@ -567,18 +657,18 @@ msgstr ""
"estado de aceitação for atualizado." "estado de aceitação for atualizado."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity_server_action_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_activity__server_action_id
msgid "Server action" msgid "Server action"
msgstr "Ação do servidor" msgstr "Ação do servidor"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity_default_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_activity__default_consent
msgid "Should we assume the subject has accepted if we receive no response?" msgid "Should we assume the subject has accepted if we receive no response?"
msgstr "" msgstr ""
"Devemos assumir que o titular dos dados aceitou, se não houver resposta?" "Devemos assumir que o titular dos dados aceitou, se não houver resposta?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Sincerely,<br/>" msgid "Sincerely,<br/>"
msgstr "Cumprimentos,<br />" msgstr "Cumprimentos,<br />"
@ -590,8 +680,8 @@ msgstr ""
"Especifique um modelo de email para pedido automático de consentimento." "Especifique um modelo de email para pedido automático de consentimento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_state
#: model:ir.ui.view,arch_db:privacy_consent.consent_search
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__state
#: model_terms:ir.ui.view,arch_db:privacy_consent.consent_search
msgid "State" msgid "State"
msgstr "Estado" msgstr "Estado"
@ -602,27 +692,32 @@ msgid "State Changed"
msgstr "Estado Alterado" msgstr "Estado Alterado"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__partner_id
msgid "Subject" msgid "Subject"
msgstr "Titular dos dados" msgstr "Titular dos dados"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent_partner_id
#: model:ir.model.fields,help:privacy_consent.field_privacy_consent__partner_id
msgid "Subject asked for consent." msgid "Subject asked for consent."
msgstr "Foi pedido consentimento ao titular." msgstr "Foi pedido consentimento ao titular."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.actions.server,name:privacy_consent.sync_blacklist
msgid "Sync partner's email blacklist status"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thank you!" msgid "Thank you!"
msgstr "Obrigado!" msgstr "Obrigado!"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "Thanks for your response." msgid "Thanks for your response."
msgstr "Obrigado pela sua resposta." msgstr "Obrigado pela sua resposta."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.activity_form
#: model_terms:ir.ui.view,arch_db:privacy_consent.activity_form
#, fuzzy #, fuzzy
msgid "This could enqueue many consent emails, are you sure to proceed?" msgid "This could enqueue many consent emails, are you sure to proceed?"
msgstr "" msgstr ""
@ -630,12 +725,17 @@ msgstr ""
"prosseguir?" "prosseguir?"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.actions.server,name:privacy_consent.update_opt_out
msgid "Update partner's opt out"
msgstr "Atualizar a Auto Exclusão do parceiro"
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread
msgid "Unread Messages"
msgstr ""
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model:ir.model.fields,field_description:privacy_consent.field_privacy_consent__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: privacy_consent
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "" msgid ""
"We asked you to authorize us to process your data in this data processing " "We asked you to authorize us to process your data in this data processing "
"activity:" "activity:"
@ -644,22 +744,25 @@ msgstr ""
"atividade de processamento:" "atividade de processamento:"
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "We have recorded this action on your side." msgid "We have recorded this action on your side."
msgstr "Registámos esta ação com seu conhecimento." msgstr "Registámos esta ação com seu conhecimento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-danger\">rejected</b> such processing." msgid "You have <b class=\"text-danger\">rejected</b> such processing."
msgstr "Você <b class=\"text-danger\">rejeitou</b> este processamento." msgstr "Você <b class=\"text-danger\">rejeitou</b> este processamento."
#. module: privacy_consent #. module: privacy_consent
#: model:ir.ui.view,arch_db:privacy_consent.form
#: model_terms:ir.ui.view,arch_db:privacy_consent.form
msgid "You have <b class=\"text-success\">accepted</b> such processing." msgid "You have <b class=\"text-success\">accepted</b> such processing."
msgstr "Você <b class=\"text-success\">aceitou</b> este processamento." msgstr "Você <b class=\"text-success\">aceitou</b> este processamento."
#~ msgid "Partner" #~ msgid "Partner"
#~ msgstr "Parceiro" #~ msgstr "Parceiro"
#~ msgid "Update partner's opt out"
#~ msgstr "Atualizar a Auto Exclusão do parceiro"
#~ msgid "Email composition wizard" #~ msgid "Email composition wizard"
#~ msgstr "Assistente de criação de email" #~ msgstr "Assistente de criação de email"

10
privacy_consent/migrations/12.0.1.0.0/pre-migrate.py

@ -0,0 +1,10 @@
# Copyright 2019 Tecnativa - Jairo Llopis
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openupgradelib.openupgrade import rename_xmlids
def migrate(cr, version):
"""Use a better xmlid for the provided server action."""
rename_xmlids(cr, [
("privacy_consent.update_opt_out", "privacy_consent.sync_blacklist"),
])

42
privacy_consent/models/mail_mail.py

@ -1,4 +1,5 @@
# Copyright 2018 Tecnativa - Jairo Llopis # Copyright 2018 Tecnativa - Jairo Llopis
# Copyright 2022 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import models from odoo import models
@ -7,25 +8,36 @@ from odoo import models
class MailMail(models.Model): class MailMail(models.Model):
_inherit = "mail.mail" _inherit = "mail.mail"
def _postprocess_sent_message(self, mail_sent=True):
def _postprocess_sent_message(self, success_pids, failure_reason=False,
failure_type=None):
"""Write consent status after sending message.""" """Write consent status after sending message."""
if mail_sent:
# Get all mails sent to consents
consent_mails = self.filtered(
lambda one: one.mail_message_id.model == "privacy.consent"
)
# Get related draft consents
consents = self.env["privacy.consent"].browse(
consent_mails.mapped("mail_message_id.res_id"),
self._prefetch
).filtered(lambda one: one.state == "draft")
# Set as sent
# Know if mail was successfully sent to a privacy consent
res_ids = []
for mail in self:
if (
mail.mail_message_id.model == "privacy.consent"
and mail.state == "sent"
and success_pids
and not failure_reason
and not failure_type
):
res_ids.append(mail.mail_message_id.res_id)
if res_ids:
consents = self.env["privacy.consent"].search([
("id", "in", res_ids),
("state", "=", "draft"),
("partner_id", "in", [par.id for par in success_pids])
])
consents.write({ consents.write({
"state": "sent", "state": "sent",
}) })
return super(MailMail, self)._postprocess_sent_message(mail_sent)
return super()._postprocess_sent_message(
success_pids=success_pids,
failure_reason=failure_reason,
failure_type=failure_type,
)
def send_get_mail_body(self, partner=None):
def _send_prepare_body(self):
"""Replace privacy consent magic links. """Replace privacy consent magic links.
This replacement is done here instead of directly writing it into This replacement is done here instead of directly writing it into
@ -34,7 +46,7 @@ class MailMail(models.Model):
which would enable any reader of such thread to impersonate the which would enable any reader of such thread to impersonate the
subject and choose in its behalf. subject and choose in its behalf.
""" """
result = super(MailMail, self).send_get_mail_body(partner=partner)
result = super(MailMail, self)._send_prepare_body()
# Avoid polluting other model mails # Avoid polluting other model mails
if self.model != "privacy.consent": if self.model != "privacy.consent":
return result return result

2
privacy_consent/models/mail_template.py

@ -13,7 +13,7 @@ class MailTemplate(models.Model):
@api.constrains("body_html", "model") @api.constrains("body_html", "model")
def _check_consent_links_in_body_html(self): def _check_consent_links_in_body_html(self):
"""Body for ``privacy.consent`` templates needs placeholder links.""" """Body for ``privacy.consent`` templates needs placeholder links."""
links = [u"//a[@href='/privacy/consent/{}/']".format(action)
links = ["//a[@href='/privacy/consent/{}/']".format(action)
for action in ("accept", "reject")] for action in ("accept", "reject")]
for one in self: for one in self:
if one.model != "privacy.consent": if one.model != "privacy.consent":

11
privacy_consent/models/privacy_activity.py

@ -24,7 +24,7 @@ class PrivacyActivity(models.Model):
"Consents", "Consents",
) )
consent_count = fields.Integer( consent_count = fields.Integer(
"Consents",
"Consents count",
compute="_compute_consent_count", compute="_compute_consent_count",
) )
consent_required = fields.Selection( consent_required = fields.Selection(
@ -115,7 +115,7 @@ class PrivacyActivity(models.Model):
def action_new_consents(self): def action_new_consents(self):
"""Generate new consent requests.""" """Generate new consent requests."""
consents = self.env["privacy.consent"]
consents_vals = []
# Skip activitys where consent is not required # Skip activitys where consent is not required
for one in self.with_context(active_test=False) \ for one in self.with_context(active_test=False) \
.filtered("consent_required"): .filtered("consent_required"):
@ -123,14 +123,15 @@ class PrivacyActivity(models.Model):
("id", "not in", one.mapped("consent_ids.partner_id").ids), ("id", "not in", one.mapped("consent_ids.partner_id").ids),
("email", "!=", False), ("email", "!=", False),
] + safe_eval(one.subject_domain) ] + safe_eval(one.subject_domain)
# Create missing consent requests
# Store values for creating missing consent requests
for missing in self.env["res.partner"].search(domain): for missing in self.env["res.partner"].search(domain):
consents |= consents.create({
consents_vals.append({
"partner_id": missing.id, "partner_id": missing.id,
"accepted": one.default_consent, "accepted": one.default_consent,
"activity_id": one.id, "activity_id": one.id,
}) })
# Send consent request emails for automatic activitys
# Create and send consent request emails for automatic activitys
consents = self.env["privacy.consent"].create(consents_vals)
consents.action_auto_ask() consents.action_auto_ask()
# Redirect user to new consent requests generated # Redirect user to new consent requests generated
return { return {

19
privacy_consent/models/privacy_consent.py

@ -118,23 +118,24 @@ class PrivacyConsent(models.Model):
) )
action.run() action.run()
@api.model
def create(self, vals):
@api.model_create_multi
def create(self, vals_list):
"""Run server action on create.""" """Run server action on create."""
result = super(PrivacyConsent,
self.with_context(mail_create_nolog=True)).create(vals)
super_ = super(PrivacyConsent,
self.with_context(mail_create_nolog=True))
results = super_.create(vals_list)
# Sync the default acceptance status # Sync the default acceptance status
result.sudo()._run_action()
return result
results.sudo()._run_action()
return results
def write(self, vals): def write(self, vals):
"""Run server action on update.""" """Run server action on update."""
result = super(PrivacyConsent, self).write(vals)
result = super().write(vals)
self._run_action() self._run_action()
return result return result
def message_get_suggested_recipients(self): def message_get_suggested_recipients(self):
result = super(PrivacyConsent, self) \
result = super() \
.message_get_suggested_recipients() .message_get_suggested_recipients()
reason = self._fields["partner_id"].string reason = self._fields["partner_id"].string
for one in self: for one in self:
@ -149,7 +150,7 @@ class PrivacyConsent(models.Model):
"""Let user manually ask for consent.""" """Let user manually ask for consent."""
return { return {
"context": { "context": {
"default_composition_mode": "mass_mail",
"default_composition_mode": "comment",
"default_model": self._name, "default_model": self._name,
"default_res_id": self.id, "default_res_id": self.id,
"default_template_id": self.activity_id.consent_template_id.id, "default_template_id": self.activity_id.consent_template_id.id,

6
privacy_consent/static/description/index.html

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy_consent"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy_consent"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Production/Stable" src="https://img.shields.io/badge/maturity-Production%2FStable-green.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy_consent"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy_consent"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module allows the user to define a set of subjects (partners) <p>This module allows the user to define a set of subjects (partners)
affected by any data processing activity, and establish affected by any data processing activity, and establish
a process to ask them for consent to include them in that activity.</p> a process to ask them for consent to include them in that activity.</p>
@ -484,7 +484,7 @@ and the request state.</li>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_consent%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_consent%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -516,7 +516,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy_consent">OCA/data-protection</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy_consent">OCA/data-protection</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

7
privacy_consent/static/src/css/privacy_consent.scss

@ -0,0 +1,7 @@
/* Copyright 2020 Tecnativa - Jairo Llopis
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). */
.o_consent_form {
// Need !important to override an inline style of max-width: 300px
max-width: 100% !important;
}

13
privacy_consent/templates/assets.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2020 Tecnativa - Jairo Llopis
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<data>
<template id="assets_frontend" inherit_id="web.assets_frontend">
<xpath expr=".">
<link rel="stylesheet" href="/privacy_consent/static/src/css/privacy_consent.scss" />
</xpath>
</template>
</data>

1
privacy_consent/templates/form.xml

@ -9,6 +9,7 @@
by website layout if website is installed, and otherwise includes by website layout if website is installed, and otherwise includes
all possibly needed assets --> all possibly needed assets -->
<t t-call="web.login_layout"> <t t-call="web.login_layout">
<t t-set="login_card_classes" t-value="'o_consent_form'" />
<div class="container readable"> <div class="container readable">
<div class="jumbotron"> <div class="jumbotron">
<h1>Thank you!</h1> <h1>Thank you!</h1>

201
privacy_consent/tests/test_consent.py

@ -4,21 +4,16 @@
from contextlib import contextmanager from contextlib import contextmanager
from odoo.exceptions import ValidationError from odoo.exceptions import ValidationError
from odoo.tests.common import HttpCase
from odoo.tests.common import HttpCase, Form
class ActivityCase(HttpCase): class ActivityCase(HttpCase):
def setUp(self): def setUp(self):
super(ActivityCase, self).setUp() super(ActivityCase, self).setUp()
# HACK https://github.com/odoo/odoo/issues/12237
# TODO Remove hack in v12
self._oldenv = self.env
self.env = self._oldenv(self.cursor())
# HACK end
self.cron = self.env.ref("privacy_consent.cron_auto_consent") self.cron = self.env.ref("privacy_consent.cron_auto_consent")
self.cron_mail_queue = self.env.ref( self.cron_mail_queue = self.env.ref(
"mail.ir_cron_mail_scheduler_action") "mail.ir_cron_mail_scheduler_action")
self.update_opt_out = self.env.ref("privacy_consent.update_opt_out")
self.sync_blacklist = self.env.ref("privacy_consent.sync_blacklist")
self.mt_consent_consent_new = self.env.ref( self.mt_consent_consent_new = self.env.ref(
"privacy_consent.mt_consent_consent_new") "privacy_consent.mt_consent_consent_new")
self.mt_consent_acceptance_changed = self.env.ref( self.mt_consent_acceptance_changed = self.env.ref(
@ -30,25 +25,27 @@ class ActivityCase(HttpCase):
self.partners += self.partners.create({ self.partners += self.partners.create({
"name": "consent-partner-0", "name": "consent-partner-0",
"email": "partner0@example.com", "email": "partner0@example.com",
"notify_email": "none",
"opt_out": False,
}) })
self.partners += self.partners.create({ self.partners += self.partners.create({
"name": "consent-partner-1", "name": "consent-partner-1",
"email": "partner1@example.com", "email": "partner1@example.com",
"notify_email": "always",
"opt_out": True,
}) })
self.partners += self.partners.create({ self.partners += self.partners.create({
"name": "consent-partner-2", "name": "consent-partner-2",
"email": "partner2@example.com", "email": "partner2@example.com",
"opt_out": False,
}) })
# Partner without email, on purpose # Partner without email, on purpose
self.partners += self.partners.create({ self.partners += self.partners.create({
"name": "consent-partner-3", "name": "consent-partner-3",
"opt_out": True,
}) })
# Partner with wrong email, on purpose
self.partners += self.partners.create({
"name": "consent-partner-4",
"email": "wrong-mail",
})
# Blacklist some partners
self.blacklists = self.env["mail.blacklist"]
self.blacklists += self.blacklists._add("partner1@example.com")
# Activity without consent # Activity without consent
self.activity_noconsent = self.env["privacy.activity"].create({ self.activity_noconsent = self.env["privacy.activity"].create({
"name": "activity_noconsent", "name": "activity_noconsent",
@ -62,7 +59,7 @@ class ActivityCase(HttpCase):
"subject_domain": repr([("id", "in", self.partners.ids)]), "subject_domain": repr([("id", "in", self.partners.ids)]),
"consent_required": "auto", "consent_required": "auto",
"default_consent": True, "default_consent": True,
"server_action_id": self.update_opt_out.id,
"server_action_id": self.sync_blacklist.id,
}) })
# Activity with manual consent, skipping partner 0 # Activity with manual consent, skipping partner 0
self.activity_manual = self.env["privacy.activity"].create({ self.activity_manual = self.env["privacy.activity"].create({
@ -72,22 +69,39 @@ class ActivityCase(HttpCase):
"subject_domain": repr([("id", "in", self.partners[1:].ids)]), "subject_domain": repr([("id", "in", self.partners[1:].ids)]),
"consent_required": "manual", "consent_required": "manual",
"default_consent": False, "default_consent": False,
"server_action_id": self.update_opt_out.id,
"server_action_id": self.sync_blacklist.id,
}) })
# HACK https://github.com/odoo/odoo/issues/12237
# TODO Remove hack in v12
def tearDown(self):
self.env = self._oldenv
super(ActivityCase, self).tearDown()
# HACK https://github.com/odoo/odoo/issues/12237
# TODO Remove hack in v12
@contextmanager @contextmanager
def release_cr(self):
self.env.cr.release()
yield
self.env.cr.acquire()
def _patch_build(self):
self._built_messages = []
IMS = self.env['ir.mail_server']
def _build_email(
_self,
email_from,
email_to,
subject,
body,
*args,
**kwargs
):
self._built_messages.append(body)
return _build_email.origin(
_self,
email_from,
email_to,
subject,
body,
*args,
**kwargs,
)
try:
IMS._patch_method('build_email', _build_email)
yield
finally:
IMS._revert_method('build_email')
def check_activity_auto_properly_sent(self): def check_activity_auto_properly_sent(self):
"""Check emails sent by ``self.activity_auto``.""" """Check emails sent by ``self.activity_auto``."""
@ -100,30 +114,53 @@ class ActivityCase(HttpCase):
messages = consent.message_ids messages = consent.message_ids
self.assertEqual(len(messages), 2) self.assertEqual(len(messages), 2)
# Check sent mails # Check sent mails
self.cron_mail_queue.method_direct_trigger()
for consent in consents:
self.assertEqual(consent.state, "sent")
with self._patch_build():
self.cron_mail_queue.method_direct_trigger()
for index, consent in enumerate(consents):
good_email = "@" in (consent.partner_id.email or "")
expected_messages = 3 if good_email else 2
self.assertEqual(
consent.state,
"sent" if good_email else "draft",
)
messages = consent.message_ids messages = consent.message_ids
self.assertEqual(len(messages), 3)
self.assertEqual(len(messages), expected_messages)
# 2nd message notifies creation # 2nd message notifies creation
self.assertEqual( self.assertEqual(
messages[2].subtype_id,
messages[expected_messages - 1].subtype_id,
self.mt_consent_consent_new, self.mt_consent_consent_new,
) )
# 3rd message notifies subject # 3rd message notifies subject
# Placeholder links should be logged # Placeholder links should be logged
self.assertTrue("/privacy/consent/accept/" in messages[1].body)
self.assertTrue("/privacy/consent/reject/" in messages[1].body)
self.assertIn(
"/privacy/consent/accept/",
messages[expected_messages - 2].body)
self.assertIn(
"/privacy/consent/reject/",
messages[expected_messages - 2].body)
# Tokenized links shouldn't be logged # Tokenized links shouldn't be logged
self.assertFalse(consent._url(True) in messages[1].body)
self.assertFalse(consent._url(False) in messages[1].body)
self.assertNotIn(
consent._url(True),
messages[expected_messages - 2].body)
self.assertNotIn(
consent._url(False),
messages[expected_messages - 2].body)
# 4th message contains the state change # 4th message contains the state change
self.assertEqual(
messages[0].subtype_id,
self.mt_consent_state_changed,
)
# Partner's opt_out should be synced with default consent
self.assertFalse(consent.partner_id.opt_out)
if good_email:
self.assertEqual(
messages[0].subtype_id,
self.mt_consent_state_changed,
)
# Partner's is_blacklisted should be synced with default consent
self.assertFalse(consent.partner_id.is_blacklisted)
# Check the sent message was built properly tokenized
accept_url, reject_url = map(consent._url, (True, False))
for body in self._built_messages:
if accept_url in body and reject_url in body:
self._built_messages.remove(body)
break
else:
raise AssertionError("Some message body should have these urls")
def test_default_template(self): def test_default_template(self):
"""We have a good mail template by default.""" """We have a good mail template by default."""
@ -164,17 +201,22 @@ class ActivityCase(HttpCase):
def test_generate_manually(self): def test_generate_manually(self):
"""Manually-generated consents work as expected.""" """Manually-generated consents work as expected."""
self.partners.write({"opt_out": False})
for partner in self.partners:
if "@" in (partner.email or ""):
self.blacklists._remove(partner.email)
result = self.activity_manual.action_new_consents() result = self.activity_manual.action_new_consents()
self.assertEqual(result["res_model"], "privacy.consent") self.assertEqual(result["res_model"], "privacy.consent")
consents = self.env[result["res_model"]].search(result["domain"]) consents = self.env[result["res_model"]].search(result["domain"])
self.assertEqual(consents.mapped("state"), ["draft"] * 2)
self.assertEqual(consents.mapped("partner_id.opt_out"), [False] * 2)
self.assertEqual(consents.mapped("accepted"), [False] * 2)
self.assertEqual(consents.mapped("last_metadata"), [False] * 2)
self.assertEqual(consents.mapped("state"), ["draft"] * 3)
self.assertEqual(
consents.mapped("partner_id.is_blacklisted"),
[False] * 3,
)
self.assertEqual(consents.mapped("accepted"), [False] * 3)
self.assertEqual(consents.mapped("last_metadata"), [False] * 3)
# Check sent mails # Check sent mails
messages = consents.mapped("message_ids") messages = consents.mapped("message_ids")
self.assertEqual(len(messages), 2)
self.assertEqual(len(messages), 3)
subtypes = messages.mapped("subtype_id") subtypes = messages.mapped("subtype_id")
self.assertTrue(subtypes & self.mt_consent_consent_new) self.assertTrue(subtypes & self.mt_consent_consent_new)
self.assertFalse(subtypes & self.mt_consent_acceptance_changed) self.assertFalse(subtypes & self.mt_consent_acceptance_changed)
@ -182,17 +224,28 @@ class ActivityCase(HttpCase):
# Send one manual request # Send one manual request
action = consents[0].action_manual_ask() action = consents[0].action_manual_ask()
self.assertEqual(action["res_model"], "mail.compose.message") self.assertEqual(action["res_model"], "mail.compose.message")
composer = self.env[action["res_model"]] \
.with_context(active_ids=consents[0].ids,
active_model=consents._name,
**action["context"]).create({})
composer.onchange_template_id_wrapper()
composer.send_mail()
Composer = self.env[action["res_model"]].with_context(
active_ids=consents[0].ids,
active_model=consents._name,
**action["context"],
)
composer_wizard = Form(Composer)
self.assertIn(consents[0].partner_id.name, composer_wizard.body)
composer_record = composer_wizard.save()
with self._patch_build():
composer_record.send_mail()
# Check the sent message was built properly tokenized
body = self._built_messages[0]
self.assertIn(consents[0]._url(True), body)
self.assertIn(consents[0]._url(False), body)
messages = consents.mapped("message_ids") - messages messages = consents.mapped("message_ids") - messages
self.assertEqual(len(messages), 2) self.assertEqual(len(messages), 2)
self.assertEqual(messages[0].subtype_id, self.mt_consent_state_changed) self.assertEqual(messages[0].subtype_id, self.mt_consent_state_changed)
self.assertEqual(consents.mapped("state"), ["sent", "draft"])
self.assertEqual(consents.mapped("partner_id.opt_out"), [True, False])
self.assertEqual(consents.mapped("state"), ["sent", "draft", "draft"])
self.assertEqual(
consents.mapped("partner_id.is_blacklisted"),
[True, False, False],
)
# Placeholder links should be logged # Placeholder links should be logged
self.assertTrue("/privacy/consent/accept/" in messages[1].body) self.assertTrue("/privacy/consent/accept/" in messages[1].body)
self.assertTrue("/privacy/consent/reject/" in messages[1].body) self.assertTrue("/privacy/consent/reject/" in messages[1].body)
@ -202,33 +255,33 @@ class ActivityCase(HttpCase):
self.assertNotIn(accept_url, messages[1].body) self.assertNotIn(accept_url, messages[1].body)
self.assertNotIn(reject_url, messages[1].body) self.assertNotIn(reject_url, messages[1].body)
# Visit tokenized accept URL # Visit tokenized accept URL
with self.release_cr():
result = self.url_open(accept_url).text
self.assertIn("accepted", result)
self.assertIn(reject_url, result)
self.assertIn(self.activity_manual.name, result)
self.assertIn(self.activity_manual.description, result)
result = self.url_open(accept_url).text
self.assertIn("accepted", result)
self.assertIn(reject_url, result)
self.assertIn(self.activity_manual.name, result)
self.assertIn(self.activity_manual.description, result)
consents.invalidate_cache() consents.invalidate_cache()
self.assertEqual(consents.mapped("accepted"), [True, False])
self.assertEqual(consents.mapped("accepted"), [True, False, False])
self.assertTrue(consents[0].last_metadata) self.assertTrue(consents[0].last_metadata)
self.assertFalse(consents[0].partner_id.opt_out)
self.assertEqual(consents.mapped("state"), ["answered", "draft"])
self.assertFalse(consents[0].partner_id.is_blacklisted)
self.assertEqual(
consents.mapped("state"), ["answered", "draft", "draft"])
self.assertEqual( self.assertEqual(
consents[0].message_ids[0].subtype_id, consents[0].message_ids[0].subtype_id,
self.mt_consent_acceptance_changed, self.mt_consent_acceptance_changed,
) )
# Visit tokenized reject URL # Visit tokenized reject URL
with self.release_cr():
result = self.url_open(reject_url).text
self.assertIn("rejected", result)
self.assertIn(accept_url, result)
self.assertIn(self.activity_manual.name, result)
self.assertIn(self.activity_manual.description, result)
result = self.url_open(reject_url).text
self.assertIn("rejected", result)
self.assertIn(accept_url, result)
self.assertIn(self.activity_manual.name, result)
self.assertIn(self.activity_manual.description, result)
consents.invalidate_cache() consents.invalidate_cache()
self.assertEqual(consents.mapped("accepted"), [False, False])
self.assertEqual(consents.mapped("accepted"), [False, False, False])
self.assertTrue(consents[0].last_metadata) self.assertTrue(consents[0].last_metadata)
self.assertTrue(consents[0].partner_id.opt_out)
self.assertEqual(consents.mapped("state"), ["answered", "draft"])
self.assertTrue(consents[0].partner_id.is_blacklisted)
self.assertEqual(
consents.mapped("state"), ["answered", "draft", "draft"])
self.assertEqual( self.assertEqual(
consents[0].message_ids[0].subtype_id, consents[0].message_ids[0].subtype_id,
self.mt_consent_acceptance_changed, self.mt_consent_acceptance_changed,

11
privacy_partner_report/README.rst

@ -14,13 +14,13 @@ Privacy Partner Report
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github
:target: https://github.com/OCA/data-protection/tree/11.0/privacy_partner_report
:target: https://github.com/OCA/data-protection/tree/12.0/privacy_partner_report
:alt: OCA/data-protection :alt: OCA/data-protection
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy_partner_report
:target: https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy_partner_report
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/263/11.0
:target: https://runbot.odoo-community.org/runbot/263/12.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@ -48,7 +48,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_. Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_partner_report%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_partner_report%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues. Do not contact contributors directly about support or help with technical issues.
@ -64,6 +64,7 @@ Contributors
~~~~~~~~~~~~ ~~~~~~~~~~~~
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Katja Matthes <katja.matthes@initos.com>
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~
@ -86,6 +87,6 @@ Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-mreficent| |maintainer-mreficent|
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/11.0/privacy_partner_report>`_ project on GitHub.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/12.0/privacy_partner_report>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

2
privacy_partner_report/__manifest__.py

@ -2,7 +2,7 @@
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html # License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{ {
'name': 'Privacy Partner Report', 'name': 'Privacy Partner Report',
'version': '11.0.1.0.0',
'version': '12.0.1.0.0',
'category': 'GDPR', 'category': 'GDPR',
'summary': 'Show the transactions that a specific partner is involved in.', 'summary': 'Show the transactions that a specific partner is involved in.',
'author': "Eficent, " 'author': "Eficent, "

174
privacy_partner_report/i18n/de.po

@ -1,174 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy_partner_report
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-04-26 13:16+0000\n"
"Last-Translator: dw3gn3r <denise.wegner@initos.com>\n"
"Language-Team: none\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.5.1\n"
#. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a company</span><br/>"
msgstr "<span>Wählen Sie eine Firma</span><br/>"
#. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a partner</span><br/>"
msgstr "<span>Wählen Sie einen Partner</span><br/>"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_company_id
msgid "Company"
msgstr "Unternehmen"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_uid
msgid "Created by"
msgstr "Erstellt von"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_date
msgid "Created on"
msgstr "Erstellt am"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_name
msgid "Database Table"
msgstr "Datenbanktabelle"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_display_name
msgid "Display Name"
msgstr "Anzeigename"
#. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Export XLSX"
msgstr "XLSX exportieren"
#. module: privacy_partner_report
#: code:addons/privacy_partner_report/wizard/privacy_report_partner.py:121
#, python-format
msgid "Form content is missing, this report cannot be printed."
msgstr "Formularinhalt fehlt, dieser Bericht kann nicht gedruckt werden."
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_id
msgid "ID"
msgstr "Kennung"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx___last_update
msgid "Last Modified on"
msgstr "Letzte Änderung am"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_uid
msgid "Last Updated by"
msgstr "Zuletzt aktualisiert von"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_date
msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"
#. module: privacy_partner_report
#: model:ir.model.fields,help:privacy_partner_report.field_privacy_partner_data_res_ids
msgid "List of Related Document IDs"
msgstr "Vorlagen"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_model_id
msgid "Models"
msgstr "Vorlagen"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_table_ids
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Models with related partner data"
msgstr "Vorlagen mit zugehörigen Partnerdaten"
#. module: privacy_partner_report
#: code:addons/privacy_partner_report/wizard/privacy_report_partner.py:66
#, python-format
msgid "No data for this partner."
msgstr "Keine Daten zu diesem Partner gefunden."
#. module: privacy_partner_report
#: code:addons/privacy_partner_report/wizard/privacy_report_partner.py:125
#, python-format
msgid "No provided partner."
msgstr "Kein unterstützter Partner."
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_count_rows
msgid "Number of lines"
msgstr "Anzahl der Zeilen"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_partner_id
msgid "Partner"
msgstr "Partner"
#. module: privacy_partner_report
#: code:addons/privacy_partner_report/report/privacy_partner_xlsx.py:31
#, python-format
msgid "Partner Data"
msgstr "Partnerdaten"
#. module: privacy_partner_report
#: model:ir.actions.act_window,name:privacy_partner_report.action_privacy_partner_menu
#: model:ir.ui.menu,name:privacy_partner_report.menu_privacy_report_privacy_report
msgid "Partner Report"
msgstr "Partnerbericht"
#. module: privacy_partner_report
#: model:ir.actions.report,name:privacy_partner_report.report_partner_xlsx
#: model:ir.model,name:privacy_partner_report.model_privacy_partner_data
msgid "Privacy Partner Data"
msgstr "Datenschutz Partnerdaten"
#. module: privacy_partner_report
#: model:ir.model,name:privacy_partner_report.model_privacy_partner_report
msgid "Privacy Partner Report"
msgstr "Datenschutz Partnerbericht"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_res_ids
msgid "Related Document IDs"
msgstr "Zugehörige Dokumentenkennung"
#. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Report Options"
msgstr "Berichtsoptionen"
#. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_field_type
msgid "Type"
msgstr "Typ"
#. module: privacy_partner_report
#: model:ir.model,name:privacy_partner_report.model_report_privacy_partner_report_report_partner_xlsx
msgid "report.privacy_partner_report.report_partner_xlsx"
msgstr "oder"

68
privacy_partner_report/i18n/it.po

@ -4,9 +4,9 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-06-07 15:37+0000\n"
"PO-Revision-Date: 2019-06-07 15:38+0000\n"
"Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n" "Last-Translator: Sergio Zanchetta <primes2h@gmail.com>\n"
"Language-Team: none\n" "Language-Team: none\n"
"Language: it\n" "Language: it\n"
@ -17,46 +17,46 @@ msgstr ""
"X-Generator: Weblate 3.6.1\n" "X-Generator: Weblate 3.6.1\n"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a company</span><br/>" msgid "<span>Select a company</span><br/>"
msgstr "<span>Selezionare un'azienda</span><br/>" msgstr "<span>Selezionare un'azienda</span><br/>"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a partner</span><br/>" msgid "<span>Select a partner</span><br/>"
msgstr "<span>Selezionare un partner</span><br/>" msgstr "<span>Selezionare un partner</span><br/>"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_company_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__company_id
msgid "Company" msgid "Company"
msgstr "Azienda" msgstr "Azienda"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__create_uid
msgid "Created by" msgid "Created by"
msgstr "Creato da" msgstr "Creato da"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__create_date
msgid "Created on" msgid "Created on"
msgstr "Creato il" msgstr "Creato il"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__name
msgid "Database Table" msgid "Database Table"
msgstr "Tabella database" msgstr "Tabella database"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx__display_name
msgid "Display Name" msgid "Display Name"
msgstr "Nome visualizzato" msgstr "Nome visualizzato"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Export XLSX" msgid "Export XLSX"
msgstr "Esporta XLSX" msgstr "Esporta XLSX"
@ -67,46 +67,46 @@ msgid "Form content is missing, this report cannot be printed."
msgstr "Modulo senza contenuto, impossibile stampare il resoconto." msgstr "Modulo senza contenuto, impossibile stampare il resoconto."
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__id
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx__id
msgid "ID" msgid "ID"
msgstr "ID" msgstr "ID"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data____last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report____last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "Ultima modifica il" msgstr "Ultima modifica il"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "Ultimo aggiornamento di" msgstr "Ultimo aggiornamento di"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "Ultimo aggiornamento il" msgstr "Ultimo aggiornamento il"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,help:privacy_partner_report.field_privacy_partner_data_res_ids
#: model:ir.model.fields,help:privacy_partner_report.field_privacy_partner_data__res_ids
msgid "List of Related Document IDs" msgid "List of Related Document IDs"
msgstr "Elenco ID dei documenti collegati" msgstr "Elenco ID dei documenti collegati"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_model_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__model_id
msgid "Models" msgid "Models"
msgstr "Modelli" msgstr "Modelli"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_table_ids
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__table_ids
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Models with related partner data" msgid "Models with related partner data"
msgstr "Modelli con dati del partner collegato"
msgstr "Modelli con dati dei partner collegati"
#. module: privacy_partner_report #. module: privacy_partner_report
#: code:addons/privacy_partner_report/wizard/privacy_report_partner.py:66 #: code:addons/privacy_partner_report/wizard/privacy_report_partner.py:66
@ -121,12 +121,12 @@ msgid "No provided partner."
msgstr "Nessun partner assegnato." msgstr "Nessun partner assegnato."
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_count_rows
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__count_rows
msgid "Number of lines" msgid "Number of lines"
msgstr "Numero di righe" msgstr "Numero di righe"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_partner_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__partner_id
msgid "Partner" msgid "Partner"
msgstr "Partner" msgstr "Partner"
@ -154,17 +154,17 @@ msgid "Privacy Partner Report"
msgstr "Resoconto privacy del partner" msgstr "Resoconto privacy del partner"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_res_ids
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__res_ids
msgid "Related Document IDs" msgid "Related Document IDs"
msgstr "ID documenti collegati" msgstr "ID documenti collegati"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Report Options" msgid "Report Options"
msgstr "Opzioni resoconto" msgstr "Opzioni resoconto"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_field_type
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__field_type
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"

64
privacy_partner_report/i18n/privacy_partner_report.pot

@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n" "Last-Translator: <>\n"
"Language-Team: \n" "Language-Team: \n"
@ -14,46 +14,46 @@ msgstr ""
"Plural-Forms: \n" "Plural-Forms: \n"
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a company</span><br/>" msgid "<span>Select a company</span><br/>"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "<span>Select a partner</span><br/>" msgid "<span>Select a partner</span><br/>"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_company_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__company_id
msgid "Company" msgid "Company"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__create_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__create_uid
msgid "Created by" msgid "Created by"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__create_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__create_date
msgid "Created on" msgid "Created on"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__name
msgid "Database Table" msgid "Database Table"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__display_name
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx__display_name
msgid "Display Name" msgid "Display Name"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Export XLSX" msgid "Export XLSX"
msgstr "" msgstr ""
@ -64,44 +64,44 @@ msgid "Form content is missing, this report cannot be printed."
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__id
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx__id
msgid "ID" msgid "ID"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx___last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data____last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report____last_update
#: model:ir.model.fields,field_description:privacy_partner_report.field_report_privacy_partner_report_report_partner_xlsx____last_update
msgid "Last Modified on" msgid "Last Modified on"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__write_uid
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__write_uid
msgid "Last Updated by" msgid "Last Updated by"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__write_date
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__write_date
msgid "Last Updated on" msgid "Last Updated on"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,help:privacy_partner_report.field_privacy_partner_data_res_ids
#: model:ir.model.fields,help:privacy_partner_report.field_privacy_partner_data__res_ids
msgid "List of Related Document IDs" msgid "List of Related Document IDs"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_model_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__model_id
msgid "Models" msgid "Models"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_table_ids
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__table_ids
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Models with related partner data" msgid "Models with related partner data"
msgstr "" msgstr ""
@ -118,12 +118,12 @@ msgid "No provided partner."
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_count_rows
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__count_rows
msgid "Number of lines" msgid "Number of lines"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report_partner_id
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_report__partner_id
msgid "Partner" msgid "Partner"
msgstr "" msgstr ""
@ -151,17 +151,17 @@ msgid "Privacy Partner Report"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_res_ids
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__res_ids
msgid "Related Document IDs" msgid "Related Document IDs"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
#: model_terms:ir.ui.view,arch_db:privacy_partner_report.privacy_partner_report_wizard
msgid "Report Options" msgid "Report Options"
msgstr "" msgstr ""
#. module: privacy_partner_report #. module: privacy_partner_report
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data_field_type
#: model:ir.model.fields,field_description:privacy_partner_report.field_privacy_partner_data__field_type
msgid "Type" msgid "Type"
msgstr "" msgstr ""

1
privacy_partner_report/readme/CONTRIBUTORS.rst

@ -1 +1,2 @@
* Miquel Raïch <miquel.raich@eficent.com> * Miquel Raïch <miquel.raich@eficent.com>
* Katja Matthes <katja.matthes@initos.com>

7
privacy_partner_report/static/description/index.html

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy_partner_report"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-privacy_partner_report"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/11.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy_partner_report"><img alt="OCA/data-protection" src="https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/data-protection-12-0/data-protection-12-0-privacy_partner_report"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/263/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module helps a company to identify all the transactions that a specific <p>This module helps a company to identify all the transactions that a specific
partner is involved in, with the possibility to export the associated data.</p> partner is involved in, with the possibility to export the associated data.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
@ -397,7 +397,7 @@ partner is involved in, with the possibility to export the associated data.</p>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/data-protection/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_partner_report%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<a class="reference external" href="https://github.com/OCA/data-protection/issues/new?body=module:%20privacy_partner_report%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -412,6 +412,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<h2><a class="toc-backref" href="#id5">Contributors</a></h2> <h2><a class="toc-backref" href="#id5">Contributors</a></h2>
<ul class="simple"> <ul class="simple">
<li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li> <li>Miquel Raïch &lt;<a class="reference external" href="mailto:miquel.raich&#64;eficent.com">miquel.raich&#64;eficent.com</a>&gt;</li>
<li>Katja Matthes &lt;<a class="reference external" href="mailto:katja.matthes&#64;initos.com">katja.matthes&#64;initos.com</a>&gt;</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@ -423,7 +424,7 @@ mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p> <p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external" href="https://github.com/mreficent"><img alt="mreficent" src="https://github.com/mreficent.png?size=40px" /></a></p> <p><a class="reference external" href="https://github.com/mreficent"><img alt="mreficent" src="https://github.com/mreficent.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/11.0/privacy_partner_report">OCA/data-protection</a> project on GitHub.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/data-protection/tree/12.0/privacy_partner_report">OCA/data-protection</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>

1
privacy_personal_data/__init__.py

@ -0,0 +1 @@
from . import models

27
privacy_personal_data/__manifest__.py

@ -0,0 +1,27 @@
# Copyright 2019 Myceliandre - Nicolas JEUDY
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{
"name": "Private Personal Data details",
"version": "12.0.1.0.0",
"category": "Data Protection",
"summary": "Provides private data details on privacy activity ",
"author": "Nicolas JEUDY, " "Odoo Community Association (OCA)",
"website": "http://www.github.com/OCA/data-protection",
"license": "AGPL-3",
"data": [
"security/ir.model.access.csv",
"views/privacy_activity_view.xml",
"views/privacy_personal_data_view.xml",
"views/privacy_personal_category_view.xml",
"views/privacy_objective_view.xml",
"views/res_partner_view.xml",
],
"demo": [],
"depends": [
"mail",
"privacy",
"hr",
],
"installable": True,
"application": False,
}

354
privacy_personal_data/i18n/fr.po

@ -0,0 +1,354 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * privacy_personal_data
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-03 10:46+0000\n"
"PO-Revision-Date: 2022-03-03 10:46+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: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__active
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__active
msgid "Active"
msgstr "Actif"
#. module: privacy_personal_data
#: model:ir.model.fields,help:privacy_personal_data.field_privacy_activity__define_objective
msgid "Add detailed objectif from a custom list."
msgstr "Ajouter des finalités depuis une liste pré-établie"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_category_search
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_data_search
msgid "Archived"
msgstr "Archivé"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__categ_id
#: model:ir.ui.menu,name:privacy_personal_data.menu_privacy_personal_category
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Category"
msgstr "Catégorie"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__child_id
msgid "Child Categories"
msgstr "Catégories enfant"
#. module: privacy_personal_data
#: model_terms:ir.actions.act_window,help:privacy_personal_data.personal_category_action
msgid "Click to add a personal data category."
msgstr "Cliquer pour ajouter une catégorie de \"donnée personnelle\""
#. module: privacy_personal_data
#: model_terms:ir.actions.act_window,help:privacy_personal_data.personal_data_action
msgid "Click to add a personal data details."
msgstr "Cliquer pour ajouter le détail sur une donnée personnelle"
#. module: privacy_personal_data
#: model_terms:ir.actions.act_window,help:privacy_personal_data.privacy_objective_action
msgid "Click to add a privacy objective."
msgstr "Cliquez pour ajouter une finalité"
#. module: privacy_personal_data
#: selection:privacy.personal.category,type:0
msgid "Common"
msgstr "Courant"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Compagnie"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__company_id
msgid "Company"
msgstr "Société"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__complete_name
msgid "Complete Name"
msgstr "Nom Complet"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_res_partner
msgid "Contact"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__controller_ids
msgid "Controllers"
msgstr "Co-responsables"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__create_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__create_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__create_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__create_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__create_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__create_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__create_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__create_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__create_date
msgid "Created on"
msgstr "Créé le"
#. module: privacy_personal_data
#: model:ir.model.fields,help:privacy_personal_data.field_privacy_personal_data__description
msgid "Data list used in activity"
msgstr "Liste des données utilisées dans ce traitement"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_privacy_activity
msgid "Data processing activities"
msgstr "Traitements de données"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Define Objective(s)"
msgstr "Définir les finalités"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__define_objective
msgid "Define objective"
msgstr "Définir les finalités"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Definir support et lieu de stockage"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__description
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__description
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__description
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_category_form
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_data_form
msgid "Description"
msgstr ""
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Destinataires"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__objective_ids
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_category_form
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_data_form
msgid "Details"
msgstr "Détails"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__display_name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__display_name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__display_name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__display_name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__display_name
msgid "Display Name"
msgstr "Nom affiché"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Droits à la personne"
msgstr ""
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Délai d'éffacement"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,help:privacy_personal_data.field_privacy_personal_category__description
msgid "Give more example, explanation of personal data"
msgstr "Donner plus d'exemple, d'explication sur les données personnelles"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_category_search
msgid "Group By"
msgstr "Regrouper par"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__has_sensitive
msgid "Has Sensitive"
msgstr "Contient des données sensibles"
#. module: privacy_personal_data
#: selection:privacy.personal.category,type:0
msgid "High Risk"
msgstr "À risque"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__id
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__id
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__id
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__id
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__id
msgid "ID"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_res_partner__internal
#: model:ir.model.fields,field_description:privacy_personal_data.field_res_users__internal
msgid "Internal"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal____last_update
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective____last_update
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category____last_update
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data____last_update
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__write_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__write_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__write_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__write_uid
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__write_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__write_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__write_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__write_date
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_privacy_legal
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__legal_ids
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Legal"
msgstr "Lécéité"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_legal__name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_objective__name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__name
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_subject_category__name
msgid "Name"
msgstr "Nom"
#. module: privacy_personal_data
#: model:ir.ui.menu,name:privacy_personal_data.menu_privacy_objective
#: model:ir.ui.menu,name:privacy_personal_data.menu_privacy_objective_model
msgid "Objective"
msgstr "Finalité"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_privacy_objective
msgid "Objective database"
msgstr "Liste des finalités"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.personal_category_search
msgid "Parent"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__parent_id
msgid "Parent Category"
msgstr "Catégorie mère"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__parent_path
msgid "Parent Path"
msgstr "Chemin parent"
#. module: privacy_personal_data
#: model:ir.actions.act_window,name:privacy_personal_data.personal_data_action
#: model:ir.model,name:privacy_personal_data.model_privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__personal_data_ids
#: model:ir.ui.menu,name:privacy_personal_data.menu_privacy_personal_data
#: model:ir.ui.menu,name:privacy_personal_data.menu_privacy_personal_data_model
msgid "Personal Data"
msgstr "Données personnelles"
#. module: privacy_personal_data
#: model:ir.actions.act_window,name:privacy_personal_data.personal_category_action
msgid "Personal Data Category"
msgstr "Catégorie de donnée personnelle"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_privacy_personal_category
msgid "Personal Data category"
msgstr "Catégorie de donnée personnelle"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.rgpd_form_inherit_view_partner_form
msgid "Privacy"
msgstr "Confidentialité"
#. module: privacy_personal_data
#: model:ir.actions.act_window,name:privacy_personal_data.privacy_objective_action
msgid "Privacy Objective"
msgstr "Finalité"
#. module: privacy_personal_data
#: selection:privacy.personal.category,type:0
msgid "Sensitive"
msgstr "Sensible"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__subjects_categ_ids
msgid "Subjects Categ"
msgstr "Type de personne"
#. module: privacy_personal_data
#: model:ir.model,name:privacy_personal_data.model_privacy_subject_category
msgid "Subjects category"
msgstr "Type de personne"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "This activity has sensitive data."
msgstr "Ce traitement contient des données sensibles"
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "Tracked data"
msgstr "Données traitées"
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_category__type
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_personal_data__type
msgid "Type"
msgstr ""
#. module: privacy_personal_data
#: model:ir.model.fields,field_description:privacy_personal_data.field_privacy_activity__value
msgid "Value"
msgstr "Valeur"
#. module: privacy_personal_data
#: code:addons/privacy_personal_data/models/privacy_personal_data.py:45
#, python-format
msgid "You cannot create recursive categories."
msgstr ""
#. module: privacy_personal_data
#: model_terms:ir.ui.view,arch_db:privacy_personal_data.activity_form_inherit_personal_data
msgid "destinataires"
msgstr ""

3
privacy_personal_data/models/__init__.py

@ -0,0 +1,3 @@
from . import privacy_personal_data
from . import privacy_activity
from . import res_partner

114
privacy_personal_data/models/privacy_activity.py

@ -0,0 +1,114 @@
# Copyright 2019 Myceliandre - Nicolas JEUDY
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class PersonalDataCategory(models.Model):
_name = "privacy.subject.category"
_description = "Subjects category"
name = fields.Char("Name", index=True, required=True, translate=True)
class PersonalDataLegal(models.Model):
_name = "privacy.legal"
_description = "Legal"
name = fields.Char("Name", index=True, required=True, translate=True)
class ComputingSystem(models.Model):
_name = "privacy.computing_system"
_description = "Computing System"
name = fields.Char("Name", index=True, required=True, translate=True)
class PrivacyActivity(models.Model):
_inherit = "privacy.activity"
def _default_company(self):
return self.env["res.company"]._company_default_get("privacy.activity")
@api.multi
def _compute_has_sensitive(self):
for record in self:
record.has_sensitive = "sensitive" in record.personal_data_ids.mapped(
"type"
)
value = fields.Boolean(compute="_get_value")
personal_data_ids = fields.Many2many("privacy.personal.data")
subjects_categ_ids = fields.Many2many("privacy.subject.category")
has_sensitive = fields.Boolean(compute="_compute_has_sensitive")
legal_ids = fields.Many2many("privacy.legal")
controller_ids = fields.Many2many(
"res.partner",
"privacy_activity_res_partner_controler_ids",
string="Controllers",
)
define_objective = fields.Boolean(
"Define objective",
help="Add detailed objectif from a custom list.",
)
objective_ids = fields.Many2many("privacy.objective", string="Details")
company_id = fields.Many2one(
"res.company", "Company", index=True, default=_default_company
)
define_medium = fields.Boolean("Define Medium")
recipient_ids = fields.Many2many("res.partner", string="Recipients")
contract_duration = fields.Boolean("Contract Duration")
erase_type = fields.Selection(
[("legal", "Legal"), ("internal", "Internal")], string="Erase Type"
)
hr_department_ids = fields.Many2many("hr.department", string="Hr Department")
legal_erase = fields.Integer("Legal Erase (month)")
keep_for_life = fields.Integer("Keep for life")
legal_erase_year = fields.Float("Nb Year")
medium_ids = fields.One2many(
"privacy.storage_medium", "privacy_activity_id", string="Support and storage"
)
person_right = fields.Html("Right to the person")
priority = fields.Selection(
[
("0", "Low"),
("1", "Normal"),
("2", "High"),
("3", "Very High"),
],
string="priority",
)
ref = fields.Char("Reference")
risk_value = fields.Selection(
[
("yes", "Yes"),
("no", "No"),
("recommended", "Recommended"),
("not_retained", "Not Retained"),
],
string="Risk Value",
)
class PrivacyObjective(models.Model):
_name = "privacy.objective"
_description = "Objective database"
name = fields.Char("Name", index=True, required=True, translate=True)
description = fields.Html("Description")
active = fields.Boolean(
default=True,
index=True,
)
class StorageMedium(models.Model):
_name = "privacy.storage_medium"
_description = "Storage Medium"
name = fields.Char("Name", index=True, required=True, translate=True)
computing_system_id = fields.Many2one(
"privacy.computing_system", string="Computing System"
)
privacy_activity_id = fields.Many2one("privacy.activity", string="Privacy Activity")

83
privacy_personal_data/models/privacy_personal_data.py

@ -0,0 +1,83 @@
# Copyright 2019 Myceliandre - Nicolas JEUDY
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class PersonalDataCategory(models.Model):
_name = "privacy.personal.category"
_description = "Personal Data category"
_parent_name = "parent_id"
_parent_store = True
_rec_name = "complete_name"
_order = "complete_name"
name = fields.Char("Name", index=True, required=True, translate=True)
description = fields.Html(
translate=True, help="Give more example, explanation of personal data"
)
complete_name = fields.Char(
"Complete Name", compute="_compute_complete_name", store=True
)
parent_id = fields.Many2one(
"privacy.personal.category", "Parent Category", index=True, ondelete="cascade"
)
parent_path = fields.Char(index=True)
type = fields.Selection(
[("common", "Common"), ("risk", "High Risk"), ("sensitive", "Sensitive")],
string="Type",
default="common",
required=True,
)
child_id = fields.One2many(
"privacy.personal.category", "parent_id", "Child Categories"
)
@api.depends("name", "parent_id.complete_name")
def _compute_complete_name(self):
for category in self:
if category.parent_id:
category.complete_name = "%s / %s" % (
category.parent_id.complete_name,
category.name,
)
else:
category.complete_name = category.name
@api.constrains("parent_id")
def _check_category_recursion(self):
if not self._check_recursion():
raise ValidationError(_("You cannot create recursive categories."))
return True
@api.model
def name_create(self, name):
return self.create({"name": name}).name_get()[0]
class PersonalData(models.Model):
_name = "privacy.personal.data"
_description = "Personal Data"
active = fields.Boolean(
default=True,
index=True,
)
name = fields.Char(
index=True,
required=True,
translate=True,
)
description = fields.Html(translate=True, help="Data list used in activity")
categ_id = fields.Many2one(
"privacy.personal.category",
string="Category",
domain=[("child_id", "=", False)],
)
type = fields.Selection(
related="categ_id.type",
)
data_month_before_erasing = fields.Integer("Erasing delay (month)")
legal_erasing = fields.Integer("Legal Erasing (month)")

10
privacy_personal_data/models/res_partner.py

@ -0,0 +1,10 @@
# Copyright 2019 Myceliandre - Nicolas JEUDY
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
internal = fields.Boolean('Internal')

2
privacy_personal_data/readme/CONFIGURATION.rst

@ -0,0 +1,2 @@
In the "Privacy", open the "Settings" menu to find and enable
the personal data details feature.

1
privacy_personal_data/readme/CONTRIBUTORS.rst

@ -0,0 +1 @@
* Nicolas JEUDY <https://github.com/njeudy>

1
privacy_personal_data/readme/DESCRIPTION.rst

@ -0,0 +1 @@
This module provides personal data details in privacy activity.

6
privacy_personal_data/readme/USAGE.rst

@ -0,0 +1,6 @@
To define data processing activities:
#. Go to *Privacy > Master Data > Activities* and create one.
#. Define impacted personal data details
Consult your lawyer!

11
privacy_personal_data/security/ir.model.access.csv

@ -0,0 +1,11 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
read_all,Permission to read category,model_privacy_personal_category,privacy.group_data_protection_user,1,0,0,0
write_all,Permission to write category,model_privacy_personal_category,privacy.group_data_protection_manager,1,1,1,1
read,Permission to read personal data,model_privacy_personal_data,privacy.group_data_protection_user,1,0,0,0
write,Permission to write personal data,model_privacy_personal_data,privacy.group_data_protection_manager,1,1,1,1
read_objective,Permission to read objectives,model_privacy_objective,privacy.group_data_protection_user,1,0,0,0
write_objective,Permission to write objectives,model_privacy_objective,privacy.group_data_protection_manager,1,1,1,1
read_subject_category,Permission to read subject category,model_privacy_subject_category,privacy.group_data_protection_user,1,0,0,0
write_subject_category,Permission to write subject category,model_privacy_subject_category,privacy.group_data_protection_manager,1,1,1,1
read_legal,Permission to read legal,model_privacy_legal,privacy.group_data_protection_user,1,0,0,0
write_legal,Permission to write legal,model_privacy_legal,privacy.group_data_protection_manager,1,1,1,1

BIN
privacy_personal_data/static/description/icon.png

After

Width: 128  |  Height: 128  |  Size: 2.1 KiB

115
privacy_personal_data/static/description/icon.svg

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg2"
version="1.1"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
width="60"
height="60"
viewBox="0 0 60 60"
sodipodi:docname="icon.svg"
inkscape:export-filename="icon.png"
inkscape:export-xdpi="204.8"
inkscape:export-ydpi="204.8">
<metadata
id="metadata8">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs6" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1853"
inkscape:window-height="1018"
id="namedview4"
showgrid="false"
inkscape:zoom="5.6568542"
inkscape:cx="-13.498037"
inkscape:cy="27.319233"
inkscape:window-x="67"
inkscape:window-y="34"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
showguides="true"
inkscape:guide-bbox="true">
<sodipodi:guide
position="0,41.75"
orientation="1,0"
id="guide3360"
inkscape:locked="false" />
<sodipodi:guide
position="60,60.074219"
orientation="1,0"
id="guide3362"
inkscape:locked="false" />
<sodipodi:guide
position="0.17578125,60"
orientation="0,1"
id="guide3364"
inkscape:locked="false" />
<sodipodi:guide
position="58.71196,-0.0055242717"
orientation="0,1"
id="guide3366"
inkscape:locked="false" />
<sodipodi:guide
position="47.0625,10.9375"
orientation="-0.70710678,0.70710678"
id="guide3347"
inkscape:locked="false" />
<sodipodi:guide
position="21.743534,47.376154"
orientation="-0.70710678,0.70710678"
id="guide23"
inkscape:locked="false" />
</sodipodi:namedview>
<rect
style="opacity:1;fill:#0092d7;fill-opacity:1"
id="rect4147"
width="60"
height="60"
x="0"
y="0" />
<path
style="opacity:1;fill:#000000;fill-opacity:0.39215686"
d="M 0.0078125,34.359568 0,60 36.1162,60.0088 47.0625,49.0625 37.871757,16.233181 21.743534,12.623846 Z"
id="rect4171"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccc" />
<g
id="g4169"
transform="matrix(0.3061173,0,0,0.3061173,-1.0360053,-1.0457906)"
style="fill:#ffffff;stroke:none" />
<g
aria-label=""
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.38242626px;line-height:0%;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.78186888px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text3352">
<path
d="m 44.064502,27.442816 c 1.038855,0 1.917886,0.399559 2.717006,1.118767 0.719207,0.799119 1.118767,1.67815 1.118767,2.717006 v 15.343092 c 0,1.118767 -0.39956,1.997799 -1.118767,2.717006 -0.79912,0.799119 -1.678151,1.118767 -2.717006,1.118767 H 15.935499 c -1.118767,0 -1.997799,-0.319648 -2.717006,-1.118767 -0.79912,-0.719207 -1.118767,-1.598239 -1.118767,-2.717006 V 31.278589 c 0,-1.038856 0.319647,-1.917887 1.118767,-2.717006 0.719207,-0.719208 1.598239,-1.118767 2.717006,-1.118767 h 1.917886 v -5.75366 c 0,-2.157622 0.479472,-4.155421 1.598239,-6.073308 1.118767,-1.837974 2.557182,-3.276389 4.475069,-4.395156 C 25.764667,10.101925 27.762466,9.542541 30,9.542541 c 2.157623,0 4.155421,0.559384 6.073308,1.678151 1.837974,1.118767 3.276389,2.557182 4.395156,4.395156 1.118768,1.917887 1.678151,3.915686 1.678151,6.073308 v 5.75366 z m -8.310842,0 v -5.75366 c 0,-1.598239 -0.559384,-2.956742 -1.678151,-4.075509 C 32.956742,16.49488 31.598239,15.935496 30,15.935496 c -1.598239,0 -2.956742,0.559384 -4.075509,1.678151 -1.118767,1.118767 -1.67815,2.47727 -1.67815,4.075509 v 5.75366 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.91491318px;line-height:1.25;font-family:'Font Awesome 5 Free';-inkscape-font-specification:'Font Awesome 5 Free';stroke-width:0.78186888px"
id="path25" />
</g>
</svg>

123
privacy_personal_data/views/privacy_activity_view.xml

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<data>
<record model="ir.ui.view" id="activity_form_inherit_personal_data">
<field name="name">Privacy Activity Form Personal Data</field>
<field name="model">privacy.activity</field>
<field name="inherit_id" ref="privacy.activity_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='subjects']" position="inside">
<field name="subjects_categ_ids" widget="many2many_tags" string="Category" />
<field name="legal_ids" widget="many2many_tags" string="Legal" />
<label for="personal_data_ids" string="Tracked data"/>
<field name="personal_data_ids" nolabel="1"/>
</xpath>
<field name="controller_id" position="after">
<field name="company_id" string="Compagnie" groups="base.group_multi_company" options="{'no_create': True}"/>
</field>
<xpath expr="//group[@name='subjects']" position="after">
<separator name="erase" string="Délai d'éffacement"/>
<group colspan="4">
<group>
<field name="legal_erase"/>
<field name="legal_erase_year"/>
</group>
<group>
<field name="erase_type"/>
<field name="contract_duration"/>
<field name="keep_for_life"/>
</group>
</group>
</xpath>
<xpath expr="//group[@name='basic']" position="before">
<h2><field name="ref" readonly="1"/></h2>
<field name="priority" widget="priority"/>
</xpath>
<xpath expr="//group[@name='basic']" position="after">
<group>
<field name="hr_department_ids" widget="many2many_tags" colspan="4"/>
</group>
<group name="controller_details" colspan="4">
<field name="controller_ids"/>
</group>
<group name="objective_details" colspan="4">
<field name="define_objective" string="Define Objective(s)"/>
<field name="objective_ids" attrs="{&quot;invisible&quot;: [(&quot;define_objective&quot;, &quot;=&quot;, False)]}">
<tree name="objective">
<field name="name"/>
<field name="description"/>
</tree>
</field>
</group>
<group name="medium_storage" colspan="4">
<field name="define_medium" string="Definir support et lieu de stockage"/>
<field name="medium_ids" attrs="{&quot;invisible&quot;: [(&quot;define_medium&quot;, &quot;=&quot;, False)]}" context="{'default_privacy_activity_id': active_id}" >
<tree name="medium" editable="bottom">
<field name="computing_system_id"/>
<field name="name"/>
<field name="privacy_activity_id" invisible="1"/>
</tree>
</field>
</group>
</xpath>
<xpath expr="//group[@name='subjects']" position="after">
<field name="has_sensitive" invisible="1"/>
<group colspan="4" attrs="{&quot;invisible&quot;: [(&quot;has_sensitive&quot;, &quot;=&quot;, False)]}">
<div class="alert alert-warning" role="alert" style="margin-bottom:0px;">
This activity has sensitive data.
</div>
</group>
<group>
<field name="risk_value" attrs="{&quot;invisible&quot;: [(&quot;has_sensitive&quot;, &quot;=&quot;, False)]}"/>
</group>
</xpath>
<xpath expr="//group[@name='processors']" position="after">
<separator name="destinataires" string="Destinataires"/>
<group name="Destinataires">
<field name="recipient_ids" widget="many2many">
<tree string="Recipients">
<field name="name"/>
<field name="email"/>
<field name="phone"/>
<field name="mobile"/>
</tree>
</field>
</group>
<separator name="right" string="Right to the person"/>
<group>
<field name="person_right" nolabel="true"/>
</group>
</xpath>
<!--<xpath expr="//tree[@name='processors']/field[@name='country_id']" position="after">
<field name="internal"/>
</xpath>-->
</field>
</record>
<record model="ir.ui.view" id="activity_tree_inherit_personal_data">
<field name="name">Privacy Activity Tree Personal Data</field>
<field name="model">privacy.activity</field>
<field name="inherit_id" ref="privacy.activity_tree"/>
<field name="arch" type="xml">
<xpath expr="//tree" position="attributes">
<attribute name="decoration-danger">has_sensitive == True</attribute>
</xpath>
<field name="processor_ids" position="replace">
<field name="objective_ids" widget="many2many_tags"/>
<field name="has_sensitive" invisible="1"/>
<field name="risk_value"/>
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
</field>
<field name="name" position="before">
<field name="ref"/>
<field name="priority" widget="priority"/>
</field>
</field>
</record>
</data>

40
privacy_personal_data/views/privacy_objective_view.xml

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<data>
<record model="ir.ui.view" id="privacy_objective_form">
<field name="name">Privacy objective Form</field>
<field name="model">privacy.objective</field>
<field name="arch" type="xml">
<form>
<sheet>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" icon="fa-archive" name="toggle_active" type="object">
<field name="active" options='{"terminology": "archive"}' widget="boolean_button"/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
</div>
<group>
<field name="description" nolabel="1"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="privacy_objective_action" model="ir.actions.act_window">
<field name="name">Privacy Objective</field>
<field name="res_model">privacy.objective</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a privacy objective.
</p>
</field>
</record>
<menuitem name="Objective" groups="privacy.group_data_protection_user" parent="privacy.menu_data_protection_setting" id="menu_privacy_objective" sequence="10"/>
<menuitem name="Objective" sequence="10" action="privacy_objective_action" groups="privacy.group_data_protection_user" parent="menu_privacy_objective" id="menu_privacy_objective_model"/>
</data>

91
privacy_personal_data/views/privacy_personal_category_view.xml

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<data>
<record model="ir.ui.view" id="personal_category_form">
<field name="name">Privacy Personal Category Form</field>
<field name="model">privacy.personal.category</field>
<field name="arch" type="xml">
<form>
<header>
<field name="type" widget="statusbar" options="{'clickable': '1'}"/>
</header>
<sheet>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
</div>
<group name="basic">
<field name="parent_id"/>
</group>
<notebook string="Details" name="advanced">
<page string="Description" name="description">
<group>
<field name="description" nolabel="1"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="personal_category_tree">
<field name="name">Privacy Personal Category Tree</field>
<field name="model">privacy.personal.category</field>
<field name="arch" type="xml">
<tree>
<field name="complete_name"/>
<field name="name" invisible="1"/>
<field name="type"/>
<field name="description"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="personal_category_search">
<field name="name">Privacy Personal Category Search</field>
<field name="model">privacy.personal.category</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="parent_id"/>
<field name="description"/>
<separator/>
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
<separator/>
<group string="Group By" name="groupby">
<filter
name="parent_id_groupby"
string="Parent"
context="{'group_by': 'parent_id'}"
/>
</group>
</search>
</field>
</record>
<record id="personal_category_action" model="ir.actions.act_window">
<field name="name">Personal Data Category</field>
<field name="res_model">privacy.personal.category</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a personal data category.
</p>
</field>
</record>
<menuitem
name="Category"
sequence="10"
action="personal_category_action"
groups="privacy.group_data_protection_manager"
parent="menu_privacy_personal_data"
id="menu_privacy_personal_category"
/>
</data>

105
privacy_personal_data/views/privacy_personal_data_view.xml

@ -0,0 +1,105 @@
<?xml version="1.0" encoding="utf-8"?>
<data>
<record model="ir.ui.view" id="personal_data_form">
<field name="name">Privacy Personal Data Form</field>
<field name="model">privacy.personal.data</field>
<field name="arch" type="xml">
<form>
<header>
<field name="type" widget="statusbar" options="{'clickable': '0'}"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button
class="oe_stat_button"
icon="fa-archive"
name="toggle_active"
type="object"
>
<field
name="active"
options='{"terminology": "archive"}'
widget="boolean_button"
/>
</button>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
</div>
<group name="basic">
<field name="categ_id"/>
</group>
<notebook string="Details" name="advanced">
<page string="Description" name="description">
<group name="Personal Data details">
<field name="description" nolabel="1"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="personal_data_tree">
<field name="name">Privacy Personal Data Tree</field>
<field name="model">privacy.personal.data</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="categ_id"/>
<field name="type"/>
<field name="description"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="personal_data_search">
<field name="name">Privacy Personal Data Search</field>
<field name="model">privacy.personal.data</field>
<field name="arch" type="xml">
<search>
<field name="name"/>
<field name="categ_id"/>
<field name="description"/>
<field name="type"/>
<separator/>
<filter
string="Archived"
name="inactive"
domain="[('active', '=', False)]"
/>
</search>
</field>
</record>
<record id="personal_data_action" model="ir.actions.act_window">
<field name="name">Personal Data</field>
<field name="res_model">privacy.personal.data</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a personal data details.
</p>
</field>
</record>
<menuitem
name="Personal Data"
groups="privacy.group_data_protection_user"
parent="privacy.menu_data_protection_setting"
id="menu_privacy_personal_data"
sequence="10"
/>
<menuitem
name="Personal Data"
sequence="10"
action="personal_data_action"
groups="privacy.group_data_protection_user"
parent="menu_privacy_personal_data"
id="menu_privacy_personal_data_model"
/>
</data>

19
privacy_personal_data/views/res_partner_view.xml

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<data>
<record model="ir.ui.view" id="rgpd_form_inherit_view_partner_form">
<field name="name">Privacy Res partner form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<page name="sales_purchases" position="after">
<page string="Privacy" name="privacy">
<group>
<field name="internal"/>
</group>
</page>
</page>
</field>
</record>
</data>

2
setup/_metapackage/VERSION.txt

@ -1 +1 @@
11.0.20211016.0
12.0.20211016.0

2
setup/_metapackage/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

12
setup/_metapackage/setup.py

@ -4,19 +4,17 @@ with open('VERSION.txt', 'r') as f:
version = f.read().strip() version = f.read().strip()
setuptools.setup( setuptools.setup(
name="odoo11-addons-oca-data-protection",
name="odoo12-addons-oca-data-protection",
description="Meta package for oca-data-protection Odoo addons", description="Meta package for oca-data-protection Odoo addons",
version=version, version=version,
install_requires=[ install_requires=[
'odoo11-addon-contact_search_form',
'odoo11-addon-privacy',
'odoo11-addon-privacy_consent',
'odoo11-addon-privacy_partner_report',
'odoo11-addon-website_contact_extend',
'odoo12-addon-privacy',
'odoo12-addon-privacy_consent',
'odoo12-addon-privacy_partner_report',
], ],
classifiers=[ classifiers=[
'Programming Language :: Python', 'Programming Language :: Python',
'Framework :: Odoo', 'Framework :: Odoo',
'Framework :: Odoo :: 11.0',
'Framework :: Odoo :: 12.0',
] ]
) )

1
setup/contact_search_form/odoo/addons/contact_search_form

@ -1 +0,0 @@
../../../../contact_search_form

2
setup/contact_search_form/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

6
setup/contact_search_form/setup.py

@ -1,6 +0,0 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

2
setup/privacy/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

2
setup/privacy_consent/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

2
setup/privacy_partner_report/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

1
setup/website_contact_extend/odoo/addons/website_contact_extend

@ -1 +0,0 @@
../../../../website_contact_extend

2
setup/website_contact_extend/setup.cfg

@ -1,2 +0,0 @@
[bdist_wheel]
universal=1

6
setup/website_contact_extend/setup.py

@ -1,6 +0,0 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)

92
website_contact_extend/README.rst

@ -1,92 +0,0 @@
===========================
Website Contact Form Extend
===========================
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fdata--protection-lightgray.png?logo=github
:target: https://github.com/OCA/data-protection/tree/11.0/website_contact_extend
:alt: OCA/data-protection
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/data-protection-11-0/data-protection-11-0-website_contact_extend
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/263/11.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
Extended Website Contact View to give Customer options on how to be
contacted in the future.
For email verification a verification link will be sent to the email address
entered in the contact view.
* contact mode fields will be added to the website contact view.
* Information requests can be submitted from the contact view
**Table of contents**
.. contents::
:local:
Configuration
=============
The contact mode fields will be added to the Contact Site automatically.
Usage
=====
Customer can verify his email address with a verification link.
The verification link is automatically sent to the email address
entered in the website contact view.
Following that the mode of future contact can be chosen and a GDPR
information request can be submitted.
A preliminary Report is also printable in the contacts view.
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/data-protection/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/data-protection/issues/new?body=module:%20website_contact_extend%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
~~~~~~~
* IT IS AG
Maintainers
~~~~~~~~~~~
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/data-protection <https://github.com/OCA/data-protection/tree/11.0/website_contact_extend>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

4
website_contact_extend/__init__.py

@ -1,4 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import controllers
from . import models

34
website_contact_extend/__manifest__.py

@ -1,34 +0,0 @@
###################################################################
#
# IT IS AG, software solutions: http://www.itis.de
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
#
###################################################################
{
'name': "Website Contact Form Extend",
'summary': "Extended Website Contact View",
'author': "IT IS AG, Odoo Community Association (OCA)",
'website': "https://github.com/OCA/data-protection",
# Categories can be used to filter modules in modules listing
# Check https://github.com/odoo/odoo/blob/master/openerp/
# addons/base/module/module_data.xml
# for the full list
'version': '11.0.1.0.0',
'license': 'AGPL-3',
'category': 'Data Protection',
'depends': ['base',
'contacts',
'website_crm',
],
'data': [
'views/website_contact.xml',
'views/res_partner.xml',
'views/contact_report.xml',
'data/email_templates.xml',
],
}

3
website_contact_extend/controllers/__init__.py

@ -1,3 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import myfilter

163
website_contact_extend/controllers/myfilter.py

@ -1,163 +0,0 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.addons.website_form.controllers import main as parent_controller
from odoo import http
from odoo.http import request
from odoo.exceptions import ValidationError
from psycopg2 import IntegrityError
import base64
import json
class VerifyController(http.Controller):
@http.route('/verify_email',
type='http',
auth="public",
methods=['GET'],
website=True)
def verify_email(self, **kwargs):
if kwargs:
link_data = base64.b64decode(kwargs.get("data")).decode("utf-8")\
.split("####")
email = link_data[0]
contact_name = link_data[1]
email_name = link_data[2]
phone_name = link_data[3]
letter_name = link_data[4]
link_date = link_data[5]
link_date = link_date.split(" ")[0].replace("-", "")
import datetime
today = datetime.date.today()
link = datetime.datetime.strptime(link_date, "%Y%m%d").date()
diff = today - link
if diff.days > 5 or diff.days < 0:
return "<center style='color:red'>Not valid!<br/>"\
"The link you entered is either not valid or expired."\
"<br/>Please request a new link.</center>"
partner = request.env['res.partner'].sudo().search([
('email', '=', email),
('name', '=', contact_name)
])
if partner:
for part in partner:
part.is_verified = True
part.last_updated = part.write_date
if email_name == "True":
part.email_contact = True
else:
part.email_contact = False
if phone_name == "True":
part.phone_contact = True
else:
part.phone_contact = False
if letter_name == "True":
part.letter_contact = True
else:
part.letter_contact = False
request.env.ref(
'website_contact_extend.confirmation_email_template'
).sudo().send_mail(part.id)
return "<center style='color:green'>"\
"Thank You! Your email address has been verified!"\
"</center>"
else:
return "<center style='color:red'>Not valid!<br/>"\
"The link you entered is either not valid or expired."\
"<br/>Please request a new link.</center>"
class MyFilter(parent_controller.WebsiteForm):
@http.route('/website_form/<string:model_name>',
type='http',
auth="public",
methods=['POST'],
website=True)
def website_form(self, model_name, **kwargs):
model_record = request.env['ir.model'].sudo().search([
('model', '=', model_name),
('website_form_access', '=', True)
])
if not model_record:
return json.dumps(False)
# need_send_email = False
try:
data = self.extract_data(model_record, request.params)
# contact_type = False
phone_contact = False
letter_contact = False
email_contact = False
send_mail = True
index = 0
for field_name, field_value in request.params.items():
# if field_name == "contact_type":
# contact_type = field_value
if field_name == "send_mail" and field_value == "send_mail":
send_mail = True
if field_name == "phone_contact" \
and field_value == "phone_contact":
phone_contact = True
if field_name == "letter_contact" \
and field_value == "letter_contact":
letter_contact = True
if field_name == "email_contact" \
and field_value == "email_contact":
email_contact = True
index += 1
# contact_name = data.get("record").get("contact_name")
# email_from = data.get("record").get("email_from")
# If we encounter an issue while extracting data
except ValidationError as e:
# I couldn't find a cleaner way to pass data to an exception
return json.dumps({'error_fields': e.args[0]})
try:
id_record = self.insert_record(
request,
model_record,
data['record'],
data['custom'],
data.get('meta')
)
if id_record:
self.insert_attachment(
model_record,
id_record,
data['attachments']
)
if id_record and send_mail and model_name == "crm.lead":
crm_lead_obj = request.env['crm.lead'].sudo().search([
('id', '=', id_record)]
)
email_data = crm_lead_obj.email_from + "####" +\
crm_lead_obj.contact_name + "####" +\
str(email_contact) + "####" +\
str(phone_contact) + "####" +\
str(letter_contact)+"####" +\
str(crm_lead_obj.create_date)
ency_email = base64.b64encode(email_data.encode()).decode(
"utf-8"
)
action_url = '%s/verify_email/?data=%s' % (
request.env['ir.config_parameter'].
sudo().get_param('web.base.url'),
ency_email,
)
if crm_lead_obj:
crm_lead_obj.email_link = action_url
request.env.ref(
'website_contact_extend.verification_email_template'
).send_mail(id_record)
# Some fields have additional SQL constraints
# that we can't check generically
# Ex: crm.lead.probability which is a float between 0 and 1
# TODO: How to get the name of the erroneous field ?
except IntegrityError:
return json.dumps(False)
request.session['form_builder_model_model'] = model_record.model
request.session['form_builder_model'] = model_record.name
request.session['form_builder_id'] = id_record
return json.dumps({'id': id_record})

46
website_contact_extend/data/email_templates.xml

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="verification_email_template" model="mail.template">
<field name="name">Email verification link</field>
<field name="subject">mail verification link</field>
<field name="email_to">${(not object.partner_id and object.email_from)|safe}</field>
<field name="model_id" ref="crm.model_crm_lead"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<p>
% if object.partner_id
Dear <strong>${object.partner_id.name}</strong>,<br/>
% endif
% if not object.partner_id
Dear <strong>${object.email_from}</strong>,<br/>
% endif
Please click on below link to verify your email address <strong>${object.email_link}</strong>.<br/>
Thank you.
</p>
]]>
</field>
</record>
<record id="confirmation_email_template" model="mail.template">
<field name="name">Email confirmation</field>
<field name="subject">Verified Email</field>
<field name="email_to">${user.email|safe}</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="auto_delete" eval="True"/>
<field name="body_html"><![CDATA[
<p>
Dear <strong>${user.partner_id.name}</strong>,<br/>
This email address <strong> ${object.email}</strong> has been verified by user.<br/>
Thank you.
</p>
]]>
</field>
</record>
</odoo>

470
website_contact_extend/i18n/de.po

@ -1,470 +0,0 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_contact_extend
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-07-02 12:18+0000\n"
"PO-Revision-Date: 2019-04-26 13:16+0000\n"
"Last-Translator: dw3gn3r <denise.wegner@initos.com>\n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.5.1\n"
#. module: website_contact_extend
#: model:mail.template,body_html:website_contact_extend.verification_email_template
msgid ""
"\n"
" <p>\n"
" % if object.partner_id\n"
" Dear <strong>${object.partner_id.name}</strong>,<br/>\n"
" % endif\n"
" % if not object.partner_id\n"
" Dear <strong>${object.email_from}</strong>,<br/>\n"
" % endif\n"
"\n"
" Please click on below link to verify your email address <strong>"
"${object.email_link}</strong>.<br/>\n"
"\n"
" Thank you.\n"
" </p>\n"
" \n"
" "
msgstr ""
"\n"
" <p>\n"
" % if object.partner_id\n"
" Lieber <strong>${object.partner_id.name}</strong>,<br/>\n"
" % endif\n"
" % if not object.partner_id\n"
" Lieber <strong>${object.email_from}</strong>,<br/>\n"
" % endif\n"
"\n"
" Bitte klicken Sie auf den untenstehenden Link, um Ihre E-Mail-"
"Adresse zu bestätigen <strong>${object.email_link}</strong>.<br/>\n"
"\n"
" Vielen Dank.\n"
" </p>\n"
" \n"
" "
#. module: website_contact_extend
#: model:mail.template,body_html:website_contact_extend.confirmation_email_template
msgid ""
"\n"
" <p>\n"
" Dear <strong>${user.partner_id.name}</strong>,<br/>\n"
"\n"
" This email address <strong> ${object.email}</strong> has been "
"verified by user.<br/>\n"
"\n"
" Thank you.\n"
" </p>\n"
" \n"
" "
msgstr ""
"\n"
" <p>\n"
" Lieber <strong>${user.partner_id.name}</strong>,<br/>\n"
"\n"
" Diese E-Mail-Adresse <strong> ${object.email}</strong> wurde "
"vom Benutzer bestätigt.<br/>\n"
"\n"
" Vielen Dank.\n"
" </p>\n"
" \n"
" "
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"(2)\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T7\">Die</span>personenbezogene "
"Daten<span class=\"T7\">werden nicht</span>an ein\n"
" Drittland oder an eine internationale Organisation "
"übermittelt"
msgstr ""
"(2) <span class=\"T2\">□ </span><span class=\"T7\">Die </"
"span>personenbezogene Daten <span class=\"T7\">werden nicht </span>an ein "
"Drittland oder an eine internationale Organisation übermittelt"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"(3) Der Verantwortliche stellt eine Kopie der personenbezogenen Daten, die\n"
" Gegenstand der Verarbeitung sind, zur Verfügung:"
msgstr ""
"(3) Der Verantwortliche stellt eine Kopie der personenbezogenen Daten, "
"die Gegenstand der Verarbeitung sind, zur Verfügung:"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"(4) Das Recht auf Erhalt einer Kopie gemäß Absatz 3 darf die Rechte und\n"
" Freiheiten anderer<br/>Personen nicht "
"beeinträchtigen."
msgstr ""
"(4) Das Recht auf Erhalt einer Kopie gemäß Absatz 3 darf die Rechte und "
"Freiheiten anderer<br/>Personen nicht beeinträchtigen."
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"<span class=\"T2\">□ bis zum __. __. ____</span>\n"
" <span class=\"T2\">□ Bis zu ____ Jahre</span>\n"
" <span class=\"T3\">□ Gesetzl. Aufbewahrungfrist</"
"span>"
msgstr ""
"<span class=\"T2\"> □ </span><span class=\"T1\">bis zum __. __. ____</"
"span> <span> <span class=\"T1\"> </span><span class=\"T2\">□ Bis zu ____ "
"Jahre □ </span><span class=\"T3\">Gesetzl. Aufbewahrungfrist</span></"
"span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"<span class=\"T2\">□</span>\n"
" <span class=\"T4\">Wenn doch: Die Daten werden</"
"span>\n"
" <span class=\"T7\">nach folgender Art ausgewertet "
"und gruppiert _______________</span>"
msgstr ""
"<span class=\"T2\">□ </span><span class=\"T4\">Wenn doch: Die Daten werden</"
"span><span class=\"T7\"> nach folgender Art ausgewertet und gruppiert "
"_______________ </span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"<span class=\"T6\">Grund</span>\n"
" <span class=\"T2\">□ Kontakt ____ mal nicht erreicht "
"□ Systemwechsel</span>"
msgstr ""
"<span class=\"T6\">Grund</span><span> <span class=\"T2\">□ Kontakt ____ mal "
"nicht erreicht □ Systemwechsel </span></span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid "<span>oder □ Widerspruchsrecht gegen diese Verarbeitung besteht;</span>"
msgstr ""
"<span class=\"T2\">oder □ </span>Widerspruchsrecht gegen diese "
"Verarbeitung <span class=\"T1\">besteht</span>;"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Adresse:"
msgstr "Adresse:"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Auskunft für:"
msgstr "Auskunft für:"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"Auskunft n\n"
" <span class=\"T1\">ach Artikel 15 DS-GVO</span>"
msgstr "Auskunft n<span class=\"T1\">ach Artikel 15 DS-GVO</span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Auskunftsgeber:"
msgstr "Auskunftsgeber:"
#. module: website_contact_extend
#: model:ir.model,name:website_contact_extend.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: website_contact_extend
#: model:ir.actions.report,name:website_contact_extend.report_contact
msgid "Contact Report"
msgstr "Kontakt Report"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_contact_type
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_contact_type
msgid "Contact Type"
msgstr "Art des Kontakts"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.contactus_form_inherited
msgid "Contact by E-Mail"
msgstr "Kontakt per E-Mail"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.contactus_form_inherited
msgid "Contact by Letter"
msgstr "Kontakt per Post"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.contactus_form_inherited
msgid "Contact by Phone"
msgstr "Kontakt per Telefon"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"Die betroffene Person hat das Recht, von dem Verantwortlichen eine\n"
" Bestätigung darüber zu verlangen, ob sie betreffende "
"personenbezogene Daten verarbeitet werden;\n"
" ist dies der Fall, so hat sie ein Recht auf Auskunft "
"über diese personenbezogenen Daten und auf\n"
" folgende Informationen:"
msgstr ""
"Die betroffene Person hat das Recht, von dem Verantwortlichen eine "
"Bestätigung darüber zu verlangen, ob sie betreffende personenbezogene Daten "
"verarbeitet werden; ist dies der Fall, so hat sie ein Recht auf Auskunft "
"über diese personenbezogenen Daten und auf folgende Informationen:"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_email_contact
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_email_contact
msgid "Email Contact"
msgstr "Email Kontakt"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_crm_lead_email_link
msgid "Email verification link"
msgstr "Email verifikations Link"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Email:"
msgstr "E-Mail:"
#. module: website_contact_extend
#: selection:res.partner,contact_type:0
msgid "I do not want to be contacted."
msgstr "Ich möchte nicht kontaktiert werden."
#. module: website_contact_extend
#: selection:res.partner,contact_type:0
msgid "I only want to be contacted by Email."
msgstr "Ich möchte nur per Email kontaktiert werden."
#. module: website_contact_extend
#: selection:res.partner,contact_type:0
msgid "I only want to be contacted by Phone."
msgstr "Ich möchte nur per Telefon kontaktiert werden."
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.contactus_form_inherited
msgid "In the future I want to be contacted by"
msgstr "In Zukunft möchte ich nur kontaktiert werden durch:"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.contactus_form_inherited
msgid "Information request concerning data about the personally"
msgstr "Persönliche Informationsauskunft:"
#. module: website_contact_extend
#: model:ir.model,name:website_contact_extend.model_crm_lead
msgid "Lead/Opportunity"
msgstr "Interessent / Chance"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_letter_contact
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_letter_contact
msgid "Letter Contact"
msgstr "Brief Kontakt"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_last_updated
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_last_updated
msgid "Letzte Aktualisierung"
msgstr "Letzte Aktualisierung"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Name:"
msgstr "Name:"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_phone_contact
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_phone_contact
msgid "Phone Contact"
msgstr "Telefon Kontakt"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
msgid "Phone:"
msgstr "Telefon:"
#. module: website_contact_extend
#: model:ir.model.fields,field_description:website_contact_extend.field_res_partner_is_verified
#: model:ir.model.fields,field_description:website_contact_extend.field_res_users_is_verified
#: model:mail.template,subject:website_contact_extend.confirmation_email_template
msgid "Verified Email"
msgstr "Verifizierte Email"
#. module: website_contact_extend
#: model:ir.model.fields,help:website_contact_extend.field_res_partner_contact_type
#: model:ir.model.fields,help:website_contact_extend.field_res_users_contact_type
msgid "Which way user want to be contacted."
msgstr "Art der Kontaktierung"
#. module: website_contact_extend
#: selection:res.partner,contact_type:0
msgid "You can contact me by Email or Phone."
msgstr "Ich kann per Email oder Telefon kontaktiert werden."
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"a) die Verarbeitungszwecke:\n"
" <span class=\"T1\"/>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Kontaktaufnahme;</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T3\">Geschäftsvorgänge;</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T3\">Sonstiges;</span>"
msgstr ""
"a) <span class=\"T1\">d</span>ie Verarbeitungszwecke:<span class=\"T1\"> </"
"span><span class=\"T2\">□ </span><span class=\"T1\">Kontaktaufnahme; </"
"span><span class=\"T2\">□ </span><span class=\"T3\">Geschäftsvorgänge</"
"span><span class=\"T1\">; </span><span class=\"T2\">□ </span><span class="
"\"T3\">S</span><span class=\"T1\">onstiges; </span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"b) die Kategorien personenbezogener Daten, die verarbeitet werden:\n"
" <span class=\"T1\">\n"
" <br/>\n"
" </span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Kundendaten,</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Lieferantendaten,</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Interessentendaten,</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Personaldaten</span>"
msgstr ""
"b) die Kategorien personenbezogener Daten, die verarbeitet werden: <span "
"class=\"T1\"> <br/></span><span class=\"T2\">□ </span><span class="
"\"T1\">Kundendaten, </span><span class=\"T2\">□ </span><span class="
"\"T1\">Lieferantendaten, </span><span class=\"T2\">□ </span><span class="
"\"T1\">Interessentendaten, </span><span class=\"T2\">□ </span><span class="
"\"T1\">Personaldaten</span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"c) die Empfänger oder Kategorien von Empfängern, gegenüber denen die "
"personenbezogenen\n"
" Daten offengelegt worden sind oder noch offengelegt "
"werden, insbesondere bei Empfängern in\n"
" Drittländern oder bei internationalen "
"Organisationen:\n"
" <span class=\"T2\">□</"
"span>_______________________________\n"
" <br/>\n"
" <span class=\"T6\">oder</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T3\">keine Offenlegung gegenüber "
"Dritten beabsichtigt,</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T1\">Nicht bekannt</span>"
msgstr ""
"c) die Empfänger oder Kategorien von Empfängern, gegenüber denen die "
"personenbezogenen Daten offengelegt worden sind oder noch offengelegt "
"werden, insbesondere bei Empfängern in Drittländern oder bei internationalen "
"Organisationen: <span class=\"T1\"> </span><span class=\"T2\">□ </"
"span>_______________________________<br/> <span class=\"T6\">oder</span> "
"<span class=\"T1\"> </span><span class=\"T2\">□ </span><span class="
"\"T3\">keine</span><span class=\"T1\"> Offenlegung gegenüber Dritten "
"beabsichtigt, </span><span class=\"T2\">□ </span><span class=\"T1\">Nicht "
"bekannt</span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"d) geplante Dauer, für die die personenbezogenen Daten gespeichert werden:"
msgstr ""
"d) geplante Dauer, für die die personenbezogenen Daten gespeichert "
"werden: <span class=\"T1\"> </span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"e)\n"
" <span>□ Recht auf Berichtigung oder Löschung der "
"betreffenden\n"
" personenbezogenen Daten besteht oder\n"
" </span>\n"
" <span>□ Einschränkung der Verarbeitung durch den "
"Verantwortlichen\n"
" </span>"
msgstr ""
"e) <span> <span class=\"T2\">□ </span>Recht auf Berichtigung oder Löschung "
"der betreffenden personenbezogenen Daten <span class=\"T1\">besteht "
"oder </span><span class=\"T2\">□ </span>Einschränkung der "
"Verarbeitung durch den Verantwortlichen </span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"f)\n"
" <span>□ das Bestehen eines Beschwerderechts bei "
"einer Aufsichtsbehörde besteht\n"
" </span>"
msgstr ""
"f) <span> <span class=\"T2\">□ </span>das Bestehen eines Beschwerderechts "
"bei einer Aufsichtsbehörde <span class=\"T5\">besteht</span></span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"g) die Herkunft der Daten\n"
" <span class=\"T7\">ist von</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T4\">eigener Recherche,</span>\n"
" <span class=\"T2\">□</span>\n"
" <span class=\"T4\">Auskunftei</span>"
msgstr ""
"g) die Herkunft der Daten <span class=\"T7\">ist von </span><span class="
"\"T2\">□ </span><span class=\"T4\">eigener Recherche, </span><span class="
"\"T2\">□ </span><span class=\"T4\">Auskunftei</span>"
#. module: website_contact_extend
#: model:ir.ui.view,arch_db:website_contact_extend.report_contact_document
#, fuzzy
msgid ""
"h)<span class=\"T2\">□</span>eine automatisierte Entscheidungsfindung\n"
" <span class=\"T7\">mit diesen Daten findet nicht "
"statt.</span>"
msgstr ""
"h) <span class=\"T2\">□ </span>eine automatisierte Entscheidungsfindung "
"<span class=\"T7\">mit diesen Daten findet nicht statt. </span>"
#. module: website_contact_extend
#: model:mail.template,subject:website_contact_extend.verification_email_template
msgid "mail verification link"
msgstr "mail verification link"

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save