adjuntos.py 1.69 KB
# -*- coding: utf-8 -*-
from odoo import models, fields, api
import datetime
from datetime import datetime

class hgt_soporte_adjunto(models.Model):
    _name = 'hgt.soporte_adjunto'
    _order = 'id desc'

    name = fields.Char(string='Codigo')
    
    creador = fields.Many2one(
        string = 'Creador',
        comodel_name = 'res.users',
        ondelete = 'set null',
        default = lambda self: self.env.user.id,
    )

    fecha = fields.Datetime(
        string = u'Fecha de envío',
        default=lambda self: datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    )

    incidencia = fields.Many2one(
        comodel_name='hgt.soporte_incidencia', 
        string='Incidencia')
    

    remoto = fields.Boolean(string='Remoto')

    usuario = fields.Char(string='Usuario',
        default=lambda self: self.env.user.display_name,
        readonly=True)

    orden = fields.Integer(string='Archivo')

    file_name = fields.Char(string='Nombre', default='')

    file = fields.Binary(string='Capturas')

    def CodigoBase(self):
        """Codigo que se mostrara en el id de archivo"""
        return("ADJ_LOC")

    def GenerarCodigoArchivo(self):
        self.name = f"""{self.CodigoBase()}_{str(self.id).zfill(5)}"""

    def DescargarArchivo(self):
        vals = {
            "file_name":    self.file_name,
            "file":         self.file,
        }
        adjunto = self.env['soporte.descarga_wiz'].create(vals)
        return {
            'name': "Adjunto",
            'type': 'ir.actions.act_window',
            'res_model': 'soporte.descarga_wiz',
            'view_mode': 'form',
            'view_type': 'form',
            'res_id': adjunto.id,
            'target': 'new',
        }