Browse Source

GDPR Module for OCA V11

pull/10/head
ITISAG-OCA 6 years ago
parent
commit
678eb69f04
  1. 3
      itis_gdpr_extension/__init__.py
  2. 61
      itis_gdpr_extension/__manifest__.py
  3. 560
      itis_gdpr_extension/i18n/de.po
  4. 552
      itis_gdpr_extension/i18n/en_US.po
  5. 4
      itis_gdpr_extension/models/__init__.py
  6. 149
      itis_gdpr_extension/models/contact_model.py
  7. 86
      itis_gdpr_extension/models/models.py
  8. 8
      itis_gdpr_extension/security/gdpr_security.xml
  9. 3
      itis_gdpr_extension/security/ir.model.access.csv
  10. 63
      itis_gdpr_extension/static/description/index.html
  11. BIN
      itis_gdpr_extension/static/src/img/itisag.png
  12. 87
      itis_gdpr_extension/views/contact_report.xml
  13. 45
      itis_gdpr_extension/views/contact_view.xml
  14. 128
      itis_gdpr_extension/views/views.xml

3
itis_gdpr_extension/__init__.py

@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
from . import models

61
itis_gdpr_extension/__manifest__.py

@ -0,0 +1,61 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# IT IS AG, software solutions
# Copyright (C) 2015-TODAY IT IS AG (<http://www.itis.de, www.itis.us>).
#
#
# The software works in conjunction with other software distributed from
# other parties which is licensed under the GNU Lesser General Public
# License (LGPL).
# Those pieces are not owned by IT IS AG and therefore not under the terms
# of the IT IS EULA, and WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with IT IS Odoo Textblock. If not, see <http://www.gnu.org/licenses/>
#
##############################################################################
{
'name': "IT IS GDPR Extension",
'summary': """
Extended Website Contact View to give Customer the option on how to be contacted.
View for DPO to look up Customer Data.
Newletter Double Opt-In and -Out extending the Odoo mass_mailing module.
""",
'description': """
Extended Website Contact View to give Customer the option on how to be contacted.
View for DPO to look up Customer Data.
Newletter Double Opt-In and -Out extending the Odoo mass_mailing module.
""",
'author': "IT IS AG",
'website': "http://www.itis-odoo.de",
# 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': '0.1',
'category': 'Website',
'depends': ['base',
'website',
'mass_mailing',
'contacts',
'website_crm',
],
'data': [
'views/contact_view.xml',
'security/gdpr_security.xml',
'security/ir.model.access.csv',
'views/views.xml',
'views/contact_report.xml',
],
'icon': "/itis_gdpr_extension/static/src/img/itisag.png",
}

560
itis_gdpr_extension/i18n/de.po

