from odoo import models, fields, api, _
from odoo.exceptions import UserError
from odoo.tools import DEFAULT_SERVER_DATE_FORMAT
from datetime import datetime
class RepositoryVersion(models.Model):
_name = 'certification.repository_version'
sequence = fields.Integer('Sequence')
name = fields.Char(string='Version', required=True)
repository_id = fields.Many2one('certification.repository', string='Repository')
date_application = fields.Date(string='Date Application')
removal_date = fields.Date(string="Removal Date")
version_status_id = fields.Many2one(comodel_name="certification.version_status" , string="State")
min_point = fields.Integer(string='Points Threshold')
status = fields.Selection([('draft', 'Draft'), ('active', 'Active'), ('expired', 'Expired')],string='Status', store=True, default='draft')
theme_ids = fields.Many2many(comodel_name="certification.repository_theme",
relation="repo_version_theme", string="Themes")
certification_ids = fields.One2many("certification.certification","version_repo_id",string="Certification",)
repository_point_ids = fields.One2many('certification.repository_point', 'version_repo_id', string="Repository Points")
url = fields.Char(string="Repository version URL")
repository_id_protocol = fields.Char()
version_status_protocol = fields.Char()
point_protocol = fields.Char(string="Threshold How")
requirement_group_ids = fields.Many2many(comodel_name='certification.repository_requirement_group', relation='repository_version_requirement_group', string='Requirement Group')
_sql_constraints = [('unique_label_repository_combination', 'unique(repository_id, label_version_id)','Combination of Repository, and Label Version must be unique!'),]
@api.constrains('label_version_id', 'profil_version_id')
def _check_label_profil_version(self):
for record in self:
if record.label_version_id and record.repository_id:
existing_records = self.search([
('id', '!=', self.version_status_id.id,
'date_application': self.date_application,
'removal_date': self.removal_date,
'min_point': self.min_point,
}
return new_data
def copy(self, default=None):
""" Overriding Odoo's copy method """
default = dict(default or {})
default.update(self._copy_data())
view_id = self.env.ref('certification_app.view_wizard_repository_version_form').id
return {
'name': _('Duplicate Repository Version'),
'type': 'ir.actions.act_window',
'view_mode': 'form',
'view_id': view_id, # We'll set this dynamically in the action
'res_model': 'repository.version.wizard',
'target': 'new',
'context': {
},
}
class WizardRepositoryVersion(models.TransientModel):
_name = 'repository.version.wizard'
name = fields.Char()
repository_id = fields.Many2one('certification.repository', string='Repository')
def action_confirm(self):
self.ensure_one()
return {'type': 'ir.actions.act_window_close'}
i want to add a wizard into copy function but i have this eror instead
AttributeError: 'dict' object has no attribute 'id'