forked from Mapan/odoo17e
36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details
|
|
|
|
from odoo import models, fields, api, _
|
|
|
|
|
|
class CreateTask(models.TransientModel):
|
|
_inherit = 'helpdesk.create.fsm.task'
|
|
|
|
allow_worksheets = fields.Boolean(related='project_id.allow_worksheets')
|
|
worksheet_template_id = fields.Many2one(
|
|
'worksheet.template', string='Worksheet Template',
|
|
compute='_compute_worksheet_template_id', readonly=False, store=True, domain="[('res_model', '=', 'project.task')]")
|
|
|
|
@api.model
|
|
def default_get(self, fields_list):
|
|
defaults = super(CreateTask, self).default_get(fields_list)
|
|
project_id = defaults.get('project_id')
|
|
if project_id:
|
|
project = self.env['project.project'].browse(project_id)
|
|
defaults['worksheet_template_id'] = project.worksheet_template_id.id
|
|
return defaults
|
|
|
|
def _generate_task_values(self):
|
|
values = super(CreateTask, self)._generate_task_values()
|
|
if self.allow_worksheets:
|
|
values.update({'worksheet_template_id': self.worksheet_template_id.id})
|
|
return values
|
|
|
|
@api.depends('project_id')
|
|
def _compute_worksheet_template_id(self):
|
|
with_projects = self.filtered('project_id')
|
|
(self - with_projects).worksheet_template_id = False
|
|
for wizard in with_projects:
|
|
wizard.worksheet_template_id = wizard.project_id.worksheet_template_id
|