@ -0,0 +1,560 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * itis_gdpr_extension
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-14 11:34+0000\n"
"PO-Revision-Date: 2018-06-14 13:33+0100\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: de_DE\n"
"X-Generator: Poedit 1.5.4\n"
#. module: itis_gdpr_extension
#: model:mail.template,body_html:itis_gdpr_extension.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"
" 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"
" "
#. module: itis_gdpr_extension
#: model:mail.template,body_html:itis_gdpr_extension.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"
" 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"
" "
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(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"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(3) Der Verantwortliche stellt eine Kopie der personenbezogenen Daten, "
"die 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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(4) Das Recht auf Erhalt einer Kopie gemäß Absatz 3 darf die Rechte und "
"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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T2\">oder □ </span>Widerspruchsrecht gegen diese "
"Verarbeitung <span class=\"T1\">besteht</span>;"
msgstr ""
"<span class=\"T2\">oder □ </span>Widerspruchsrecht gegen diese "
"Verarbeitung <span class=\"T1\">besteht</span>;"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T2\">□ </span><span class=\"T4\">Wenn doch: Die Daten werden</"
"span><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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T6\">Grund</span><span> <span class=\"T2\">□ Kontakt ____ mal "
"nicht erreicht □ Systemwechsel </span></span>"
msgstr ""
"<span class=\"T6\">Grund</span><span> <span class=\"T2\">□ Kontakt ____ mal "
"nicht erreicht □ Systemwechsel </span></span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Adresse:"
msgstr "Adresse:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunft für:"
msgstr "Auskunft für:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunft n<span class=\"T1\">ach Artikel 15 DS-GVO</span>"
msgstr "Auskunft n<span class=\"T1\">ach Artikel 15 DS-GVO</span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunftsgeber:"
msgstr "Auskunftsgeber:"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: itis_gdpr_extension
#: model:ir.actions.report,name:itis_gdpr_extension.report_contact
msgid "Contact Report"
msgstr "Kontakt Report"
#. module: itis_gdpr_extension
#: model:ir.ui.menu,name:itis_gdpr_extension.menu_customer_info
msgid "Contact Search"
msgstr "Kontakt Suche"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_contact_type
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_contact_type
msgid "Contact Type"
msgstr "Art des Kontakts"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by E-Mail"
msgstr "Kontakt per E-Mail"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by Letter"
msgstr "Kontakt per Post"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by Phone"
msgstr "Kontakt per Telefon"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_create_uid
msgid "Created by"
msgstr "Erstellt von"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_create_date
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_create_date
msgid "Created on"
msgstr "Erstellt am"
#. module: itis_gdpr_extension
#: model:ir.actions.act_window,name:itis_gdpr_extension.action_dpo_view_itis
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Kunden Information"
#. module: itis_gdpr_extension
#: model:res.groups,name:itis_gdpr_extension.group_dpo
msgid "Data Protection Officers"
msgstr "Data Protection Officers"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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:"
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: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_display_name
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_display_name
msgid "Display Name"
msgstr "Anzeigename"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_email_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_email_contact
msgid "Email Contact"
msgstr "Email Kontakt"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_crm_lead_email_link
msgid "Email verification link"
msgstr "Email verifikations Link"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Email:"
msgstr "E-Mail:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_field_list
msgid "Fields Name"
msgstr "Felder Namen"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_model_id
msgid "Found in Model"
msgstr "Gefunden in Modell"
#. module: itis_gdpr_extension
#: code:addons/itis_gdpr_extension/models/models.py:18
#, python-format
msgid "Found record"
msgstr "Gefunden in Eintrag"
#. module: itis_gdpr_extension
#: selection:res.partner,contact_type:0
msgid "I do not want to be contacted."
msgstr "Ich möchte nicht kontaktiert werden."
#. module: itis_gdpr_extension
#: 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: itis_gdpr_extension
#: 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: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_id
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_id
msgid "ID"
msgstr "ID"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "In the future I want to be contacted by"
msgstr "In Zukunft möchte ich nur kontaktiert werden durch:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Information request concerning data about the personally"
msgstr "Persönliche Informationsauskunft:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view___last_update
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line___last_update
msgid "Last Modified on"
msgstr "Zuletzt geändert am"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_write_uid
msgid "Last Updated by"
msgstr "Zuletzt aktualisiert durch"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_write_date
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_write_date
msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_crm_lead
msgid "Lead/Opportunity"
msgstr "Interessent / Chance"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_letter_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_letter_contact
msgid "Letter Contact"
msgstr "Brief Kontakt"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_last_updated
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_last_updated
msgid "Letzte Aktualisierung"
msgstr "Letzte Aktualisierung"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_name
msgid "Model Name"
msgstr "Modellname"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Name:"
msgstr "Name:"
#. module: itis_gdpr_extension
#: code:addons/itis_gdpr_extension/models/models.py:71
#, python-format
msgid "No record found with ."
msgstr "Kein Eintrag gefunden mit ."
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_phone_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_phone_contact
msgid "Phone Contact"
msgstr "Telefon Kontakt"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Phone:"
msgstr "Telefon:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_record_id
msgid "Record ID"
msgstr "Datensatz Nr."
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "Suche"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.dpo_view_tree
msgid "Search Contact"
msgstr "Kontakt Suchen"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_search_lines
msgid "Search Result"
msgstr "Suchergebnis"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.search_line_tree_view_itis
msgid "Search Results"
msgstr "Suchergebnisse"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_name
msgid "Search Term"
msgstr "Suchbegriff"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_search_id
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Suchbegriffe"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_model_ids
msgid "Search in Model"
msgstr "Suche in Modell"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr "VIEW RECORD"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_is_verified
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_is_verified
#: model:mail.template,subject:itis_gdpr_extension.confirmation_email_template
msgid "Verified Email"
msgstr "Verifizierte Email"
#. module: itis_gdpr_extension
#: model:ir.model.fields,help:itis_gdpr_extension.field_res_partner_contact_type
#: model:ir.model.fields,help:itis_gdpr_extension.field_res_users_contact_type
msgid "Which way user want to be contacted."
msgstr "Art der Kontaktierung"
#. module: itis_gdpr_extension
#: 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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"d) geplante Dauer, für die die personenbezogenen Daten gespeichert "
"werden: <span class=\"T1\"> </span>"
msgstr ""
"d) geplante Dauer, für die die personenbezogenen Daten gespeichert "
"werden: <span class=\"T1\"> </span>"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"f) <span> <span class=\"T2\">□ </span>das Bestehen eines Beschwerderechts "
"bei einer Aufsichtsbehörde <span class=\"T5\">besteht</span></span>"
msgstr ""
"f) <span> <span class=\"T2\">□ </span>das Bestehen eines Beschwerderechts "
"bei einer Aufsichtsbehörde <span class=\"T5\">besteht</span></span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
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: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"h) <span class=\"T2\">□ </span>eine automatisierte Entscheidungsfindung "
"<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: itis_gdpr_extension
#: model:mail.template,subject:itis_gdpr_extension.verification_email_template
msgid "mail verification link"
msgstr "Bitte bestätigen Sie Ihre E-Mail-Adresse"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_search_line
msgid "search.line"
msgstr "search.line"

552
itis_gdpr_extension/i18n/en_US.po

@ -0,0 +1,552 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * itis_gdpr_extension
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-22 12:53+0000\n"
"PO-Revision-Date: 2018-06-22 15:22+0100\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_US\n"
"X-Generator: Poedit 1.5.4\n"
#. module: itis_gdpr_extension
#: model:mail.template,body_html:itis_gdpr_extension.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"
" 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"
" "
#. module: itis_gdpr_extension
#: model:mail.template,body_html:itis_gdpr_extension.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"
" 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"
" "
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(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"
msgstr ""
"(2) <span class=\"T2\">□ </span>The personal data will not be transmitted to "
"a third country or an international organization"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(3) Der Verantwortliche stellt eine Kopie der personenbezogenen Daten, "
"die Gegenstand der Verarbeitung sind, zur Verfügung:"
msgstr ""
"(3) The responsible person provides a copy of the personal data that is the "
"subject of the processing:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"(4) Das Recht auf Erhalt einer Kopie gemäß Absatz 3 darf die Rechte und "
"Freiheiten anderer<br/>Personen nicht beeinträchtigen."
msgstr ""
"(4) The right to receive a copy under paragraph 3 must not affect the rights "
"and freedoms of other persons."
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<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>"
msgstr ""
"<span class=\"T2\"> □ </span><span class=\"T1\">Until the __. __. "
"____</span> <span> <span class=\"T1\"> </span><span class=\"T2\">□ Up to "
"____ years □ </span><span class=\"T3\">Storage period by law</span></"
"span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T2\">oder □ </span>Widerspruchsrecht gegen diese "
"Verarbeitung <span class=\"T1\">besteht</span>;"
msgstr ""
"<span class=\"T2\">or □ </span>Right to object to this processing,"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T2\">□ </span><span class=\"T4\">Wenn doch: Die Daten werden</"
"span><span class=\"T7\"> nach folgender Art ausgewertet und gruppiert "
"_______________ </span>"
msgstr ""
"<span class=\"T2\">□ </span>If so: The data is evaluated and grouped in the "
"following way_______________ "
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"<span class=\"T6\">Grund</span><span> <span class=\"T2\">□ Kontakt ____ mal "
"nicht erreicht □ Systemwechsel </span></span>"
msgstr ""
"<span class=\"T6\">Reason:</span> □ Contact ____ not reached □ "
"Systemchange </span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Adresse:"
msgstr "Address:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunft für:"
msgstr "Information for:"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunft n<span class=\"T1\">ach Artikel 15 DS-GVO</span>"
msgstr ""
"Information <span class=\"T1\">according to Article 15 of the GDPR</span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Auskunftsgeber:"
msgstr "Information giver:"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_res_partner
msgid "Contact"
msgstr "Contact"
#. module: itis_gdpr_extension
#: model:ir.actions.report,name:itis_gdpr_extension.report_contact
msgid "Contact Report"
msgstr "Contact Report"
#. module: itis_gdpr_extension
#: model:ir.ui.menu,name:itis_gdpr_extension.menu_customer_info
msgid "Contact Search"
msgstr "Contact Search"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_contact_type
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_contact_type
msgid "Contact Type"
msgstr "Contact Type"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by E-Mail"
msgstr "Contact by E-Mail"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by Letter"
msgstr "Contact by Letter"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Contact by Phone"
msgstr "Contact by Phone"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_create_uid
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_create_uid
msgid "Created by"
msgstr "Created by"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_create_date
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_create_date
msgid "Created on"
msgstr "Created on"
#. module: itis_gdpr_extension
#: model:ir.actions.act_window,name:itis_gdpr_extension.action_dpo_view_itis
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "Customer Info"
msgstr "Customer Info"
#. module: itis_gdpr_extension
#: model:res.groups,name:itis_gdpr_extension.group_dpo
msgid "Data Protection Officers"
msgstr "Data Protection Officers"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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:"
msgstr ""
"The data subject has the right to ask the person responsible for "
"confirmation of the processing of the personal data concerned; if this is "
"the case, it has a right to information about such personal data and to the "
"following information:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_display_name
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_display_name
msgid "Display Name"
msgstr "Display Name"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_email_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_email_contact
msgid "Email Contact"
msgstr "Email Contact"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_crm_lead_email_link
msgid "Email verification link"
msgstr "Email verification link"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Email:"
msgstr "Email:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_field_list
msgid "Fields Name"
msgstr "Fields Name"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_model_id
msgid "Found in Model"
msgstr "Found in Model"
#. module: itis_gdpr_extension
#: code:addons/itis_gdpr_extension/models/models.py:19
#, python-format
msgid "Found record"
msgstr "Found record"
#. module: itis_gdpr_extension
#: selection:res.partner,contact_type:0
msgid "I do not want to be contacted."
msgstr "I do not want to be contacted."
#. module: itis_gdpr_extension
#: selection:res.partner,contact_type:0
msgid "I only want to be contacted by Email."
msgstr "I only want to be contacted by Email."
#. module: itis_gdpr_extension
#: selection:res.partner,contact_type:0
msgid "I only want to be contacted by Phone."
msgstr "I only want to be contacted by Phone."
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_id
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_id
msgid "ID"
msgstr "ID"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "In the future I want to be contacted by"
msgstr "In the future I want to be contacted by"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.contactus_form_inherited
msgid "Information request concerning data about the personally"
msgstr "Information request concerning data about the personally"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view___last_update
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line___last_update
msgid "Last Modified on"
msgstr "Last Modified on"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_write_uid
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_write_uid
msgid "Last Updated by"
msgstr "Last Updated by"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_write_date
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_write_date
msgid "Last Updated on"
msgstr "Last Updated on"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_crm_lead
msgid "Lead/Opportunity"
msgstr "Lead/Opportunity"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_letter_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_letter_contact
msgid "Letter Contact"
msgstr "Letter Contact"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_name
msgid "Model Name"
msgstr "Model Name"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Name:"
msgstr "Name:"
#. module: itis_gdpr_extension
#: code:addons/itis_gdpr_extension/models/models.py:78
#, python-format
msgid "No record found with ."
msgstr "No record found with ."
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_phone_contact
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_users_phone_contact
msgid "Phone Contact"
msgstr "Phone Contact"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid "Phone:"
msgstr "Phone:"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_record_id
msgid "Record ID"
msgstr "Record ID"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_record_name
msgid "Record Name"
msgstr "Record Name"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "SEARCH"
msgstr "SEARCH"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.dpo_view_tree
msgid "Search Contact"
msgstr "Search Contact"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_search_lines
msgid "Search Result"
msgstr "Search Result"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.search_line_tree_view_itis
msgid "Search Results"
msgstr "Search Results"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_name
msgid "Search Term"
msgstr "Search Term"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_search_line_search_id
#: model:ir.ui.view,arch_db:itis_gdpr_extension.view_dpo_form_view_itis
msgid "Search Terms"
msgstr "Search Terms"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_dpo_view_model_ids
msgid "Search in Model"
msgstr "Search in Model"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.search_line_tree_view_itis
msgid "VIEW RECORD"
msgstr "VIEW RECORD"
#. module: itis_gdpr_extension
#: model:ir.model.fields,field_description:itis_gdpr_extension.field_res_partner_is_verified
#: model:mail.template,subject:itis_gdpr_extension.confirmation_email_template
msgid "Verified Email"
msgstr "Verified Email"
#. module: itis_gdpr_extension
#: model:ir.model.fields,help:itis_gdpr_extension.field_res_partner_contact_type
#: model:ir.model.fields,help:itis_gdpr_extension.field_res_users_contact_type
msgid "Which way user want to be contacted."
msgstr "Which way user want to be contacted."
#. module: itis_gdpr_extension
#: selection:res.partner,contact_type:0
msgid "You can contact me by Email or Phone."
msgstr "You can contact me by Email or Phone."
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
msgstr ""
"a) The processing purposes:<span class=\"T1\"> </span><span class=\"T2\">□ "
"</span><span class=\"T1\">Contact, </span><span class=\"T2\">□ </span><span "
"class=\"T3\">Transactions</span><span class=\"T1\">, </span><span class="
"\"T2\">□ </span><span class=\"T1\">Other </span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
msgstr ""
"b) The categories of personal data being processed: <span class=\"T1\"> <br/"
"></span><span class=\"T2\">□ </span><span class=\"T1\">Customer data, </"
"span><span class=\"T2\">□ </span><span class=\"T1\">Supplier data, </"
"span><span class=\"T2\">□ </span><span class=\"T1\">Prospect data, </"
"span><span class=\"T2\">□ </span><span class=\"T1\">Personal data</span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
msgstr ""
"c) The recipients or categories of recipients to whom the personal data have "
"been disclosed or are yet to be disclosed, in particular to recipients in "
"third countries or to international organizations: <span class=\"T1\"> </"
"span><span class=\"T2\">□ </span>_______________________________<br/> <span "
"class=\"T6\">or</span> <span class=\"T1\"> </span><span class=\"T2\">□ </"
"span><span class=\"T3\">No</span><span class=\"T1\"> disclosure to third "
"parties, </span><span class=\"T2\">□ </span><span class=\"T1\">Not known</"
"span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"d) geplante Dauer, für die die personenbezogenen Daten gespeichert "
"werden: <span class=\"T1\"> </span>"
msgstr ""
"d) Planned duration for which the personal data is stored: <span class="
"\"T1\"> </span>"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_dpo_view
msgid "dpo.view"
msgstr "dpo.view"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
msgstr ""
"e)<span> <span class=\"T2\">□ </span>Right to rectification or deletion of "
"personal data concerned, or <span class=\"T2\">□ </span>Restriction of "
"processing by the controller , or </span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"f) <span> <span class=\"T2\">□ </span>das Bestehen eines Beschwerderechts "
"bei einer Aufsichtsbehörde <span class=\"T5\">besteht</span></span>"
msgstr ""
"f)<span> <span class=\"T2\">□ </span>The existence of a right to complain to "
"a supervisory authority</span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"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>"
msgstr ""
"g) The origin of the data is from <span class=\"T2\">□ </span><span class="
"\"T4\">Own research, </span><span class=\"T2\">□ </span><span class="
"\"T4\">Credit reference agency</span>"
#. module: itis_gdpr_extension
#: model:ir.ui.view,arch_db:itis_gdpr_extension.report_contact_document
msgid ""
"h) <span class=\"T2\">□ </span>eine automatisierte Entscheidungsfindung "
"<span class=\"T7\">mit diesen Daten findet nicht statt. </span>"
msgstr ""
"h) <span class=\"T2\">□ </span>An automated decision-making with this data "
"does not take place."
#. module: itis_gdpr_extension
#: model:mail.template,subject:itis_gdpr_extension.verification_email_template
msgid "mail verification link"
msgstr "mail verification link"
#. module: itis_gdpr_extension
#: model:ir.model,name:itis_gdpr_extension.model_search_line
msgid "search.line"
msgstr "search.line"

