diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2023-01-02 14:24:45 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2023-01-02 14:24:45 +0700 |
| commit | 52016c0ba728b92c913b560d0302a07f12ddfb9c (patch) | |
| tree | 8d7702c5431fa1f07d14c9f26f10053e99b32cb5 | |
| parent | 9d4ec4d054858368d21a1efc9f58f1fbd080baaf (diff) | |
add window purchase outstanding for check incoming qty
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 1 | ||||
| -rwxr-xr-x | indoteknik_custom/models/__init__.py | 1 | ||||
| -rw-r--r-- | indoteknik_custom/models/purchase_outstanding.py | 32 | ||||
| -rwxr-xr-x | indoteknik_custom/security/ir.model.access.csv | 3 | ||||
| -rw-r--r-- | indoteknik_custom/views/purchase_outstanding.xml | 72 |
5 files changed, 108 insertions, 1 deletions
diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index d8bf8d4c..e8e89c1a 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -49,6 +49,7 @@ 'views/website_brand_homepage.xml', 'views/website_categories_homepage.xml', 'views/sales_target.xml', + 'views/purchase_outstanding.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 356f69f0..f853b1ed 100755 --- a/indoteknik_custom/models/__init__.py +++ b/indoteknik_custom/models/__init__.py @@ -37,3 +37,4 @@ from . import mail_mail from . import website_categories_homepage from . import sales_target from . import product_spec +from . import purchase_outstanding diff --git a/indoteknik_custom/models/purchase_outstanding.py b/indoteknik_custom/models/purchase_outstanding.py new file mode 100644 index 00000000..0cdd9c39 --- /dev/null +++ b/indoteknik_custom/models/purchase_outstanding.py @@ -0,0 +1,32 @@ +from odoo import fields, models, api, tools + + +class PurchaseOutstanding(models.Model): + _name = 'purchase.outstanding' + _auto = False + _rec_name = 'product_id' + + id = fields.Integer() + order_id = fields.Many2one('purchase.order', string='Nomor PO') + partner_id = fields.Many2one('res.partner', String='Vendor') + date_order = fields.Datetime(string="Date Order") + po_state = fields.Char(string='State') + po_status = fields.Char(string='PO Status') + product_id = fields.Many2one('product.product', string='Product') + product_uom_qty = fields.Integer(string='Qty PO') + qty_received = fields.Integer(string='Qty Received') + + def init(self): + tools.drop_view_if_exists(self.env.cr, self._table) + self.env.cr.execute(""" + CREATE OR REPLACE VIEW %s AS( + select pol.id as id, po.id as order_id, po.partner_id, + po.date_order, po.state as po_state, po.po_status, + pol.product_id, pol.product_uom_qty, pol.qty_received + from purchase_order_line pol + join purchase_order po on po.id = pol.order_id + where 1=1 + and pol.product_uom_qty <> pol.qty_received + and po_status in ('sebagian','menunggu') + ) + """ % self._table) diff --git a/indoteknik_custom/security/ir.model.access.csv b/indoteknik_custom/security/ir.model.access.csv index 874ff7ce..8c26dd2a 100755 --- a/indoteknik_custom/security/ir.model.access.csv +++ b/indoteknik_custom/security/ir.model.access.csv @@ -18,4 +18,5 @@ access_website_user_cart,access.website.user.cart,model_website_user_cart,,1,1,1 access_website_user_wishlist,access.website.user.wishlist,model_website_user_wishlist,,1,1,1,1 access_website_brand_homepage,access.website.brand.homepage,model_website_brand_homepage,,1,1,1,1 access_website_categories_homepage,access.website.categories.homepage,model_website_categories_homepage,,1,1,1,1 -access_sales_target,access.sales.target,model_sales_target,,1,1,1,1
\ No newline at end of file +access_sales_target,access.sales.target,model_sales_target,,1,1,1,1 +access_purchase_outstanding,access.purchase.outstanding,model_purchase_outstanding,,1,1,1,1
\ No newline at end of file diff --git a/indoteknik_custom/views/purchase_outstanding.xml b/indoteknik_custom/views/purchase_outstanding.xml new file mode 100644 index 00000000..52003fd6 --- /dev/null +++ b/indoteknik_custom/views/purchase_outstanding.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <record id="purchase_outstanding_tree" model="ir.ui.view"> + <field name="name">purchase.outstanding.tree</field> + <field name="model">purchase.outstanding</field> + <field name="arch" type="xml"> + <tree create="false"> + <field name="order_id"/> + <field name="partner_id"/> + <field name="date_order"/> + <field name="po_state"/> + <field name="po_status"/> + <field name="product_id"/> + <field name="product_uom_qty"/> + <field name="qty_received"/> + </tree> + </field> + </record> + + <record id="purchase_outstanding_form" model="ir.ui.view"> + <field name="name">purchase.outstanding.form</field> + <field name="model">purchase.outstanding</field> + <field name="arch" type="xml"> + <form create="false" edit="false"> + <sheet> + <group> + <group> + <field name="order_id"/> + <field name="partner_id"/> + <field name="date_order"/> + <field name="po_state"/> + <field name="po_status"/> + <field name="product_id"/> + </group> + <group> + <field name="product_uom_qty"/> + <field name="qty_received"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="view_purchase_outstanding_filter" model="ir.ui.view"> + <field name="name">purchase.outstanding.list.select</field> + <field name="model">purchase.outstanding</field> + <field name="priority" eval="15"/> + <field name="arch" type="xml"> + <search string="Search Purchase Outstanding"> + <field name="order_id"/> + <field name="product_id"/> + </search> + </field> + </record> + + <record id="purchase_outstanding_action" model="ir.actions.act_window"> + <field name="name">Purchase Outstanding</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">purchase.outstanding</field> + <field name="search_view_id" ref="view_purchase_outstanding_filter"/> + <field name="view_mode">tree,form</field> + </record> + + <menuitem + id="menu_purchase_outstanding" + name="Purchase Outstanding" + parent="purchase.menu_purchase_products" + sequence="4" + action="purchase_outstanding_action" + /> +</odoo>
\ No newline at end of file |
