from odoo import fields, models


class XenoOrrAskBack(models.Model):
    """Section 10's "Ask Back": Management requesting return of some/all of
    an already-reimbursed amount. One row per ask-back request; a single
    reimbursement can have more than one over time."""

    _name = "xeno.orr.ask.back"
    _description = "Outside Request Reimbursement Ask Back"
    _order = "request_date desc"

    reimbursement_id = fields.Many2one(
        "xeno.orr.reimbursement", required=True, ondelete="cascade", index=True)
    request_id = fields.Many2one(
        related="reimbursement_id.request_id", string="Outside Request", store=True)
    employee_id = fields.Many2one(
        related="reimbursement_id.request_id.employee_id", string="Employee", store=True)
    amount = fields.Float(required=True)
    reason = fields.Text(required=True)
    requested_by = fields.Many2one("res.users", required=True, default=lambda self: self.env.user)
    request_date = fields.Datetime(default=fields.Datetime.now, readonly=True)
