Skip to content

Commit

Permalink
[IMP] stock_batch_picking_ux: change picking_code to picking_type_code.
Browse files Browse the repository at this point in the history
  • Loading branch information
vib-adhoc committed Oct 27, 2022
1 parent 1c4da09 commit 5bac026
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 50 deletions.
2 changes: 1 addition & 1 deletion stock_batch_picking_ux/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
##############################################################################
{
'name': 'Stock Usability with Batch Picking and stock vouchers',
'version': "15.0.1.0.0",
'version': "15.0.1.1.0",
'category': 'Warehouse Management',
'sequence': 14,
'summary': '',
Expand Down
37 changes: 4 additions & 33 deletions stock_batch_picking_ux/models/stock_batch_picking.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,6 @@ class StockPickingBatch(models.Model):

_inherit = 'stock.picking.batch'

# operation_type = fields.Selection([
# ('incoming', 'Suppliers'),
# ('outgoing', 'Customers'),
# ('internal', 'Internal')],
# 'Type of Operation',
# required=True,
# )
# preferimos limitar por picking type para no confundir a los usuarios
# porque si no podrian imaginar que al seleccionar recepciones de distintos
# lugares van a estar recibiendo todo en una misma
picking_code = fields.Selection([
('incoming', 'Suppliers'),
('outgoing', 'Customers'),
('internal', 'Internal'),
],
'Type of Operation',
# related='picking_type_id.code',
# readonly=True,
required=True,
# el default sobre todo para que no necesitemos script de migracion
default='incoming',
states={'done': [('readonly', True)], 'cancel': [('readonly', True)]},
)
# picking_type_id = fields.Many2one(
# 'stock.picking.type',
# 'Picking Type',
# states={'done': [('readonly', True)], 'cancel': [('readonly', True)]},
# required=True,
# )
partner_id = fields.Many2one(
'res.partner',
# por ahora lo hacemos requerido porque si no tenemos que hacer algun
Expand Down Expand Up @@ -88,7 +59,7 @@ def _compute_picking_type_data(self):
# este viene exigido desde la cia pero seguramente lo movamos a
# exigir desde picking type
# solo es requerido para outgoings
if rec.picking_code == 'outgoing':
if rec.picking_type_code == 'outgoing':
rec.restrict_number_package = any(
x.picking_type_id.restrict_number_package
for x in rec.picking_ids)
Expand All @@ -105,7 +76,7 @@ def _compute_picking_type_data(self):
# )

# @api.onchange('picking_type_id', 'partner_id')
@api.onchange('picking_code', 'partner_id')
@api.onchange('picking_type_code', 'partner_id')
def changes_set_pickings(self):
# if we change type or partner reset pickings
self.picking_ids = False
Expand Down Expand Up @@ -157,7 +128,7 @@ def action_transfer(self):
rec.picking_ids.write({
'number_of_packages': rec.number_of_packages})

if rec.picking_code == 'incoming' and rec.voucher_number:
if rec.picking_type_code == 'incoming' and rec.voucher_number:
for picking in rec.active_picking_ids:
# agregamos esto para que no se asigne a los pickings
# que no se van a recibir ya que todavia no se limpiaron
Expand All @@ -170,7 +141,7 @@ def action_transfer(self):
'picking_id': picking.id,
'name': rec.voucher_number,
})
elif rec.picking_code != 'incoming':
elif rec.picking_type_code != 'incoming':
# llamamos al chequeo de stock voucher ya que este metodo
# termina usando do_transfer pero el chequeo se llama solo
# con do_new_transfer
Expand Down
27 changes: 11 additions & 16 deletions stock_batch_picking_ux/views/stock_batch_picking_views.xml
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
<odoo>

