Browse Source

Merge pull request #6 from dreispt/10.0-add-base

[10.0] Port `privacy` module
pull/12/head
Pedro M. Baeza 7 years ago
committed by GitHub
parent
commit
231f45465d
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 36
      .gitignore
  2. 50
      .travis.yml
  3. 7
      README.md
  4. 13
      oca_dependencies.txt
  5. 21
      privacy/README.rst
  6. 1
      privacy/__init__.py
  7. 20
      privacy/__manifest__.py
  8. 2
      privacy/readme/CONTRIBUTORS.rst
  9. 2
      privacy/readme/DESCRIPTION.rst
  10. 2
      privacy/readme/USAGE.rst
  11. 25
      privacy/security/data_protection.xml
  12. BIN
      privacy/static/description/icon.png
  13. 115
      privacy/static/description/icon.svg
  14. 55
      privacy/views/data_protection_menu_view.xml

36
.gitignore

@ -5,6 +5,24 @@ __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/
@ -21,6 +39,7 @@ var/
*.egg-info/ *.egg-info/
.installed.cfg .installed.cfg
*.egg *.egg
*.eggs
# Installer logs # Installer logs
pip-log.txt pip-log.txt
@ -36,10 +55,23 @@ 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
@ -55,5 +87,5 @@ docs/_build/
*~ *~
*.swp *.swp
# OSX Files
*.DS_Store
# OCA rules
!static/lib/

50
.travis.yml

