forked from Mapan/odoo17e
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from . import models
|
|
|
|
|
|
def _documents_fsm_post_init(env):
|
|
fsm_projects = env["project.project"].search([("is_fsm", "=", True), ("use_documents", "=", True)])
|
|
|
|
# Search for folders that are descendants of fsm_projects folders and have documents
|
|
subfolders_with_documents = env["documents.folder"].search([
|
|
("id", "child_of", fsm_projects.documents_folder_id.ids),
|
|
("document_ids", "!=", False),
|
|
])
|
|
|
|
folders_with_non_empty_subfolders = {
|
|
folder.id
|
|
for folder in fsm_projects.documents_folder_id
|
|
if any(
|
|
subfolder.parent_path.startswith(folder.parent_path)
|
|
for subfolder in subfolders_with_documents
|
|
)
|
|
}
|
|
|
|
for project in fsm_projects:
|
|
if project.document_count == 0:
|
|
project.use_documents = False
|
|
|
|
project_folder = project.documents_folder_id
|
|
if (
|
|
project_folder.document_count == 0
|
|
and project_folder.id not in folders_with_non_empty_subfolders
|
|
):
|
|
project.documents_folder_id.unlink()
|
|
else:
|
|
project.documents_folder_id = False
|