odex25_standard/odex25_benefit/odex_benefit/wizards/exception_wizard.py

54 lines
2.5 KiB
Python

# -*- coding: utf-8 -*-
from odoo import models, fields
class ExceptionWizard(models.TransientModel):
_name = 'exception.wizard'
_description = "Exception Wizard"
def _default_entity(self):
if self._context.get('active_model') == 'grant.benefit':
return self._context.get('active_id')
def _default_member(self):
if self._context.get('active_model') == 'family.member':
return self._context.get('active_id')
def _default_state(self):
return self._context.get('state')
entity_id = fields.Many2one("grant.benefit", string="Entity", default=_default_entity)
member_id = fields.Many2one("family.member", string="Member", default=_default_member)
exception_reason = fields.Many2one('exception.reason',string='Exception Reason')
exception_description = fields.Text(string='Exception Description')
exception_type = fields.Selection(selection=[('temporarily_exception', 'Temporarily Exception'), ('permanent_exception', 'Permanent Exception')], string="Exception Type",default='temporarily_exception')
exception_attachment = fields.Binary(string='Exception Attachment',attachment = True)
exception_start_date = fields.Datetime(string='Exception Start Date')
exception_end_date = fields.Datetime(string='Exception End Date')
def action_submit(self):
for rec in self:
rec.entity_id.state = 'waiting_approve'
rec.entity_id.action_type = 'exception'
rec.entity_id.exception_start_date = rec.exception_start_date
rec.entity_id.exception_end_date = rec.exception_end_date
rec.entity_id.exception_reason = rec.exception_reason
rec.entity_id.exception_description = rec.exception_description
rec.entity_id.exception_type = rec.exception_type
rec.entity_id.exception_attachment = rec.exception_attachment
def action_member_submit(self):
for rec in self:
rec.member_id.state_a = 'waiting_approve'
rec.member_id.state = 'waiting_approve'
rec.member_id.action_type = 'exception'
rec.member_id.exception_start_date = rec.exception_start_date
rec.member_id.exception_end_date = rec.exception_end_date
rec.member_id.exception_reason = rec.exception_reason
rec.member_id.exception_description = rec.exception_description
rec.member_id.exception_type = rec.exception_type
rec.member_id.exception_attachment = rec.exception_attachment