4
itis_gdpr_extension/models/__init__.py

@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import models
from . import contact_model

149
itis_gdpr_extension/models/contact_model.py

@ -0,0 +1,149 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, _
from odoo.addons.website_form.controllers import main as parent_controller
from odoo import http
from odoo.http import request
import json
from odoo.exceptions import ValidationError
from psycopg2 import IntegrityError
import base64
class CrmLead(models.Model):
_inherit = "crm.lead"
email_link = fields.Char("Email verification link")
class ResContacts(models.Model):
_inherit = "res.partner"
contact_type = fields.Selection(
[('no_contact', 'I do not want to be contacted.'),
('email_contact', 'I only want to be contacted by Email.'),
('phone_contact', 'I only want to be contacted by Phone.'),
('email_phone_contact', 'You can contact me by Email or Phone.')
], string='Contact Type',
default='email_contact',
help="Which way user want to be contacted.")
letter_contact = fields.Boolean("Letter Contact")
phone_contact = fields.Boolean("Phone Contact")
email_contact = fields.Boolean("Email Contact")
is_verified = fields.Boolean("Verified Email")
last_updated = fields.Datetime("Letzte Aktualisierung")
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'>Der link ist leider nicht gültig.<br/>Der von Ihnen eingegebene Link ist nicht gültig, oder ist abgelaufen.<br/>Bitte fordern Sie einen neuen Link an.</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
template = request.env.ref('itis_gdpr_extension.confirmation_email_template').sudo().send_mail(part.id)
return "<center style='color:green'>Vielen Dank! Ihre E-Mail-Adresse wurde verifiziert!</center>"
else:
return "<center style='color:red'>Der link ist leider nicht gültig.<br/>Der von Ihnen eingegebene Link ist nicht gültig, oder ist abgelaufen.<br/>Bitte fordern Sie einen neuen Link an.</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 = index + 1
contact_name = data.get("record").get("contact_name")
email_from = data.get("record").get("email_from")
#if data.get("record",False):
#partner_records = request.env['res.partner'].sudo().search([('name', '=', contact_name), ('email', '=', email_from)])
#for partner_record in partner_records:
#if partner_record:
#if partner_record.is_verified:
#partner_record.contact_type = contact_type
#partner_record.phone_contact = phone_contact
#partner_record.email_contact = email_contact
#partner_record.letter_contact = letter_contact
#if not partner_record.is_verified:
# need_send_email = True
# 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
template = request.env.ref('itis_gdpr_extension.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})

86
itis_gdpr_extension/models/models.py

@ -0,0 +1,86 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, tools, SUPERUSER_ID, _
from odoo.exceptions import UserError
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'
}
@api.one
def _compute_record_name(self):
for record in self:
record_object = self.env[self.model_id.model].search([('id', '=', int(self.record_id))])
record.record_name = record_object.name
class ItisDpoView(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()
self._cr.commit()
found = False
for model in self.model_ids:
table_name = model.model.replace(".","_")
query = '''select * from '''+table_name+''' where '''
field_list = self.env['ir.model.fields'].search([('model_id.id', '=', model.id),('ttype', 'in', ['char','html','text']),('store', '=', True)])
for field in field_list:
query = query +table_name+'''."'''+ field.name +'''" like '%'''+self.name+'''%' or '''
query = query[:-3]
query = query+''';'''
self._cr.execute(query)
colnames = [desc[0] for desc in self._cr.description]
id_index = colnames.index("id")
rec_id = 0
rows = self._cr.fetchall()
if rows:
for rec in rows:
ind = 0
rec_id = rec[id_index]
founded_col = []
for row in rec:
if str(row).find(self.name) >= 0:
founded_col.append(colnames[ind])
found = True
ind = ind + 1
fields_data = self.env['ir.model.fields'].search([('name', 'in', founded_col),('model_id', '=', model.id)])
field_desc = []
for field in fields_data:
field_desc.append(field.field_description)
create_id = self.env['search.line'].create({"field_list":str(field_desc),"name":model.name,"model_id":int(model.id),"search_id":int(self.id),"record_id":int(rec_id)})
if not found:
raise UserError(_("No record found with "+self.name+"."))
def _search_tables(self):
user_id = self.env['res.users'].browse('email', '=', self.email)
# field user_info could be an array containg the fields we want to display...
partner_id = self.env['res.partner'].browse('email', '=', self.email)
crm_id = self.env['crm.lead'].browse('email', '=', self.email)
mm_id = self.env['mail.mass_mailing'].browse('email', '=', self.email)

8
itis_gdpr_extension/security/gdpr_security.xml

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

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

@ -0,0 +1,3 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
access_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

63
itis_gdpr_extension/static/description/index.html
File diff suppressed because it is too large
View File

BIN
itis_gdpr_extension/static/src/img/itisag.png

After

Width: 84  |  Height: 80  |  Size: 2.5 KiB

87
itis_gdpr_extension/views/contact_report.xml

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
id="report_contact"
string="Contact Report"
model="res.partner"
report_type="qweb-pdf"
file="itis_gdpr_extension.contact_report"
name="itis_gdpr_extension.contact_report"
/>
<template id="contact_report">
<t t-call="web.html_container">
<t t-foreach="docs" t-as="doc">
<t t-call="itis_gdpr_extension.report_contact_document" t-lang="doc.lang"/>
</t>
</t>
</template>
<template id="report_contact_document">
<t t-call="web.external_layout">
<div class="page">
<div class="oe_structure"/>
<h2 class="P8">
<a id="a__Auskunft_nach_Artikel_15_DS-GVO"><span/></a>Auskunft n<span class="T1">ach Artikel 15 DS-GVO</span>
</h2>
<p class="Text_20_body"> </p>
<p class="P1">Auskunft für: <span class="T8"><span t-field="doc.name"/></span></p>
<p class="Text_20_body">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:</p>
<p class="P4">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></p>
<p class="P2">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></p>
<p class="P2">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></p>
<p class="P2">d) geplante Dauer, für die die personenbezogenen Daten gespeichert werden: <span class="T1"> </span></p>
<p class="P4"><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>
</p>
<p class="P2"><span class="T6">Grund</span><span> <span class="T2">□ Kontakt ____ mal nicht erreicht □ Systemwechsel </span></span>
</p>
<p class="P2">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>
</p>
<p class="P2"><span class="T2">oder □ </span>Widerspruchsrecht gegen diese Verarbeitung <span class="T1">besteht</span>; </p>
<p class="P3">f) <span> <span class="T2"></span>das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde <span class="T5">besteht</span></span>
</p>
<p class="P5">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></p>
<p class="P5">h) <span class="T2"></span>eine automatisierte Entscheidungsfindung <span class="T7">mit diesen Daten findet nicht statt. </span></p>
<p class="P5"><span class="T2"></span><span class="T4">Wenn doch: Die Daten werden</span><span class="T7"> nach folgender Art ausgewertet und gruppiert _______________ </span></p>
<p class="P5">(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</p>
<p class="Text_20_body">(3) Der Verantwortliche stellt eine Kopie der personenbezogenen Daten, die Gegenstand der Verarbeitung sind, zur Verfügung: </p>
<p class="P6">
<p t-if="doc.name">
Name:
<span t-field="doc.name"/>
</p>
<p t-if="doc.email">
Email:
<span t-field="doc.email"/>
</p>
<p t-if="doc.phone">
Phone:
<span t-field="doc.phone"/>
</p>
</p>
<p class="P6">
Adresse:
<span t-field="doc.street"/>
<span t-field="doc.zip"/>
<span t-field="doc.city"/>
<span t-field="doc.country_id.name"/>
</p>
<p class="Text_20_body">(4) Das Recht auf Erhalt einer Kopie gemäß Absatz 3 darf die Rechte und Freiheiten anderer<br/>Personen nicht beeinträchtigen.</p>
<p class="Text_20_body"> </p>
<p class="P7">Auskunftsgeber:
<span class="T8">
<span t-field="doc.user_id.name"/>,
<span t-field="doc.user_id.company_id.name"/>,
<span t-field="doc.user_id.company_id.street"/>,
<span t-field="doc.user_id.company_id.zip"/>
<span t-field="doc.user_id.company_id.city"/>
</span>
</p>
</div>
</t>
</template>
</data>
</openerp>

45
itis_gdpr_extension/views/contact_view.xml

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="contactus_form_inherited" name="Contact Form" inherit_id="website_crm.contactus_form" customize_show="True">
<xpath expr="//div[@class='form-group form-field o_website_form_required_custom'][last()]" position="after">
<div class="form-group form-field o_website_form_required_custom">
<label class="col-md-3 col-sm-4 control-label" for="contact_type">In the future I want to be contacted by</label>
<div class="col-md-7 col-sm-8">
<div class="checkbox>"><label><input type="checkbox" name="letter_contact" value="letter_contact"/> Contact by Letter </label></div>
<div class="checkbox>"><label><input type="checkbox" name="email_contact" value="email_contact"/> Contact by E-Mail </label></div>
<div class="checkbox>"><label><input type="checkbox" name="phone_contact" value="phone_contact"/> Contact by Phone </label></div>
<!--<select class="form-control" name="contact_type" id="contact_type">
<option value="no_contact">I do not want to be contacted.</option>
<option value="email_contact">I only want to be contacted by Email.</option>
<option value="phone_contact">I only want to be contacted by Phone.</option>
<option value="email_phone_contact">You can contact me by Email or Phone.</option>
</select>-->
</div>
</div>
<div class="form-group form-field">
<label class="col-md-3 col-sm-4 control-label" for="contact_type">Information request concerning data about the personally</label>
<div class="col-md-7 col-sm-8">
<input type="checkbox" name="send_mail" value="send_mail"/>
</div>
</div>
</xpath>
</template>
<record id="view_partner_form_dsgvo_inherit" model="ir.ui.view">
<field name="name">res.partner.form</field>
<field name="model">res.partner</field>
<field eval="1" name="priority"/>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="website" position="after">
<!--<field name="contact_type" />-->
<field name="phone_contact" readonly="True" />
<field name="email_contact" readonly="True" />
<field name="letter_contact" readonly="True" />
<field name="is_verified" readonly="True" />
<field name="last_updated" readonly="True" />
</field>
</field>
</record>
</odoo>

128
itis_gdpr_extension/views/views.xml

@ -0,0 +1,128 @@
<?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/>
<!--<group>-->
<field name="search_lines"/>
<!--</group>-->
</form>
</field>
</record>
<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>
<!--<record id="view_dpo_search_view_itis" model="ir.ui.view">-->
<!--<field name="name">view.dpo.search.view.itis</field>-->
<!--<field name="model">dpo.view</field>-->
<!--<field name="arch" type="xml">-->
<!--<search string="Search Customers">-->
<!--<field name="partner_id"/>-->
<!--</search>-->
<!--</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="target">new</field>-->
<field name="view_type">form</field>
<!--<field name="help" type="html">-->
<!--<p class="oe_view_nocontent_create">No Content yet!-->
<!--</p>-->
<!--</field>-->
</record>
<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>
<menuitem id="menu_customer_info"
action="action_dpo_view_itis"
name="Contact Search"
parent="contacts.res_partner_menu_config" sequence="3" groups="itis_gdpr_extension.group_dpo"/>
</odoo>
Loading…
Cancel
Save