You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.9 KiB
59 lines
1.9 KiB
# 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 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)
|
|
|
|
|
|
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,
|
|
)
|