Commit a2786de9 by aa.gusti

penambahan print di sspd bphtb

1 parent 9f5dce62
from odoo import fields, models, api
import logging
from odoo import fields, models, api, _
_logger = logging.getLogger(__name__)
class ResPartner(models.Model):
......@@ -16,3 +20,18 @@ class ResPartner(models.Model):
'ppat': 'cascade',
'wp': 'cascade',
})
def write(self, vals):
_logger.info(vals)
_logger.info(self.create_uid)
_logger.info(self.env)
_logger.info(self.env.user.id)
if self.create_uid.id != self.env.user.id:
return {
'warning': {
'title': _('Warning'),
'message': _('Modified Record Forbidden')
}
}
res = super().write(vals)
return res
......@@ -17,11 +17,15 @@ class BphtbSales(models.Model):
# disc = fields.Float(required=True)
# min_omzet = fields.Integer(required=True)
request_date = fields.Date()
request_date = fields.Date(readonly=True,
states={'draft': [('readonly', False)]}, )
ppat_id = fields.Many2one('res.partner',
readonly=True,
states={'draft': [('readonly', False)]},
default=lambda self: self.env.user.partner_id.id
if not self.ppat_id else False)
wp_id = fields.Many2one('res.partner', required=True)
wp_id = fields.Many2one('res.partner', required=True, readonly=True,
states={'draft': [('readonly', False)]}, )
wp_name = fields.Char(related='wp_id.name', string="Wajib Pajak", store=True)
wp_identity_number = fields.Char(related='wp_id.identity_number',
string="No Identitas", store=True)
......@@ -40,7 +44,8 @@ class BphtbSales(models.Model):
wp_email = fields.Char(compute='_compute_wp', string="WP Email", store=False)
wp_website = fields.Char(compute='_compute_wp', string="WP Web Site", store=False)
seller_id = fields.Many2one('res.partner', required=True)
seller_id = fields.Many2one('res.partner', readonly=True,
states={'draft': [('readonly', False)]}, required=True)
seller_name = fields.Char(related='wp_id.name', string="Wajib Pajak", store=True)
seller_identity_number = fields.Char(related='wp_id.identity_number',
string="No Identitas", store=True)
......@@ -64,8 +69,10 @@ class BphtbSales(models.Model):
('canceled', 'Canceled'),
], default='draft')
nop = fields.Char(size=18)
tax_year = fields.Integer()
nop = fields.Char(size=18, readonly=True,
states={'draft': [('readonly', False)]}, )
tax_year = fields.Integer(readonly=True,
states={'draft': [('readonly', False)]}, )
# kd_propinsi = Column(String(2), nullable=False)
# kd_dati2 = Column(String(2), nullable=False)
# kd_kecamatan = Column(String(3), nullable=False)
......@@ -77,29 +84,43 @@ class BphtbSales(models.Model):
# op_blok_kav = Column(String(128), nullable=False)
# op_rt = Column(String(3), nullable=False)
# op_rw = Column(String(3), nullable=False)
luas_bumi = fields.Float()
luas_bng = fields.Float()
njop_bumi = fields.Float()
njop_bng = fields.Float()
luas_bumi_bersama = fields.Float()
luas_bng_bersama = fields.Float()
njop_bumi_bersama = fields.Float()
njop_bng_bersama = fields.Float()
certicate_no = fields.Char(required=True)
luas_bumi = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
luas_bng = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
njop_bumi = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
njop_bng = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
luas_bumi_bersama = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
luas_bng_bersama = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
njop_bumi_bersama = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
njop_bng_bersama = fields.Float(readonly=True,
states={'draft': [('readonly', False)]}, )
certicate_no = fields.Char(readonly=True,
states={'draft': [('readonly', False)]}, )
njop = fields.Float(compute="_compute_njop", store=True)
jenis_id = fields.Many2one('bphtb.jenis')
jenis_id = fields.Many2one('bphtb.jenis', readonly=True,
states={'draft': [('readonly', False)]},)
rate = fields.Float(related='jenis_id.rate', store=True, readonly=True)
min_omzet = fields.Float(related='jenis_id.min_omzet', store=True, readonly=True)
disc_sk = fields.Char(required=False)
disc_sk = fields.Char(required=False, readonly=True,
states={'draft': [('readonly', False)]},)
disc = fields.Float(related='jenis_id.disc', store=True, readonly=True)
npop = fields.Float()
npop = fields.Float( readonly=True,
states={'draft': [('readonly', False)]},)
basic_calc = fields.Float(compute="_compute_basic_calc")
npopkp = fields.Float()
npopkp = fields.Float( readonly=True,
states={'draft': [('readonly', False)]},)
basic = fields.Float()
fine = fields.Float()
amount = fields.Float()
disc_amount = fields.Float()
payment = fields.Float()
payment = fields.Float( readonly=True,
states={'draft': [('readonly', False)]},)
owed = fields.Float(compute="_compute_owed")
typ = fields.Selection([
('sspd', 'SSPD'),
......
<?xml version="1.0"?>
<odoo>
<data noupdate="0">
<record model="ir.rule" id="bphtb_sales_ppat_rule">
<field name="name">bphtb.sales ppat</field>
<field name="model_id" ref="model_bphtb_sales"/>
<field name="groups" eval="[4,ref('group_bphtb_ppat')]"/>
<field name="domain_force">[('ppat_id', '=', user.partner_id.parent_id and user.partner_id.parent_id.id or
user.partner_id.id
)]
</field>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<record model="ir.rule" id="bphtb_sales_bphtb_admin_rule">
<field name="name">bphtb.sales bphtb admin</field>
<field name="model_id" ref="model_bphtb_sales"/>
<field name="groups" eval="[4,ref('group_bphtb_admin')]"/>
<field name="domain_force">[('company_id', '=', user.company_id.id)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<!-- <record model="ir.rule" id="bphtb_sales_edit_disable">-->
<!-- <field name="name">bphtb_sales_edit_disable</field>-->
<!-- <field name="model_id" ref="model_bphtb_sales"/>-->
<!-- <field name="domain_force">[('state','!=','draft')]</field>-->
<!-- <field name="perm_read" eval="True"/>-->
<!-- <field name="perm_write" eval="False"/>-->
<!-- <field name="perm_unlink" eval="False"/>-->
<!-- <field name="perm_create" eval="True"/>-->
<!-- </record>-->
<record model="ir.rule" id="partner_bphtb_admin_rule">
<field name="name">partner bphtb admin</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="groups" eval="[4,ref('group_bphtb_admin')]"/>
<field name="domain_force">[('company_id', '=', user.company_id.id)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<record model="ir.rule" id="partner_bphtb_ppat_rule">
<field name="name">partner bphtb ppat</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="groups" eval="[4,ref('group_bphtb_ppat')]"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="False"/>
</record>
<record model="ir.rule" id="partner_bphtb_ppat_read_rule">
<field name="name">partner bphtb ppat read</field>
<field name="model_id" ref="base.model_res_partner"/>
<field name="groups" eval="[4,ref('group_bphtb_ppat')]"/>
<field name="domain_force">[('create_uid', '!=', user.id)]</field>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="False"/>
<field name="perm_write" eval="False"/>
<field name="perm_unlink" eval="False"/>
</record>
</data>
</odoo>
\ No newline at end of file
......@@ -50,7 +50,8 @@
name="PPAT"
parent="config_bphtb_menu"
action="action_ppat_config_bphtb_kab"
sequence="4"/>
sequence="4"
groups="group_bphtb_admin"/>
<menuitem id="wp_config_bphtb_menu"
name="Wajib Pajak"
parent="config_bphtb_menu"
......
<odoo>
<data>
<!-- <record id="res_partner_ppat_search" model="ir.ui.view">-->
<!-- <field name="name">res.partner.ppat.search.inherit</field>-->
<!-- <field name="model">res.partner</field>-->
<!-- <field name="inherit_id" ref="base.view_res_partner_filter"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <xpath expr="//filter[@name='inactive']" position="before">-->
<!-- <filter string="PPAT" name="ppat" domain="[('type','=', 'ppat')]"/>-->
<!-- <filter string="Wajib Pajak" name="wp" domain="[('type','=', 'wp')]"/>-->
<!-- <separator/>-->
<!-- </xpath>-->
<!-- </field>-->
<!-- </record>-->
<!-- <record id="res_partner_ppat_search" model="ir.ui.view">-->
<!-- <field name="name">res.partner.ppat.search.inherit</field>-->
<!-- <field name="model">res.partner</field>-->
<!-- <field name="inherit_id" ref="base.view_res_partner_filter"/>-->
<!-- <field name="arch" type="xml">-->
<!-- <xpath expr="//filter[@name='inactive']" position="before">-->
<!-- <filter string="PPAT" name="ppat" domain="[('type','=', 'ppat')]"/>-->
<!-- <filter string="Wajib Pajak" name="wp" domain="[('type','=', 'wp')]"/>-->
<!-- <separator/>-->
<!-- </xpath>-->
<!-- </field>-->
<!-- </record>-->
<record id="action_ppat_config_bphtb_kab" model="ir.actions.act_window">
<field name="name">PPAT</field>
<field name="res_model">res.partner</field>
<field name="view_mode">kanban,tree,form</field>
<field name="domain">[('type','=','ppat')]</field>
<field name="context">{
'default_is_company': True,
'default_type': 'ppat'}
......
<odoo>
<data>
<record id="action_report_bphtb_sspd" model="ir.actions.report">
<field name="name">Format SSPD</field>
<field name="name">Format SSPD PDF</field>
<field name="model">bphtb.sales</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">bphtb_kab.report_bphtb_sspd</field>
......@@ -10,8 +10,36 @@
<field name="binding_type">report</field>
</record>
<record id="view_bphtb_sspd_filter" model="ir.ui.view">
<field name="name">view.bphtb.sspd.filter</field>
<field name="model">bphtb.sales</field>
<field name="arch" type="xml">
<search string="Search SSPD">
<!-- <field name="name" string="SSPD" filter_domain="[('nop', 'ilike', self)]"/>-->
<field name="ppat_id"/>
<field name="wp_id"/>
<field name="request_date"/>
<separator/>
<filter string="Draft" name="draft" domain="[('state', '=', 'draft')]" help="Draft"/>
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]" help="Confirmed"/>
<filter string="Canceled" name="canceled" domain="[('state', '=', 'canceled')]"/>
<separator/>
<!-- <filter string="Jenis" name="jenis" date="jenis_id"/>-->
<filter string="Date" name="date" date="request_date"/>
<!-- <separator/>-->
<group expand="0" string="Group By">
<filter string="PPAT" name="ppat" domain="[]" context="{'group_by': 'ppat_id'}"/>
<filter string="Jenis" name="jenis" domain="[]" context="{'group_by': 'jenis_id'}"/>
<filter string="WP" name="wp" domain="[]" context="{'group_by': 'wp_id'}"/>
<filter string="Status" name="status" domain="[]" context="{'group_by': 'state'}"/>
<filter string="Date" name="by_date" domain="[]" context="{'group_by': 'request_date'}"/>
</group>
</search>
</field>
</record>
<record id="action_report_bphtb_sspd_preview" model="ir.actions.report">
<field name="name">Format SSPD</field>
<field name="name">Format SSPD HTML</field>
<field name="model">bphtb.sales</field>
<field name="report_type">qweb-html</field>
<field name="report_name">bphtb_kab.report_bphtb_sspd</field>
......@@ -20,6 +48,7 @@
<field name="binding_type">report</field>
</record>
<record id="bphtb_sspd_tree" model="ir.ui.view">
<field name="name">bphtb.sspd.tree</field>
<field name="model">bphtb.sales</field>
......@@ -35,25 +64,28 @@
</tree>
</field>
</record>
<record id="bphtb_sspd_form" model="ir.ui.view">
<field name="name">bphtb.sspd.form</field>
<field name="model">bphtb.sales</field>
<field name="arch" type="xml">
<form string="SSPD" attrs="{'readonly':[('state','!=','draft')]}">
<form string="SSPD">
<header>
<button name="action_confirm" string="Confirm" class="oe_highlight"
type="object" groups="bphtb_kab.group_bphtb_ppat"
attrs="{'invisible': [('state', '!=', 'draft')]}"/>
<button name="action_print" string="Print" class="oe_highlight"
type="object" groups="bphtb_kab.group_bphtb_ppat"
attrs="{'invisible': [('state', '!=', 'confirmed')]}"/>
<button name="action_draft" string="Draft" class="oe_highlight"
type="object" groups="bphtb_kab.group_bphtb_ppat"
attrs="{'invisible': ['|',('state', '=', 'draft'), ('printed', '=', True)]}"/>
<button name="action_cancel" string="Cancel" class="oe_highlight"
type="object" groups="bphtb_kab.group_bphtb_ppat"
attrs="{'invisible': ['|',('state', '=', 'draft'), ('printed', '=', True)]}"/>
<button name="%(action_report_bphtb_sspd_preview)d" string="Preview" type="action"/>
<button name="action_print" string="Print" class="oe_highlight"
type="object" groups="bphtb_kab.group_bphtb_ppat"
attrs="{'invisible': [('state', '!=', 'confirmed')]}"/>
<button name="%(action_report_bphtb_sspd_preview)d"
attrs="{'invisible': [('state', '!=', 'confirmed')]}"
string="Preview" type="action"/>
<field name="state" widget="statusbar" statusbar_visible="draft,posted"/>
<field name="printed" invisible="1"/>
</header>
......@@ -67,7 +99,7 @@
</h1>
<group>
<field name="typ" readonly="1"/>
<field name="ppat_id" readonly="1"/>
<field name="ppat_id" domain="[('type','=','ppat')]"/>
<field name="request_date"/>
</group>
<notebook col_span="4">
......@@ -177,8 +209,6 @@
</group>
<group>
<!-- <label for="disc_sk" string="Pengurangan Dihitung Sendiri"/>-->
<!-- <group>-->
<field name="disc_sk"/>
<field name="disc"/>
<field name="amount" readonly="1"/>
......@@ -195,12 +225,26 @@
</field>
</record>
<record id="bphtb_sspd_form_ppat" model="ir.ui.view">
<field name="name">bphtb.sspd.form.ppat</field>
<field name="model">bphtb.sales</field>
<field name="inherit_id" ref="bphtb_sspd_form"/>
<field name="groups_id" eval="[(4,ref('group_bphtb_ppat'),0)]"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='ppat_id']" position="attributes">
<attribute name="readonly">1</attribute>
</xpath>
</field>
</record>
<record id="action_sspd_bphtb_kab" model="ir.actions.act_window">
<field name="name">SSPD</field>
<field name="res_model">bphtb.sales</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('typ','=','sspd')]</field>
<field name="view_id" ref="bphtb_sspd_tree"/>
<field name="search_view_id" ref="view_bphtb_sspd_filter"/>
<field name="context">{
'default_typ': 'sspd'}
</field>
......
......@@ -13,16 +13,6 @@ class Company(models.Model):
'res.company', compute='_compute_address', inverse='_inverse_company',
string="Company"
)
typ = fields.Selection([
('kab', 'Kabupaten'),
('kabtif', 'Kabupaten Administratif'),
('kota', 'Kota'),
('kotif', 'Kota Administratif'),
('prov', 'Provinsi'),
('provtif', 'Provinsi Administratif'),
],
string='Jenis', required=False)
district_id = fields.Many2one(
'res.district', compute='_compute_address', inverse='_inverse_district',
string="Kab/Kota", domain="[('state_id', '=?', state_id)]"
......
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_company_tree_id" model="ir.ui.view">
<field name="name">res.company.form.tree.id</field>
<field name="model">res.company</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="partner_id"/>
<field name="district_id"/>
<field name="state_id"/>
</tree>
</field>
</record>
<record id="view_company_form_id" model="ir.ui.view">
<field name="name">res.company.form.inherit.id</field>
<field name="model">res.company</field>
<field name="inherit_id" ref="base.view_company_form"/>
<field name="priority">4</field>
<field name="arch" type="xml">
<xpath expr="//field[@name='name']" position="before">
<h3>
<field name="typ"/>
</h3>
</xpath>
<xpath expr="//field[@name='city']" position="attributes">
<attribute name="invisible">1</attribute>
</xpath>
......@@ -30,7 +38,7 @@
<field name="name">Lembaga/Organisasi</field>
<field name="res_model">res.company</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="base.view_company_tree"/>
<field name="view_id" ref="view_company_tree_id"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Lembaga/Organisasi
......
......@@ -23,5 +23,7 @@
<field name="domain_force">[('id', 'child_of', user.partner_id.id)]
</field>
</record>
</data>
</odoo>
\ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!