diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2023-08-03 06:15:54 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2023-08-03 06:15:54 +0000 |
| commit | 0be8a77f6cbb31d3ac8cf9e3e606d2266a20c2ec (patch) | |
| tree | 6f62bce6e049935b5a85e445ee7d959242fe7e7c /indoteknik_custom | |
| parent | f0f30aa566c0e49b03fd86f86bbcd80d6c7383ce (diff) | |
| parent | 4a670f1f85848ef46c605fd67ff4e3d305571522 (diff) | |
Merged in production (pull request #80)
Production
Diffstat (limited to 'indoteknik_custom')
| -rw-r--r-- | indoteknik_custom/models/account_move.py | 3 | ||||
| -rw-r--r-- | indoteknik_custom/models/account_move_due_extension.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/airway_bill.py | 10 | ||||
| -rw-r--r-- | indoteknik_custom/models/airway_bill_manifest.py | 33 | ||||
| -rwxr-xr-x | indoteknik_custom/models/crm_lead.py | 2 | ||||
| -rwxr-xr-x | indoteknik_custom/models/sale_order.py | 9 | ||||
| -rw-r--r-- | indoteknik_custom/models/website_categories_homepage.py | 2 | ||||
| -rwxr-xr-x | indoteknik_custom/models/x_banner_banner.py | 9 | ||||
| -rwxr-xr-x | indoteknik_custom/views/sale_order.xml | 9 | ||||
| -rw-r--r-- | indoteknik_custom/views/website_categories_homepage.xml | 14 | ||||
| -rwxr-xr-x | indoteknik_custom/views/x_banner_banner.xml | 29 | ||||
| -rwxr-xr-x | indoteknik_custom/views/x_manufactures.xml | 2 |
12 files changed, 78 insertions, 45 deletions
diff --git a/indoteknik_custom/models/account_move.py b/indoteknik_custom/models/account_move.py index 4db97706..b188285d 100644 --- a/indoteknik_custom/models/account_move.py +++ b/indoteknik_custom/models/account_move.py @@ -31,8 +31,7 @@ class AccountMove(models.Model): def unlink(self): res = super(AccountMove, self).unlink() - if not self.env.user.is_accounting: - raise UserError('Hanya Accounting yang bisa delete') + raise UserError('Data Hanya Bisa Di Cancel') return res def button_cancel(self): diff --git a/indoteknik_custom/models/account_move_due_extension.py b/indoteknik_custom/models/account_move_due_extension.py index 43207534..3824fb30 100644 --- a/indoteknik_custom/models/account_move_due_extension.py +++ b/indoteknik_custom/models/account_move_due_extension.py @@ -26,6 +26,7 @@ class DueExtension(models.Model): ('3', '3 Hari'), ('7', '7 Hari'), ('14', '14 Hari'), + ('21', '21 Hari'), ], string='Day Extension', help='Menambah Due Date yang sudah limit dari hari ini', tracking=True) counter = fields.Integer(string="Counter", compute='_compute_counter') diff --git a/indoteknik_custom/models/airway_bill.py b/indoteknik_custom/models/airway_bill.py index 463272b4..37d2b671 100644 --- a/indoteknik_custom/models/airway_bill.py +++ b/indoteknik_custom/models/airway_bill.py @@ -41,11 +41,11 @@ class AirwayBill(models.Model): self.ensure_one() return self._json_decode(self.response) - def _fetch(self): + def _fetch(self, days_before=30): # jne, pos, tiki, wahana, jnt, rpx, sap, sicepat, jet, dse, dan first carrier_ids = [51, 53, 54, 7, 57, 55, 59, 59, 27, 60, 62, 64] - delta_time = datetime.now() - timedelta(days=30) # Last 30 days + delta_time = datetime.now() - timedelta(days=days_before) # Last 30 days delta_time = delta_time.strftime('%Y-%m-%d %H:%M:%S') query = [ '|', @@ -61,7 +61,10 @@ class AirwayBill(models.Model): history = self._get_waybill_history(out.delivery_tracking_no, rajaongkir.name) if not history: continue - delivered = history['rajaongkir']['result']['delivered'] + try: + delivered = history['rajaongkir']['result']['delivered'] + except: + delivered = False values = { 'do_id': out.id, 'so_id': out.sale_id.id, @@ -108,6 +111,7 @@ class AirwayBill(models.Model): elif response.get('rajaongkir', {}): raja_ongkir = response.get('rajaongkir', {}) result = raja_ongkir.get('result', {}) + result = result or {} # Change to empty dict when result is None return result.get(key) def _compute_way_bill(self, airway, key, attribute): diff --git a/indoteknik_custom/models/airway_bill_manifest.py b/indoteknik_custom/models/airway_bill_manifest.py index 2e16be2c..a606c2be 100644 --- a/indoteknik_custom/models/airway_bill_manifest.py +++ b/indoteknik_custom/models/airway_bill_manifest.py @@ -16,18 +16,21 @@ class AirwayBillManifest(models.Model): def generate_airway_bill_line(self, waybill): - history = waybill.decode_response() - manifests = history['rajaongkir']['result']['manifest'] or [] - for manifest in manifests: - code = manifest['manifest_code'] - description = manifest['manifest_description'] - date = manifest['manifest_date'] - time = manifest['manifest_time'] - city = manifest['city_name'] - self.create({ - 'waybill_id': waybill.id, - 'code': code, - 'description': description, - 'datetime': date+' '+time, - 'city': city, - })
\ No newline at end of file + try: + history = waybill.decode_response() + manifests = history['rajaongkir']['result']['manifest'] or [] + for manifest in manifests: + code = manifest['manifest_code'] + description = manifest['manifest_description'] + date = manifest['manifest_date'] + time = manifest['manifest_time'] + city = manifest['city_name'] + self.create({ + 'waybill_id': waybill.id, + 'code': code, + 'description': description, + 'datetime': date+' '+time, + 'city': city, + }) + except: + return
\ No newline at end of file diff --git a/indoteknik_custom/models/crm_lead.py b/indoteknik_custom/models/crm_lead.py index b87315ff..0cea878a 100755 --- a/indoteknik_custom/models/crm_lead.py +++ b/indoteknik_custom/models/crm_lead.py @@ -87,5 +87,5 @@ class CrmLead(models.Model): elif lead.partner_id.user_id: salesperson_id = lead.partner_id.user_id.id else: - salesperson_id = 2 + salesperson_id = 20 lead.user_id = salesperson_id diff --git a/indoteknik_custom/models/sale_order.py b/indoteknik_custom/models/sale_order.py index 12043996..25d28bbb 100755 --- a/indoteknik_custom/models/sale_order.py +++ b/indoteknik_custom/models/sale_order.py @@ -89,6 +89,7 @@ class SaleOrder(models.Model): purchase_total = fields.Monetary(string='Purchase Total', compute='_compute_purchase_total') voucher_id = fields.Many2one(comodel_name='voucher', string='Voucher') amount_voucher_disc = fields.Float(string='Voucher Discount') + source_id = fields.Many2one('utm.source', 'Source', domain="[('id', 'in', [32, 59, 60, 61])]") def _compute_purchase_total(self): for order in self: @@ -336,7 +337,9 @@ class SaleOrder(models.Model): raise UserError("Status harus draft atau sent") if not order.partner_invoice_id.npwp: raise UserError("NPWP harus diisi di master data konsumen, jika non pkp dapat diisi 00.000.000.0-000.000") - + if '-' not in order.npwp or '.' not in order.npwp: + raise UserError("Isi NPWP Dengan Benar!") + if order.partner_id.parent_id: if not order.partner_id.parent_id.property_payment_term_id: raise UserError("Payment Term pada Master Data Customer harus diisi") @@ -487,7 +490,9 @@ class SaleOrder(models.Model): raise UserError("Tax di Header harus diisi") if not order.carrier_id: raise UserError("Shipping Method harus diisi") - # approval1 = approval2 = 0 + if '-' not in order.npwp or '.' not in order.npwp: + raise UserError("Isi NPWP Dengan Benar!") + for line in order.order_line: if not line.product_id or line.product_id.type == 'service': continue diff --git a/indoteknik_custom/models/website_categories_homepage.py b/indoteknik_custom/models/website_categories_homepage.py index 612dd8a0..a0fc1011 100644 --- a/indoteknik_custom/models/website_categories_homepage.py +++ b/indoteknik_custom/models/website_categories_homepage.py @@ -3,6 +3,7 @@ from odoo import fields, models class WebsiteCategoriesHomepage(models.Model): _name = 'website.categories.homepage' + _rec_name = 'category_id' category_id = fields.Many2one('product.public.category', string='Category', help='table ecommerce category') image = fields.Binary(string='Image') @@ -12,3 +13,4 @@ class WebsiteCategoriesHomepage(models.Model): ('tayang', 'Tayang'), ('tidak_tayang', 'Tidak Tayang') ], string='Status') + product_ids = fields.Many2many('product.template', string='Product Template') diff --git a/indoteknik_custom/models/x_banner_banner.py b/indoteknik_custom/models/x_banner_banner.py index c34b7634..a9de2067 100755 --- a/indoteknik_custom/models/x_banner_banner.py +++ b/indoteknik_custom/models/x_banner_banner.py @@ -16,4 +16,11 @@ class XBannerBanner(models.Model): x_status_banner = fields.Selection([ ('tayang', 'Tayang'), ('tidak_tayang', 'Tidak Tayang') - ], string="Status")
\ No newline at end of file + ], string="Status") + sequence = fields.Integer(string='Sequence') + for_week = fields.Selection([ + ('1', 1), + ('2', 2), + ('3', 3), + ('4', 4) + ], string='For Week')
\ No newline at end of file diff --git a/indoteknik_custom/views/sale_order.xml b/indoteknik_custom/views/sale_order.xml index f7f9c0ea..d2a59621 100755 --- a/indoteknik_custom/views/sale_order.xml +++ b/indoteknik_custom/views/sale_order.xml @@ -28,11 +28,15 @@ <field name="total_percent_margin"/> <field name="voucher_id" readonly="1" /> </field> + <field name="source_id" position="attributes"> + <attribute name="invisible">1</attribute> + </field> <field name="analytic_account_id" position="after"> <field name="customer_type" attrs="{'required': ['|', ('create_date', '>', '2023-06-28'), ('create_date', '=', False)]}"/> <field name="npwp" placeholder='99.999.999.9-999.999' attrs="{'required': ['|', ('create_date', '>', '2023-06-28'), ('create_date', '=', False)]}"/> <field name="sppkp" attrs="{'invisible': [('customer_type','!=','pkp')], 'required': [('customer_type', '=', 'pkp')]}"/> <field name="due_id" readonly="1"/> + <field name="source_id" domain="[('id', 'in', [32, 59, 60, 61])]" attrs="{'required':[('create_date', '>', '2023-09-10')]}"/> </field> <field name="partner_shipping_id" position="after"> <field name="real_shipping_id"/> @@ -56,11 +60,6 @@ } </attribute> </xpath> - <field name="source_id" position="attributes"> - <attribute name="domain">[('id', 'in', [32, 59, 60, 61])]</attribute> - <attribute name="attrs">{'required':[('create_date', '>', '2023-07-30')]} - </attribute> - </field> <xpath expr="//form/sheet/notebook/page/field[@name='order_line']/tree/field[@name='price_total']" position="after"> <field name="vendor_id" attrs="{'readonly': [('parent.approval_status', '=', 'approved')]}"/> <field name="purchase_price" attrs=" diff --git a/indoteknik_custom/views/website_categories_homepage.xml b/indoteknik_custom/views/website_categories_homepage.xml index 22424280..0a7ef2c2 100644 --- a/indoteknik_custom/views/website_categories_homepage.xml +++ b/indoteknik_custom/views/website_categories_homepage.xml @@ -11,8 +11,7 @@ <field name="name">Website Categories Homepage</field> <field name="model">website.categories.homepage</field> <field name="arch" type="xml"> - <tree> - <field name="id"/> + <tree default_order="sequence"> <field name="sequence"/> <field name="category_id"/> <field name="url"/> @@ -31,11 +30,20 @@ <group> <field name="sequence"/> <field name="category_id"/> - <field name="image"/> + <field name="image" widget="image"/> <field name="url"/> <field name="status"/> </group> </group> + <notebook> + <page string="Products" name="product_ids"> + <field name="product_ids" domain="[('sale_ok', '=', True)]"> + <tree> + <field name="display_name" /> + </tree> + </field> + </page> + </notebook> </sheet> </form> </field> diff --git a/indoteknik_custom/views/x_banner_banner.xml b/indoteknik_custom/views/x_banner_banner.xml index 4f3f1911..10c762af 100755 --- a/indoteknik_custom/views/x_banner_banner.xml +++ b/indoteknik_custom/views/x_banner_banner.xml @@ -5,12 +5,13 @@ <field name="model">x_banner.banner</field> <field name="arch" type="xml"> <tree> - <field name="id"/> - <field name="x_name"/> - <field name="x_banner_category"/> - <field name="x_relasi_manufacture"/> - <field name="x_url_banner"/> - <field name="x_status_banner"/> + <field name="sequence" string="Seq" /> + <field name="x_name" /> + <field name="for_week" /> + <field name="x_banner_category" /> + <field name="x_relasi_manufacture" /> + <field name="x_url_banner" /> + <field name="x_status_banner" /> </tree> </field> </record> @@ -23,15 +24,17 @@ <sheet> <group> <group> - <field name="x_name"/> - <field name="x_banner_category"/> - <field name="x_relasi_manufacture"/> - <field name="x_url_banner"/> - <field name="x_status_banner"/> + <field name="x_name" /> + <field name="x_banner_category" /> + <field name="x_relasi_manufacture" /> + <field name="x_url_banner" /> + <field name="x_status_banner" /> + <field name="sequence" /> + <field name="for_week" /> </group> <group> - <field name="background_color"/> - <field name="x_banner_image" widget="image"/> + <field name="background_color" /> + <field name="x_banner_image" widget="image" /> </group> </group> </sheet> diff --git a/indoteknik_custom/views/x_manufactures.xml b/indoteknik_custom/views/x_manufactures.xml index a88c5d34..dd896179 100755 --- a/indoteknik_custom/views/x_manufactures.xml +++ b/indoteknik_custom/views/x_manufactures.xml @@ -16,6 +16,7 @@ <field name="model">x_manufactures</field> <field name="arch" type="xml"> <tree> + <field name="sequence" string="Seq"/> <field name="x_name"/> <field name="x_negara_asal"/> <field name="x_short_desc"/> @@ -37,6 +38,7 @@ <group> <group> <field name="x_name"/> + <field name="sequence"/> <field name="x_negara_asal"/> <field name="x_short_desc"/> <field name="x_manufacture_level"/> |
