summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/user_form_merchant.py
blob: a804e93fa4484ee79227af663a9d1c4675e25b1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
from odoo import models, fields, api
from odoo.exceptions import UserError
from odoo.http import request


class UserFormMerchant(models.Model):
    _name = 'user.form.merchant'
    _inherit = ['mail.thread', 'mail.activity.mixin']

    name = fields.Char(string='Name')
    # informasi peruhsaan
    name_merchant = fields.Char(string='Name')
    pejabat_name = fields.Char(string='Pejabat Name')
    pic_merchant = fields.Char(string='PIC Merchant')
    pic_position = fields.Char(string='Jabatan PIC')
    partner_id = fields.Many2one('res.partner', string='Company')
    address = fields.Char(string='Alamat')
    state = fields.Many2one('res.country.state', string='State')
    city = fields.Many2one('vit.kota', string='Kota')
    district = fields.Many2one('vit.kecamatan', string='Kecamatan')
    subDistrict = fields.Many2one('vit.kelurahan', string='Kelurahan')
    zip = fields.Char(string='Kode Pos')
    bank_name = fields.Char(string='Nama Bank')
    rekening_name = fields.Char(string='Nama Rekening')
    account_number = fields.Char(string='Nomor Rekening Bank')
    email_company = fields.Char(string='Email Perusahaan')
    email_sales = fields.Char(string='Email Sales')
    email_finance = fields.Char(string='Email Finance')
    phone = fields.Char(string='No. Telepon Perusahaan')
    mobile = fields.Char(string='No. Handphone')
    bisnis_type = fields.Selection([
        ('1', 'PT'),
        ('2', 'CV'),
        ('3', 'Perorangan'),
    ])
    website = fields.Char(string='Website')
    category_perusahaan = fields.Selection([
        ('1', 'Principal (Pemegang merk/Produsen)'),
        ('2', 'Sole Distributor (Distributor Tunggal)'),
        ('3', 'Authorized Distributor (Distributor Resmi)'),
        ('4', 'Importer (Pengimpor Barang)'),
        ('5', 'Wholesaler (Pedagang Besar)'),
    ])
    description = fields.Text(string='Deskripsi')

    # imformasi Vendor
    harga_tayang = fields.Char(string='Harga Tayang (HET)')
    category_produk_ids = fields.Many2many('product.public.category', string='Kategori Produk yang Digunakan',
                                           domain=lambda self: self._get_default_category_domain())

    @api.model
    def _get_default_category_domain(self):
        return [('parent_id', '=', False)]

    merk_dagang = fields.Char(string='Merk Dagang')
    is_pengajuan_tempo = fields.Boolean(string='Apakah anda memiliki Form Pengajuan Tempo?')
    tempo_duration = fields.Many2one('account.payment.term', string='Durasi Tempo')
    kredit_limit = fields.Char(string='Kredit Limit')
    waktu_pengiriman = fields.Char(string='Waktu Pengiriman')
    terhitung_sejak = fields.Selection([
        ('1', 'Terima PO'),
        ('2', 'Barang Dikirimkan'),
        ('3', 'Tukar Faktur'),
    ])

    # syarat dagang
    is_kembali_barang = fields.Char(string='Syarat Pengembalian Barang')
    tenggat_waktu = fields.Char(string='Tenggat Waktu Perubahan Harga')
    sertifikat_produk = fields.Char(string='Dokumen/Sertifikat yang Dimiliki Oleh Brand')
    custom_sertifikat_produk = fields.Char(string='Dokumen/Sertifikat Lainnya')
    tempo_garansi = fields.Selection([
        ('1', '6 Bulan Garansi'),
        ('2', '1 Tahun Garansi'),
        ('3', '2 Tahun Garansi'),
    ])
    explain_garansi = fields.Char(string='Garansi Yang Dimaksudkan')
    is_order_quantity = fields.Char(string='Apakah Memiliki Minimum Order Quantity (MOQ)')

    # dokumen
    file_npwp = fields.Many2one('ir.attachment', string="NPWP Perusahaan", tracking=3)
    file_sppkp = fields.Many2one('ir.attachment', string="SPPKP Perusahaan", tracking=3)
    file_dokumenKtpDirut = fields.Many2one('ir.attachment', string="KTP Dirut/Direktur", tracking=3)
    file_kartuNama = fields.Many2one('ir.attachment',  string="Kartu Nama", tracking=3)
    file_suratPernyataan = fields.Many2one('ir.attachment', string="Surat Pernyataan Nomor Rekening", tracking=3)
    file_fotoKantor = fields.Many2one('ir.attachment',  string="Foto Gudang / Kantor Bagian Depan", tracking=3)
    file_dataProduk = fields.Many2one('ir.attachment', string="Data Produk (Item Name, Gambar, Deskripsi)", tracking=3)
    file_pricelist = fields.Many2one('ir.attachment',  string="Pricelist", tracking=3)

    @api.depends('name', 'name_merchant')
    def name_get(self):
        result = []
        for record in self:
            if record.name_merchant:
                display_name = record.name_merchant
            else:
                display_name = "DETAIL FORM MERCHANT"
            result.append((record.id, display_name))
        return result