@ -10,71 +10,25 @@ python:
addons: addons:
apt: apt:
# sources:
# Search your sources alias here:
# https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
packages: packages:
- expect-dev # provides unbuffer utility
- python-lxml # because pip installation is slow
- expect-dev
- python-lxml
- python-simplejson - python-simplejson
- python-serial - python-serial
- python-yaml - python-yaml
# Search your packages here:
# https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
# For wkhtmltopdf, see the env section below
# Sometimes complicated website repos need Compass & SaSS:
#before_install:
# - rvm install ruby --latest
# - gem install bootstrap-sass
# - gem install compass --pre
env: env:
global: global:
- VERSION="10.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0" - VERSION="10.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0"
# Set this variable to some version existing as linux-generic build on
# https://github.com/wkhtmltopdf/wkhtmltopdf/releases
# if you need to install wkhtmltopdf
# - WKHTMLTOPDF_VERSION="0.12.4"
# Set the above to install a `wkhtmltopdf` version that is not the one provided
# by the `pov-wkhtmltopdf` repo.
- PHANTOMJS_VERSION="latest" - PHANTOMJS_VERSION="latest"
# The above line controls the PhantomJS version that is used for JS testing.
# It is not necessary to include this value unless you are altering the default.
# Use `OS` to skip the PhantomJS upgrade & use the system version instead.
- WEBSITE_REPO="1" - WEBSITE_REPO="1"
# Use the above line to install dependencies that are required for website repos:
# * SASS & Bootstrap-SASS
# * Compass
- TRANSIFEX_USER='transbot@odoo-community.org' - TRANSIFEX_USER='transbot@odoo-community.org'
# This line contains the encrypted transifex password
# To encrypt transifex password, install travis ruby utils with:
# $ gem install travis --user-install
# and use:
# $ travis encrypt TRANSIFEX_PASSWORD=your-password -r owner/project
# Secure list for current OCA projects is in https://github.com/OCA/maintainer-quality-tools/issues/194
- secure: yHr0UC45NBliMtTpZCYhNc2BdRgiHtXSQKBejHHWw2MXvOogZ+JqdwuqCPbHeP3NIKJYruUpYzXNdqCGP4Vll4xueSsA8CzeFp+gdJqxK6Z+gZiUZJ4W+vqckt2Q6YfdfqIGV8csNEUITCdidarGFSI/3EmDV1xl7Kkq8IMaIhUgd29MQ/R4CzCVcXfdZiN/mXZG7Ta1mLilcZwO7wlVed5IDsOJzXXglkQIYUbp73IraZsp9euXnO7pu+OQz19FuAJWOcPFV7Mgg0cPq+6fU+7lqyAdoj6d5NFrUpjKYbuT88L8wFrto4k0AHXLtL7cl+KNYahXNtnIvfnKNIwJ2lDN61I024mx4f8TQ7PNvSfv+nEdy0KVVk7rlw/JgudWEZFNIjlLYSGn6xdQVgiTrY53GEr9ASd4e/ELdfrNmHUw2JdOM1sg7GA4uwjAoNsF2IMfuvQJyhJRqEXowt9PKEL0ww4uVpxrwZLNWfV+oVvw3iV+QtV9dO18/LMBOXRj/DnfjZ3HVLim4WqjbpsgP5biiCRxKOqeBv+8D3jRcDTK56G8KX9+HnJAhLct/r+DragLufE2yoMCnMHH9AbhyI2omOVM7RoQ9+7PJhsR9ipsifGD+5Xi14sRxOCLPy5yV27FuzwwLkiBowkqeuUaS57DqrRlBjIJK8+Ea53xr14= - secure: yHr0UC45NBliMtTpZCYhNc2BdRgiHtXSQKBejHHWw2MXvOogZ+JqdwuqCPbHeP3NIKJYruUpYzXNdqCGP4Vll4xueSsA8CzeFp+gdJqxK6Z+gZiUZJ4W+vqckt2Q6YfdfqIGV8csNEUITCdidarGFSI/3EmDV1xl7Kkq8IMaIhUgd29MQ/R4CzCVcXfdZiN/mXZG7Ta1mLilcZwO7wlVed5IDsOJzXXglkQIYUbp73IraZsp9euXnO7pu+OQz19FuAJWOcPFV7Mgg0cPq+6fU+7lqyAdoj6d5NFrUpjKYbuT88L8wFrto4k0AHXLtL7cl+KNYahXNtnIvfnKNIwJ2lDN61I024mx4f8TQ7PNvSfv+nEdy0KVVk7rlw/JgudWEZFNIjlLYSGn6xdQVgiTrY53GEr9ASd4e/ELdfrNmHUw2JdOM1sg7GA4uwjAoNsF2IMfuvQJyhJRqEXowt9PKEL0ww4uVpxrwZLNWfV+oVvw3iV+QtV9dO18/LMBOXRj/DnfjZ3HVLim4WqjbpsgP5biiCRxKOqeBv+8D3jRcDTK56G8KX9+HnJAhLct/r+DragLufE2yoMCnMHH9AbhyI2omOVM7RoQ9+7PJhsR9ipsifGD+5Xi14sRxOCLPy5yV27FuzwwLkiBowkqeuUaS57DqrRlBjIJK8+Ea53xr14=
# Use the following lines if you need to manually change the transifex project slug or/and the transifex organization.
# The default project slug is owner-repo_name-version (with dash in the version string).
# The default organization is the owner of the repo.
# The default fill up resources (TM) is True.
# The default team is 23907. https://www.transifex.com/organization/oca/team/23907/
# - TRANSIFEX_PROJECT_SLUG=
# - TRANSIFEX_ORGANIZATION=
# - TRANSIFEX_FILL_UP_RESOURCES=
# - TRANSIFEX_TEAM=
matrix: matrix:
- LINT_CHECK="1" - LINT_CHECK="1"
- TRANSIFEX="1" - TRANSIFEX="1"
- TESTS="1" ODOO_REPO="odoo/odoo" - TESTS="1" ODOO_REPO="odoo/odoo"
- TESTS="1" ODOO_REPO="OCA/OCB" - TESTS="1" ODOO_REPO="OCA/OCB"
# 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
# be installed in the same database. And you get a huge speed penalty in your
# tests)
# - TESTS="1.0" ODOO_REPO="odoo/odoo" UNIT_TEST="1"
# - TESTS="1.0" ODOO_REPO="OCA/OCB" UNIT_TEST="1"
virtualenv: virtualenv:
system_site_packages: true system_site_packages: true

7
README.md

