From 1641ce147735a3548ddef2982dfb6873955dfebc Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 Jan 2023 10:30:07 +0700 Subject: add manufacture in sales > product pricelist item --- indoteknik_custom/models/product_pricelist.py | 2 ++ indoteknik_custom/views/product_pricelist_item.xml | 12 ++++++++++++ 2 files changed, 14 insertions(+) diff --git a/indoteknik_custom/models/product_pricelist.py b/indoteknik_custom/models/product_pricelist.py index 7b850d57..190887cf 100644 --- a/indoteknik_custom/models/product_pricelist.py +++ b/indoteknik_custom/models/product_pricelist.py @@ -15,6 +15,8 @@ class ProductPricelist(models.Model): class ProductPricelistItem(models.Model): _inherit = 'product.pricelist.item' + manufacture_id = fields.Many2one('x_manufactures', string='Manufacture') + @api.onchange('fixed_price','price_discount') def update_solr_flag(self): for item in self: diff --git a/indoteknik_custom/views/product_pricelist_item.xml b/indoteknik_custom/views/product_pricelist_item.xml index 94ba9e4f..80cf426b 100755 --- a/indoteknik_custom/views/product_pricelist_item.xml +++ b/indoteknik_custom/views/product_pricelist_item.xml @@ -33,5 +33,17 @@ parent="sale.product_menu_catalog" sequence="2" action="product_pricelist_item_action"/> + + + product.pricelist.item.tree.view.inherit + product.pricelist.item + + + + + + + + \ No newline at end of file -- cgit v1.2.3 From b12be84e1f8f4b0082a4c77e25b3dc68434b1ebc Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 Jan 2023 13:23:02 +0700 Subject: add manufacture in product pricelist item --- indoteknik_custom/views/product_pricelist_item.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indoteknik_custom/views/product_pricelist_item.xml b/indoteknik_custom/views/product_pricelist_item.xml index 80cf426b..2b70f1e1 100755 --- a/indoteknik_custom/views/product_pricelist_item.xml +++ b/indoteknik_custom/views/product_pricelist_item.xml @@ -44,6 +44,6 @@ - + \ No newline at end of file -- cgit v1.2.3 From e1a19093f74222251280bf598a6256d6766dc4a2 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 Jan 2023 16:54:57 +0700 Subject: add reklas for uang muka penjualan --- __init__.py | 0 indoteknik_custom/__manifest__.py | 1 + indoteknik_custom/models/__init__.py | 1 + indoteknik_custom/models/invoice_reklas.py | 58 ++++++++++++++++++++++++++ indoteknik_custom/models/sale_order.py | 2 + indoteknik_custom/security/ir.model.access.csv | 3 +- indoteknik_custom/views/account_move.xml | 4 ++ indoteknik_custom/views/invoice_reklas.xml | 31 ++++++++++++++ 8 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 __init__.py create mode 100644 indoteknik_custom/models/invoice_reklas.py create mode 100644 indoteknik_custom/views/invoice_reklas.xml diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index 137cfb1f..a5f262bd 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -54,6 +54,7 @@ 'views/customer_review.xml', 'views/website_content_channel.xml', 'views/website_content.xml', + 'views/invoice_reklas.xml', 'report/report.xml', 'report/report_banner_banner.xml', 'report/report_banner_banner2.xml', diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index d7d3e03c..4b9d4545 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -41,3 +41,4 @@ from . import purchase_outstanding from . import sales_outstanding from . import customer_review from . import website_content +from . import invoice_reklas diff --git a/indoteknik_custom/models/invoice_reklas.py b/indoteknik_custom/models/invoice_reklas.py new file mode 100644 index 00000000..7c29ebca --- /dev/null +++ b/indoteknik_custom/models/invoice_reklas.py @@ -0,0 +1,58 @@ +from odoo import api, fields, models, _ +from odoo.exceptions import UserError +from datetime import datetime +from odoo.http import request + +import logging + +_logger = logging.getLogger(__name__) + + +class InvoiceReklas(models.TransientModel): + _name = 'invoice.reklas' + _description = "digunakan untuk reklas Uang Muka Penjualan" + reklas_id = fields.Many2one('account.move', string='Nomor CAB') + pay_amt = fields.Float(string='Yang dibayarkan') + + def create_reklas(self): + if not self.reklas_id: + raise UserError('Nomor CAB harus diisi') + invoices = self.env['account.move'].browse(self._context.get('active_ids', [])) + current_time = datetime.now() + for invoice in invoices: + + parameters_header = { + 'ref': 'REKLAS '+self.reklas_id.name+" UANG MUKA PENJUALAN "+invoice.name+" "+invoice.partner_id.name, + 'date': current_time, + 'journal_id': 13 + } + + account_move = request.env['account.move'].create([parameters_header]) + _logger.info('Success Reklas with %s' % account_move.name) + + parameter_debit = { + 'move_id': account_move.id, + 'account_id': 449, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': self.pay_amt, + 'credit': 0 + } + parameter_credit = { + 'move_id': account_move.id, + 'account_id': 395, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': 0, + 'credit': self.pay_amt + } + request.env['account.move.line'].create([parameter_debit, parameter_credit]) + return { + 'name': _('Journal Entries'), + 'view_mode': 'form', + 'res_model': 'account.move', + 'target': 'current', + 'view_id': False, + 'type': 'ir.actions.act_window', + 'res_id': account_move.id + } diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index e7b28c6d..c8937ca4 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -235,6 +235,8 @@ class SaleOrder(models.Model): def action_confirm(self): res = super(SaleOrder, self).action_confirm() for order in self: + if order.warehouse_id.id != 8: #GD Bandengan + raise UserError('Gudang harus Bandengan') if not order.sales_tax_id: raise UserError("Tax di Header harus diisi") if not order.carrier_id: diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 2f70d737..67bce62c 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -23,4 +23,5 @@ access_purchase_outstanding,access.purchase.outstanding,model_purchase_outstandi access_sales_outstanding,access.sales.outstanding,model_sales_outstanding,,1,1,1,1 access_customer_review,access.customer.review,model_customer_review,,1,1,1,1 access_website_content_channel,access.website.content.channel,model_website_content_channel,,1,1,1,1 -access_website_content,access.website.content,model_website_content,,1,1,1,1 \ No newline at end of file +access_website_content,access.website.content,model_website_content,,1,1,1,1 +access_invoice_reklas,access.invoice.reklas,model_invoice_reklas,,1,1,1,1 \ No newline at end of file diff --git a/indoteknik_custom/views/account_move.xml b/indoteknik_custom/views/account_move.xml index b3e9fb8c..c315bb1c 100644 --- a/indoteknik_custom/views/account_move.xml +++ b/indoteknik_custom/views/account_move.xml @@ -6,6 +6,10 @@ account.move + diff --git a/indoteknik_custom/views/invoice_reklas.xml b/indoteknik_custom/views/invoice_reklas.xml new file mode 100644 index 00000000..126ba71e --- /dev/null +++ b/indoteknik_custom/views/invoice_reklas.xml @@ -0,0 +1,31 @@ + + + + Invoice Reklas + invoice.reklas + +
+

