Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
1339 Visninger

I have three models.

model 1 populasi.unit

id

namelokasi_unit

1

mobil_1I want to put a specific lokasi.name value in here. where populasi_unit.id = unit_mobilisasi.unit_mobilisasi_id

model 2 unit.mobilisasi

id

unit_mobilisasi_idlokasi_mobilisasi_id

mobilisasi_date

1

fields.Many2one('populasi.unit' string='Kode Unit')

fields.Many2one('lokasi', string='Lokasi")fields.Date(string="Mobilisation Date")

model 3 lokasi

id

name
1Singapore
2Belgia
3Canada

this is my model

#Inside unit_populasi.py

from dateutil.relativedelta import relativedelta

from odoo import api, fields, models
 
class PopulasiUnit(models.Model):
    _name = 'populasi.unit'
    _description = 'Populasi Unit'
   
    name = fields.Char(string='Kode Unit', required=True)
    kode_aktiva = fields.Char(string='Kode Aktiva')
    type_equipment = fields.Many2one('unit.type', string='Tipe Equipment')
    unit_model = fields.Many2one('unit.model', string='Unit Model')
    nama_aset = fields.Char(string='Nama Aset')
    plat_nomor = fields.Char(string='Plat Nomor')
    sn_unit = fields.Char(string='Nomor Rangka')
    sn_engine = fields.Char(string='Nomor Mesin')
    tahun_pembelian = fields.Char(string='Tahun Pembelian')
    spesifikasi = fields.Text(string='Spesifikasi')
    pengguna_id = fields.Many2one('hr.employee', string='Pengguna')
    kondisi_unit = fields.Many2one('unit.kondisi', string='Kondisi Unit')
    milik = fields.Many2one('res.company', string='Milik')
    keterangan = fields.Text(string='Keterangan')
    unit_image = fields.Image(string='Gambar unit')
    odometer = fields.Integer(string='Odometer')
    hourmeter = fields.Integer(string='Hour Meter')
    fuel = fields.Integer(string='BBM')
    mobilisasi_line = fields.One2many('unit.mobilisasi', 'unit_mobilisasi_id', string='Lokasi Mobilisasi', ondelete='cascade')
    operasional_line = fields.One2many('unit.operasional', 'unit_operasional_id', string='Operasional Unit', ondelete='cascade')
    lokasi_unit = fields.Many2one('unit.mobilisasi', string='Lokasi Unit')


    @api.model
    def _get_lokasi_mobilisasi(self):
        self._cr.execute("""
                        CREATE OR REPLACE VIEW crm_partner_report_assign AS (
                        SELECT dd.name
                        FROM populasi_unit aa
                        JOIN unit_mobilisasi bb
                        ON aa.id = bb.unit_mobilisasi_id
                        JOIN (SELECT MAX(tanggal_mobilisasi) AS MaxDate
                            FROM unit_mobilisasi
                            GROUP BY unit_mobilisasi_id) cc
                        ON bb.tanggal_mobilisasi = cc.MaxDate AND unit_mobilisasi_id = '1'
                        JOIN lokasi dd
                        ON bb.lokasi_mobilisasi_id = dd.id
                        )""")


       
#inside unit_mobilisasi.py

from odoo import api, fields, models

class UnitMobilisasi(models.Model):
    _name = "unit.mobilisasi"
    _description = "Mobilisasi Unit"
    _order = 'tanggal_mobilisasi desc'

    unit_mobilisasi_id = fields.Many2one('populasi.unit', string='Kode Unit')
    tanggal_mobilisasi = fields.Date(string='Tanggal Mobilisasi')
    lokasi_awal_id = fields.Many2one('lokasi', string='Lokasi Awal')
    lokasi_mobilisasi_id = fields.Many2one('lokasi', string='Lokasi Kirim')
    image_mobilisasi = fields.Image(string="Gambar Mobilisasi")
    unit_image = fields.Image(string='Gambar unit')
   

#inside lokasi.py

from odoo import api, fields, models

class Lokasi(models.Model):
    _name = 'lokasi'
    _description = 'Lokasi'

    name = fields.Char(string='Lokasi')


Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
3
sep. 25
3129
0
aug. 25
675
1
aug. 25
2840
2
jul. 25
8507
2
jul. 25
4908