Files
odoo_source/addons/pad_project/models/project.py
T
Nicolas Martinelli 4badf49ad0 [FIX] pad, pad_project, note_pad: duplicate object
The duplication of a task crashes at the following:
`content = myPad.getHtml(path).get('html', '')`

The copy mechanism is quite cumbersome:
- In `copy` method, generate an URL of a pad which doesn't exist since
  `object_id` is still undefined.
- The `create` method somehow attempts to fill in the previously created
  pad thanks to `_set_pad_value`.

The logic is made simpler. The pad URL field is set as `copy=False`,
therefore the create mechanism will take care of handling the pad
creation and its synchronization.

opw-1818757
2018-03-05 08:42:11 +01:00

27 lines
1.0 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class ProjectTask(models.Model):
_name = "project.task"
_inherit = ["project.task", 'pad.common']
description_pad = fields.Char('Pad URL', pad_content_field='description', copy=False)
use_pad = fields.Boolean(related="project_id.use_pads", string="Use collaborative pad")
@api.model
def create(self, vals):
# When using quick create, the project_id is in the context, not in the vals
project_id = vals.get('project_id', False) or self.default_get(['project_id'])['project_id']
if not self.env['project.project'].browse(project_id).use_pads:
self = self.with_context(pad_no_create=True)
return super(ProjectTask, self).create(vals)
class ProjectProject(models.Model):
_inherit = "project.project"
use_pads = fields.Boolean("Use collaborative pads", help="Use collaborative pad for the tasks on this project.")