+ Invoices will be created in draft so that you can review + them before validation. +

+ + + + +
+
+
+
+
+ + + Create Reklas + ir.actions.act_window + invoice.reklas + form + new + + +
-- cgit v1.2.3 From 7499b798a75a3dec8fc41d28e091f7df1a3c19d6 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Wed, 11 Jan 2023 08:57:15 +0700 Subject: change sequence of manifest --- indoteknik_custom/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index a5f262bd..253bddd2 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -44,6 +44,7 @@ 'views/stock_picking_type.xml', 'views/users.xml', 'views/delivery_carrier.xml', + 'views/invoice_reklas.xml', 'views/account_move.xml', 'views/dunning_run.xml', 'views/website_brand_homepage.xml', @@ -54,7 +55,6 @@ 'views/customer_review.xml', 'views/website_content_channel.xml', 'views/website_content.xml', - 'views/invoice_reklas.xml', 'report/report.xml', 'report/report_banner_banner.xml', 'report/report_banner_banner2.xml', -- cgit v1.2.3 From aff29db4fe020684f83e5e6449bf0a4061d77036 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Wed, 11 Jan 2023 09:26:02 +0700 Subject: add custom mail marketing --- indoteknik_custom/__manifest__.py | 1 + indoteknik_custom/models/__init__.py | 1 + indoteknik_custom/models/custom_mail_marketing.py | 16 +++++ indoteknik_custom/security/ir.model.access.csv | 3 +- indoteknik_custom/views/custom_mail_marketing.xml | 82 +++++++++++++++++++++++ 5 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 indoteknik_custom/models/custom_mail_marketing.py create mode 100644 indoteknik_custom/views/custom_mail_marketing.xml diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index 253bddd2..421b7cb2 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -55,6 +55,7 @@ 'views/customer_review.xml', 'views/website_content_channel.xml', 'views/website_content.xml', + 'views/custom_mail_marketing.xml', 'report/report.xml', 'report/report_banner_banner.xml', 'report/report_banner_banner2.xml', diff --git a/indoteknik_custom/models/__init__.py b/indoteknik_custom/models/__init__.py index 4b9d4545..3d4d646b 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -42,3 +42,4 @@ from . import sales_outstanding from . import customer_review from . import website_content from . import invoice_reklas +from . import custom_mail_marketing diff --git a/indoteknik_custom/models/custom_mail_marketing.py b/indoteknik_custom/models/custom_mail_marketing.py new file mode 100644 index 00000000..8a81974f --- /dev/null +++ b/indoteknik_custom/models/custom_mail_marketing.py @@ -0,0 +1,16 @@ +from odoo import fields, models, api, _ + + +class CustomMailMarketing(models.Model): + _name = 'custom.mail.marketing' + + col1_string = fields.Char(string='col1_string') + col2_string = fields.Char(string='col2_string') + col3_string = fields.Char(string='col3_string') + col4_string = fields.Char(string='col4_string') + col5_string = fields.Char(string='col5_string') + col6_string = fields.Char(string='col6_string') + col7_string = fields.Char(string='col7_string') + col8_string = fields.Char(string='col8_string') + col9_string = fields.Char(string='col9_string') + col10_string = fields.Char(string='col10_string') diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 67bce62c..5eefa618 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -24,4 +24,5 @@ access_sales_outstanding,access.sales.outstanding,model_sales_outstanding,,1,1,1 access_customer_review,access.customer.review,model_customer_review,,1,1,1,1 access_website_content_channel,access.website.content.channel,model_website_content_channel,,1,1,1,1 access_website_content,access.website.content,model_website_content,,1,1,1,1 -access_invoice_reklas,access.invoice.reklas,model_invoice_reklas,,1,1,1,1 \ No newline at end of file +access_invoice_reklas,access.invoice.reklas,model_invoice_reklas,,1,1,1,1 +access_custom_mail_marketing,access.custom.mail.marketing,model_custom_mail_marketing,,1,1,1,1 \ No newline at end of file diff --git a/indoteknik_custom/views/custom_mail_marketing.xml b/indoteknik_custom/views/custom_mail_marketing.xml new file mode 100644 index 00000000..d460a41d --- /dev/null +++ b/indoteknik_custom/views/custom_mail_marketing.xml @@ -0,0 +1,82 @@ + + + + custom.mail.marketing.tree + custom.mail.marketing + + + + + + + + + + + + + + + + + + custom.mail.marketing.form + custom.mail.marketing + +
+ + + + + + + + + + + + + + + + +
+
+
+ + + custom.mail.marketing.list.select + custom.mail.marketing + + + + + + + + + + + + + + + + + + + Custom Mail Marketing + ir.actions.act_window + custom.mail.marketing + + tree,form + + + +
\ No newline at end of file -- cgit v1.2.3 From 0f8fbe56e89ec285c6fbcdd2bed5a67f62bcfe59 Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Wed, 11 Jan 2023 11:59:54 +0700 Subject: add reklas uang muka pembelian feature --- indoteknik_custom/models/invoice_reklas.py | 73 +++++++++++++++++++++--------- indoteknik_custom/views/invoice_reklas.xml | 4 +- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/indoteknik_custom/models/invoice_reklas.py b/indoteknik_custom/models/invoice_reklas.py index 7c29ebca..43736059 100644 --- a/indoteknik_custom/models/invoice_reklas.py +++ b/indoteknik_custom/models/invoice_reklas.py @@ -13,39 +13,70 @@ class InvoiceReklas(models.TransientModel): _description = "digunakan untuk reklas Uang Muka Penjualan" reklas_id = fields.Many2one('account.move', string='Nomor CAB') pay_amt = fields.Float(string='Yang dibayarkan') + reklas_type = fields.Selection([ + ('penjualan', 'Penjualan'), + ('pembelian', 'Pembelian'), + ], string='Reklas Tipe') def create_reklas(self): + if not self.reklas_type: + raise UserError('Reklas Tipe harus diisi') if not self.reklas_id: raise UserError('Nomor CAB harus diisi') invoices = self.env['account.move'].browse(self._context.get('active_ids', [])) current_time = datetime.now() for invoice in invoices: - parameters_header = { - 'ref': 'REKLAS '+self.reklas_id.name+" UANG MUKA PENJUALAN "+invoice.name+" "+invoice.partner_id.name, - 'date': current_time, - 'journal_id': 13 - } + if self.reklas_type == 'penjualan': + parameters_header = { + 'ref': 'REKLAS '+self.reklas_id.name+" UANG MUKA PENJUALAN "+invoice.name+" "+invoice.partner_id.name, + 'date': current_time, + 'journal_id': 13 + } + else: + parameters_header = { + 'ref': 'REKLAS ' + self.reklas_id.name + " UANG MUKA PEMBELIAN " + invoice.name + " " + invoice.partner_id.name, + 'date': current_time, + 'journal_id': 13 + } account_move = request.env['account.move'].create([parameters_header]) _logger.info('Success Reklas with %s' % account_move.name) - parameter_debit = { - 'move_id': account_move.id, - 'account_id': 449, - 'partner_id': invoice.partner_id.id, - 'currency_id': 12, - 'debit': self.pay_amt, - 'credit': 0 - } - parameter_credit = { - 'move_id': account_move.id, - 'account_id': 395, - 'partner_id': invoice.partner_id.id, - 'currency_id': 12, - 'debit': 0, - 'credit': self.pay_amt - } + if self.reklas_type == 'penjualan': + parameter_debit = { + 'move_id': account_move.id, + 'account_id': 449, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': self.pay_amt, + 'credit': 0 + } + parameter_credit = { + 'move_id': account_move.id, + 'account_id': 395, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': 0, + 'credit': self.pay_amt + } + else: + parameter_debit = { + 'move_id': account_move.id, + 'account_id': 438, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': self.pay_amt, + 'credit': 0 + } + parameter_credit = { + 'move_id': account_move.id, + 'account_id': 401, + 'partner_id': invoice.partner_id.id, + 'currency_id': 12, + 'debit': 0, + 'credit': self.pay_amt + } request.env['account.move.line'].create([parameter_debit, parameter_credit]) return { 'name': _('Journal Entries'), diff --git a/indoteknik_custom/views/invoice_reklas.xml b/indoteknik_custom/views/invoice_reklas.xml index 126ba71e..e807dca5 100644 --- a/indoteknik_custom/views/invoice_reklas.xml +++ b/indoteknik_custom/views/invoice_reklas.xml @@ -6,10 +6,10 @@

- Invoices will be created in draft so that you can review - them before validation. + Reklas Uang Muka Penjualan / Pembelian akan terbuat Draft, mohon dicek kembali

+ -- cgit v1.2.3