@ -6,6 +6,13 @@
Odoo modules for data protection (like GDPR). Odoo modules for data protection (like GDPR).
[//]: # (addons) [//]: # (addons)
Available addons
----------------
addon | version | summary
--- | --- | ---
[privacy](privacy/) | 9.0.1.0.0 | Provides data privacy and protection features to comply to regulations, such as GDPR.
[//]: # (end addons) [//]: # (end addons)
---- ----

13
oca_dependencies.txt

@ -1,15 +1,4 @@
# List the OCA project dependencies, one per line # List the OCA project dependencies, one per line
# Add a repository url and branch if you need a forked version # Add a repository url and branch if you need a forked version
# #
# Examples
# ========
#
# To depend on the standard version of sale-workflow, use:
# sale-workflow
#
# To explicitely give the URL of a fork, and still use the version specified in
# .travis.yml, use:
# sale-workflow https://github.com/OCA/sale-workflow
#
# To provide both the URL and a branch, use:
# sale-workflow https://github.com/OCA/sale-workflow branchname
reporting-engine

21
privacy/README.rst

@ -0,0 +1,21 @@
**This file is going to be generated by oca-gen-addon-readme.**
*Manual changes will be overwritten.*
Please provide content in the ``readme`` directory:
* **DESCRIPTION.rst** (required)
* INSTALL.rst (optional)
* CONFIGURE.rst (optional)
* **USAGE.rst** (optional, highly recommended)
* DEVELOP.rst (optional)
* ROADMAP.rst (optional)
* HISTORY.rst (optional, recommended)
* **CONTRIBUTORS.rst** (optional, highly recommended)
* CREDITS.rst (optional)
Content of this README will also be drawn from the addon manifest,
from keys such as name, authors, maintainers, development_status,
and license.
A good, one sentence summary in the manifest is also highly recommended.

1
privacy/__init__.py

@ -0,0 +1 @@
# -*- coding: utf-8 -*-

20
privacy/__manifest__.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Copyright 2018 Eficent Business and IT Consulting Services S.L.
# License AGPL-3 - See http://www.gnu.org/licenses/agpl-3.0.html
{
'name': 'Data Privacy and Protection',
'version': '10.0.1.0.0',
'category': 'Data Protection',
'summary': 'Provides data privacy and protection features '
'to comply to regulations, such as GDPR.',
'author': "Eficent, "
"Odoo Community Association (OCA)",
'website': 'http://www.github.com/OCA/data-protection',
'license': 'AGPL-3',
'data': [
'security/data_protection.xml',
'views/data_protection_menu_view.xml',
],
'installable': True,
'application': True,
}

2
privacy/readme/CONTRIBUTORS.rst

@ -0,0 +1,2 @@
* Miquel Raïch <miquel.raich@eficent.com>
* Daniel Reis <dreis.pt@hotmail.com>

2
privacy/readme/DESCRIPTION.rst

@ -0,0 +1,2 @@
This application provides data protection and privacy feature,
to comply with regulations such as GDPR.

2
privacy/readme/USAGE.rst

@ -0,0 +1,2 @@
In the "Data Protection", open the "Settings" menu to find and enable
the main features available.

25
privacy/security/data_protection.xml

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L.
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
<odoo>
<data noupdate="0">
<record model="ir.module.category" id="module_category_data_protection">
<field name="name">Data Protection</field>
<field name="sequence">30</field>
</record>
<record id="group_data_protection_user" model="res.groups">
<field name="name">Data Protection User</field>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="category_id" ref="module_category_data_protection"/>
</record>
<record id="group_data_protection_manager" model="res.groups">
<field name="name">Data Protection Manager</field>
<field name="implied_ids" eval="[(4, ref('privacy.group_data_protection_user'))]"/>
<field name="category_id" ref="module_category_data_protection"/>
</record>
</data>
</odoo>

BIN
privacy/static/description/icon.png

After

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

115
privacy/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>

55
privacy/views/data_protection_menu_view.xml

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2018 Eficent Business and IT Consulting Services S.L.
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
<odoo>
<data>
<record id="action_data_protection_partner_form" model="ir.actions.act_window">
<field name="name">Partners</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="filter" eval="True"/>
</record>
<menuitem id="parent_menu_data_protection"
name="Privacy"
groups="group_data_protection_user"
web_icon="privacy,static/description/icon.png"
/>
<menuitem id="menu_data_protection_master_data"
name="Master Data"
parent="parent_menu_data_protection"
groups="group_data_protection_user"
sequence="10"
/>
<menuitem id="menu_data_protection_partner"
name="Partners"
parent="menu_data_protection_master_data"
action="action_data_protection_partner_form"
sequence="1010"
/>
<menuitem id="menu_data_protection_transaction"
name="Transactions"
parent="parent_menu_data_protection"
groups="group_data_protection_user"
sequence="20"
/>
<menuitem id="menu_data_protection_report"
name="Reports"
parent="parent_menu_data_protection"
groups="group_data_protection_user"
sequence="30"
/>
<menuitem id="menu_data_protection_setting"
name="Settings"
parent="parent_menu_data_protection"
groups="group_data_protection_manager"
sequence="90"
/>
</data>
</odoo>
Loading…
Cancel
Save