# Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import fields, models class DocumentsAccountFolderSetting(models.Model): _name = 'documents.account.folder.setting' _description = 'Journal and Folder settings' company_id = fields.Many2one('res.company', required=True, default=lambda self: self.env.company, ondelete='cascade') company_account_folder_id = fields.Many2one(related='company_id.account_folder_id') journal_id = fields.Many2one('account.journal', required=True, ondelete='cascade') folder_id = fields.Many2one( 'documents.document', string="Folder", required=True, domain=lambda self: [ ('type', '=', 'folder'), ('shortcut_document_id', '=', False), ('id', 'child_of', self.env.company.account_folder_id.ids), '|', ('company_id', '=', False), ('company_id', '=', self.env.company.id) ], ) tag_ids = fields.Many2many('documents.tag', string="Tags") _journal_unique = models.Constraint( 'unique (journal_id)', "A setting already exists for this journal", )