Ajuda

0

Does anyone know how to change date when the date already expired ? maybe constructor or anything ...

Avatar
Juan Felix

from odoo import models, fields,api, _


class SwalayanStockBarang(models.Model):

    _name='swalayan.stock_barang'

    _inherit = ['mail.thread', 'mail.activity.mixin'] #untuk membuat bot chatter / chat history yg dilakukan

    _description = 'Stock Barang'

    _rec_name = 'nama_barang'


    nama_barang = fields.Many2one('swalayan.barang',string="Nama Barang", required=True)

    jumlah_barang = fields.Integer(string="Jumlah Barang", required=True, default=0)

    state = fields.Selection([

        ('layak_konsumsi', 'Layak Konsumsi'),

        ('kedaluwarsa', 'Kedaluwarsa'),

        ('habis','Habis'),

        ('hampir_habis','Hampir Habis')

    ], default='layak_konsumsi', string="Status Barang")

    tanggal_pemesanan_barang = fields.Date(string="Tanggal Pesan")

    tanggal_kedaluwarsa = fields.Date(string="Tanggal Kedaluwarsa")

    jumlah_total = fields.Integer(string="Jumlah Barang", required=True, default=0, compute="total_barang")


    # def __init__(self, args, kwargs):

    #     print("test")

    #     self.args = args

    #     self.kwargs = kwargs

    #     for rec in self:

    #         if rec.tanggal_kedaluwarsa<rec.tanggal_pemesanan_barang:

    #             rec.state = 'kedaluwarsa'

    @api.depends('state', 'jumlah_barang')

    def total_barang(self):

        for rec in self:

            if rec.state != "habis" or rec.state != 'kedaluwarsa':

                rec.jumlah_total = rec.jumlah_total + rec.jumlah_barang

    #HERE

    @api.multi

    @api.depends('tanggal_pemesanan_barang','tanggal_kedaluwarsa')

    @api.onchange('tanggal_pemesanan_barang','tanggal_kedaluwarsa')

    def ganti_status(self):

        print("masuk")

        for rec in self:

            if rec.tanggal_kedaluwarsa<rec.tanggal_pemesanan_barang:

                rec.state = 'kedaluwarsa'

Avatar
Descartar