Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC
This commit is contained in:
59
dms/models/tag.py
Normal file
59
dms/models/tag.py
Normal file
@ -0,0 +1,59 @@
|
||||
# Copyright 2020 RGB Consulting
|
||||
# Copyright 2017-2019 MuK IT GmbH
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
||||
|
||||
import logging
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Tag(models.Model):
|
||||
_name = "dms.tag"
|
||||
_description = "Document Tag"
|
||||
|
||||
name = fields.Char(required=True, translate=True)
|
||||
active = fields.Boolean(
|
||||
default=True,
|
||||
help="The active field allows you " "to hide the tag without removing it.",
|
||||
)
|
||||
category_id = fields.Many2one(
|
||||
comodel_name="dms.category",
|
||||
context={"dms_category_show_path": True},
|
||||
string="Category",
|
||||
ondelete="set null",
|
||||
)
|
||||
color = fields.Integer(string="Color Index", default=10)
|
||||
directory_ids = fields.Many2many(
|
||||
comodel_name="dms.directory",
|
||||
relation="dms_directory_tag_rel",
|
||||
column1="tid",
|
||||
column2="did",
|
||||
string="Directories",
|
||||
readonly=True,
|
||||
)
|
||||
file_ids = fields.Many2many(
|
||||
comodel_name="dms.file",
|
||||
relation="dms_file_tag_rel",
|
||||
column1="tid",
|
||||
column2="fid",
|
||||
string="Files",
|
||||
readonly=True,
|
||||
)
|
||||
count_directories = fields.Integer(compute="_compute_count_directories")
|
||||
count_files = fields.Integer(compute="_compute_count_files")
|
||||
|
||||
_sql_constraints = [
|
||||
("name_uniq", "unique (name, category_id)", "Tag name already exists!"),
|
||||
]
|
||||
|
||||
@api.depends("directory_ids")
|
||||
def _compute_count_directories(self):
|
||||
for rec in self:
|
||||
rec.count_directories = len(rec.directory_ids)
|
||||
|
||||
@api.depends("file_ids")
|
||||
def _compute_count_files(self):
|
||||
for rec in self:
|
||||
rec.count_files = len(rec.file_ids)
|
||||
Reference in New Issue
Block a user