summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/user_form_merchant.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-05-23 09:22:27 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-05-23 09:22:27 +0700
commitf6f59e660af6c4229ada54f7313d68867df1ba15 (patch)
tree9a27b4e0e6571c639ba173df5ae25a2e7014aefd /indoteknik_custom/models/user_form_merchant.py
parent68378dd2fb8d61b282a672ca0f09033d15d82283 (diff)
parent558130bbf48c33ddfa6080450c80bc8801a570f0 (diff)
Merge branch 'CR/form-merchant' into odoo-backup
# Conflicts: # indoteknik_custom/models/sale_order.py # indoteknik_custom/views/sale_order.xml
Diffstat (limited to 'indoteknik_custom/models/user_form_merchant.py')
-rw-r--r--indoteknik_custom/models/user_form_merchant.py98
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