<!-- stock.picking.batch tree view -->
<!-- stock.picking.batch search view -->
<record model="ir.ui.view" id="stock_batch_picking_search">
<field name="name">stock.picking.batch.form</field>
<field name="name">stock.picking.batch.search</field>
<field name="model">stock.picking.batch</field>
<field name="inherit_id" ref="stock_picking_batch_extended.stock_batch_picking_search"/>
<field name="arch" type="xml">
<field name="name" position="after">
<!-- al buscar por picking busca por nro de remto -->
<field name="picking_ids"/>
<field name="picking_code"/>
<!-- <field name="picking_type_id"/> -->
<field name="picking_type_code"/>
</field>
<group>
<filter name="picking_code" string="Type of Operation" context="{'group_by':'picking_code'}"/>
<!-- <filter name="picking_type_id" string="Picking Type" context="{'group_by':'picking_type_id'}"/> -->
<filter name="picking_type_code" string="Type of Operation" context="{'group_by':'picking_type_code'}"/>
</group>
</field>
</record>

<!-- stock.picking.batch tree view -->
<record model="ir.ui.view" id="stock_batch_picking_tree">
<field name="name">stock.picking.batch.form</field>
<field name="name">stock.picking.batch.tree</field>
<field name="model">stock.picking.batch</field>
<field name="inherit_id" ref="stock_picking_batch_extended.stock_batch_picking_tree"/>
<field name="arch" type="xml">
<field name="name" position="after">
<field name="vouchers"/>
<!-- <field name="picking_type_id"/> -->
<field name="picking_code"/>
<field name="picking_type_code"/>
<!-- <field name="picking_ids"/> -->
</field>
</field>
Expand Down Expand Up @@ -57,23 +54,21 @@
</field>

<field name="user_id" position="before">
<field name="picking_code" invisible="1"/>
<field name="voucher_required" invisible="1"/>
<field name="picking_code"/>
<!-- <field name="picking_type_id"/> -->
<!-- al final lo sacamos porque ya lo estamos usando para otros tipos -->
<field name="picking_type_code" invisible="1"/>
<field name="picking_type_id"/>
<!-- como por ahora solo lo usamos para entrada lo restringimos -->
<field name="partner_id" context="{'res_partner_search_mode': picking_code == 'incoming' and 'supplier' or 'customer'}"/>
<field name="partner_id" context="{'res_partner_search_mode': picking_type_code == 'incoming' and 'supplier' or 'customer'}"/>
<field name="company_id" groups="base.group_multi_company" attrs="{'readonly': [('picking_ids', '!=', [])]}" force_save="1"/>
<!-- <field name="partner_id" context="{'search_default_supplier':1, 'default_supplier':1, 'default_customer':0}" domain="[('supplier','=',True)]"/> -->
<field name="voucher_number" attrs="{'invisible': [('picking_code','!=','incoming')], 'required': [('voucher_required','=',True)]}"/>
<field name="voucher_number" attrs="{'invisible': [('picking_type_code','!=','incoming')], 'required': [('voucher_required','=',True)]}"/>
<field name="number_of_packages"/>
<!-- <field name="voucher_ids" attrs="{'invisible': [('picking_type_code','!=','incoming')]}" widget="many2many_tags" context="{'default_batch_picking': id}" domain="[('id', '=', False)]" options="{'create':True, 'create_edit':True}}"/> -->
</field>

<field name="picking_ids" position="attributes">
<attribute name="context">{'show_print_button': 1}</attribute>
<attribute name="domain">[('company_id', '=', company_id), ('partner_id', '=', partner_id), ('picking_type_id.code', '=', picking_code), ('state', 'in', ('confirmed', 'partially_available', 'assigned'))]</attribute>
<attribute name="domain">[('company_id', '=', company_id), ('partner_id', '=', partner_id), ('picking_type_id.code', '=', picking_type_code), ('state', 'in', ('confirmed', 'partially_available', 'assigned'))]</attribute>
<!-- <attribute name="domain">[('partner_id', '=', partner_id), ('picking_type_id', '=', picking_type_id), ('state', 'in', ('confirmed', 'partially_available', 'assigned'))]</attribute> -->
</field>

Expand Down

0 comments on commit 5bac026

Please sign in to comment.