Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC
This commit is contained in:
86
dms/models/res_company.py
Normal file
86
dms/models/res_company.py
Normal file
@ -0,0 +1,86 @@
|
||||
# Copyright 2020 Creu Blanca
|
||||
# Copyright 2017-2019 MuK IT GmbH
|
||||
# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com).
|
||||
# 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 ResCompany(models.Model):
|
||||
_inherit = "res.company"
|
||||
|
||||
documents_onboarding_state = fields.Selection(
|
||||
selection=[
|
||||
("not_done", "Not done"),
|
||||
("just_done", "Just done"),
|
||||
("done", "Done"),
|
||||
("closed", "Closed"),
|
||||
],
|
||||
default="not_done",
|
||||
)
|
||||
documents_onboarding_storage_state = fields.Selection(
|
||||
selection=[
|
||||
("not_done", "Not done"),
|
||||
("just_done", "Just done"),
|
||||
("done", "Done"),
|
||||
("closed", "Closed"),
|
||||
],
|
||||
default="not_done",
|
||||
)
|
||||
documents_onboarding_directory_state = fields.Selection(
|
||||
selection=[
|
||||
("not_done", "Not done"),
|
||||
("just_done", "Just done"),
|
||||
("done", "Done"),
|
||||
("closed", "Closed"),
|
||||
],
|
||||
default="not_done",
|
||||
)
|
||||
documents_onboarding_file_state = fields.Selection(
|
||||
selection=[
|
||||
("not_done", "Not done"),
|
||||
("just_done", "Just done"),
|
||||
("done", "Done"),
|
||||
("closed", "Closed"),
|
||||
],
|
||||
default="not_done",
|
||||
)
|
||||
|
||||
# Functions
|
||||
def get_and_update_documents_onboarding_state(self):
|
||||
step_states = [
|
||||
"documents_onboarding_storage_state",
|
||||
"documents_onboarding_directory_state",
|
||||
"documents_onboarding_file_state",
|
||||
]
|
||||
onboarding_state = "documents_onboarding_state"
|
||||
old_values = {}
|
||||
all_done = True
|
||||
|
||||
for step_state in step_states:
|
||||
old_values[step_state] = self[step_state]
|
||||
if self[step_state] == "just_done":
|
||||
self[step_state] = "done"
|
||||
all_done = all_done and self[step_state] == "done"
|
||||
|
||||
if all_done:
|
||||
old_values[onboarding_state] = (
|
||||
"just_done" if self[onboarding_state] == "not_done" else "done"
|
||||
)
|
||||
self[onboarding_state] = "done"
|
||||
|
||||
return old_values
|
||||
|
||||
# Actions
|
||||
@api.model
|
||||
def action_close_documents_onboarding(self):
|
||||
self.env.user.company_id.documents_onboarding_state = "closed"
|
||||
|
||||
def set_onboarding_step_done(self, step):
|
||||
self.ensure_one()
|
||||
if self[step] == "not_done":
|
||||
self[step] = "just_done"
|
||||
Reference in New Issue
Block a user