diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2024-08-14 15:28:23 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2024-08-14 15:28:23 +0700 |
| commit | 8de88de447f441f129c44e9a0c6f57dd27d40512 (patch) | |
| tree | 893da0ad7e4c4c376b37be98c901b3f991475aeb | |
| parent | c5e742d609ec379b6d0228f8274b3d97bda9214d (diff) | |
read only payment term
| -rwxr-xr-x | indoteknik_custom/__manifest__.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/models/res_partner.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/views/partner_payment_term.xml | 63 | ||||
| -rw-r--r-- | indoteknik_custom/views/res_partner.xml | 6 | ||||
| -rw-r--r-- | indoteknik_custom/views/vendor_payment_term.xml | 63 |
5 files changed, 142 insertions, 3 deletions
diff --git a/indoteknik_custom/__manifest__.py b/indoteknik_custom/__manifest__.py index b3c3bc5d..8d8e8cec 100755 --- a/indoteknik_custom/__manifest__.py +++ b/indoteknik_custom/__manifest__.py @@ -140,6 +140,8 @@ 'views/sale_order_multi_uangmuka_penjualan.xml', 'views/shipment_group.xml', 'views/approval_date_doc.xml', + 'views/partner_payment_term.xml', + 'views/vendor_payment_term.xml', 'report/report.xml', 'report/report_banner_banner.xml', 'report/report_banner_banner2.xml', diff --git a/indoteknik_custom/models/res_partner.py b/indoteknik_custom/models/res_partner.py index 39faf9d3..0b9a3a6c 100644 --- a/indoteknik_custom/models/res_partner.py +++ b/indoteknik_custom/models/res_partner.py @@ -51,9 +51,14 @@ class ResPartner(models.Model): def write(self, vals): res = super(ResPartner, self).write(vals) - if 'property_payment_term_id' in vals: - if not self.env.user.is_accounting and vals['property_payment_term_id'] != 26: - raise UserError('Hanya Finance Accounting yang dapat merubah payment term') + # if 'property_payment_term_id' in vals: + # if not self.env.user.is_accounting and vals['property_payment_term_id'] != 26: + # raise UserError('Hanya Finance Accounting yang dapat merubah payment term') + + # group_id = self.env.ref('indoteknik_custom.group_role_merchandiser').id + # users_in_group = self.env['res.users'].search([('groups_id', 'in', [group_id])]) + # if self.env.user.id not in users_in_group.mapped('id'): + # raise UserError('You name it') return res diff --git a/indoteknik_custom/views/partner_payment_term.xml b/indoteknik_custom/views/partner_payment_term.xml new file mode 100644 index 00000000..433cac3e --- /dev/null +++ b/indoteknik_custom/views/partner_payment_term.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <record id="partner_payment_term_tree" model="ir.ui.view"> + <field name="name">partner.payment.term.tree</field> + <field name="model">res.partner</field> + <field name="arch" type="xml"> + <tree> + <field name="display_name"/> + <field name="name"/> + <field name="parent_id"/> + <field name="property_payment_term_id"/> + </tree> + </field> + </record> + + <record id="partner_payment_term_form" model="ir.ui.view"> + <field name="name">partner.payment.term.form</field> + <field name="model">res.partner</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <group> + <field name="name"/> + <field name="parent_id" readonly="1"/> + <field name="property_payment_term_id"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="view_partner_payment_term_filter" model="ir.ui.view"> + <field name="name">partner.payment.term.list.select</field> + <field name="model">res.partner</field> + <field name="priority" eval="15"/> + <field name="arch" type="xml"> + <search string="Name"> + <field name="display_name"/> + <field name="name"/> + <field name="parent_id"/> + </search> + </field> + </record> + + <record id="partner_payment_term_action" model="ir.actions.act_window"> + <field name="name">Partner Payment Term</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">res.partner</field> + <field name="search_view_id" ref="view_partner_payment_term_filter"/> + <field name="view_mode">tree,form</field> + <field name="view_id" ref="partner_payment_term_tree"/> + <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'tree', 'view_id': ref('partner_payment_term_tree')}), (0, 0, {'view_mode': 'form', 'view_id': ref('partner_payment_term_form')})]"/> + </record> + + <menuitem id="menu_partner_payment_term_acct" + name="Partner Payment Term" + action="partner_payment_term_action" + parent="account.menu_finance_entries" + sequence="115" + /> +</odoo>
\ No newline at end of file diff --git a/indoteknik_custom/views/res_partner.xml b/indoteknik_custom/views/res_partner.xml index bfac1eb3..d77e09b8 100644 --- a/indoteknik_custom/views/res_partner.xml +++ b/indoteknik_custom/views/res_partner.xml @@ -56,6 +56,12 @@ <field name="main_parent_id" invisible="1" /> <field name="site_id" attrs="{'readonly': [('parent_id', '=', False)]}" domain="[('partner_id', '=', main_parent_id)]" context="{'default_partner_id': active_id}" /> </xpath> + <xpath expr="//field[@name='property_payment_term_id']" position="attributes"> + <attribute name="readonly">1</attribute> + </xpath> + <xpath expr="//field[@name='property_supplier_payment_term_id']" position="attributes"> + <attribute name="readonly">1</attribute> + </xpath> </field> </record> </data> diff --git a/indoteknik_custom/views/vendor_payment_term.xml b/indoteknik_custom/views/vendor_payment_term.xml new file mode 100644 index 00000000..e0e96388 --- /dev/null +++ b/indoteknik_custom/views/vendor_payment_term.xml @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="utf-8" ?> +<odoo> + <record id="vendor_payment_term_tree" model="ir.ui.view"> + <field name="name">vendor.payment.term.tree</field> + <field name="model">res.partner</field> + <field name="arch" type="xml"> + <tree> + <field name="display_name"/> + <field name="name"/> + <field name="parent_id"/> + <field name="property_supplier_payment_term_id"/> + </tree> + </field> + </record> + + <record id="vendor_payment_term_form" model="ir.ui.view"> + <field name="name">vendor.payment.term.form</field> + <field name="model">res.partner</field> + <field name="arch" type="xml"> + <form> + <sheet> + <group> + <group> + <field name="name"/> + <field name="parent_id" readonly="1"/> + <field name="property_supplier_payment_term_id"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + <record id="view_vendor_payment_term_filter" model="ir.ui.view"> + <field name="name">vendor.payment.term.list.select</field> + <field name="model">res.partner</field> + <field name="priority" eval="15"/> + <field name="arch" type="xml"> + <search string="Name"> + <field name="display_name"/> + <field name="name"/> + <field name="parent_id"/> + </search> + </field> + </record> + + <record id="vendor_payment_term_action" model="ir.actions.act_window"> + <field name="name">Vendor Payment Term</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">res.partner</field> + <field name="search_view_id" ref="view_vendor_payment_term_filter"/> + <field name="view_mode">tree,form</field> + <field name="view_id" ref="vendor_payment_term_tree"/> + <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'tree', 'view_id': ref('vendor_payment_term_tree')}), (0, 0, {'view_mode': 'form', 'view_id': ref('vendor_payment_term_form')})]"/> + </record> + + <menuitem id="menu_vendor_payment_term_acct" + name="Vendor Payment Term" + action="vendor_payment_term_action" + parent="purchase.menu_purchase_products" + sequence="7" + /> +</odoo>
\ No newline at end of file |
