summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-08-14 15:28:23 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-08-14 15:28:23 +0700
commit8de88de447f441f129c44e9a0c6f57dd27d40512 (patch)
tree893da0ad7e4c4c376b37be98c901b3f991475aeb
parentc5e742d609ec379b6d0228f8274b3d97bda9214d (diff)
read only payment term
-rwxr-xr-xindoteknik_custom/__manifest__.py2
-rw-r--r--indoteknik_custom/models/res_partner.py11
-rw-r--r--indoteknik_custom/views/partner_payment_term.xml63
-rw-r--r--indoteknik_custom/views/res_partner.xml6
-rw-r--r--indoteknik_custom/views/vendor_payment_term.xml63
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