diff options
Diffstat (limited to 'indoteknik_custom/models/user_form_merchant.py')
| -rw-r--r-- | indoteknik_custom/models/user_form_merchant.py | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/indoteknik_custom/models/user_form_merchant.py b/indoteknik_custom/models/user_form_merchant.py new file mode 100644 index 00000000..a804e93f --- /dev/null +++ b/indoteknik_custom/models/user_form_merchant.py @@ -0,0 +1,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
\ No newline at end of file |
