[IMP] stock_picking_batch: Views cleanup

This commit is contained in:
Arnaud Baes
2019-08-14 12:27:05 +00:00
parent 5a70d10439
commit 2f2e12eea1
12 changed files with 37 additions and 37 deletions
+1 -1
View File
@@ -75,7 +75,7 @@
</button>
<button name="%(action_mrp_production_moves)d" type="action" string="Product Moves" class="oe_stat_button" icon="fa-exchange" attrs="{'invisible': [('state', 'not in', ('progress', 'done'))]}"/>
<button type="object" name="action_view_mo_delivery" class="oe_stat_button" icon="fa-truck" groups="base.group_user" attrs="{'invisible': [('delivery_count', '=', 0)]}">
<field name="delivery_count" widget="statinfo" string="Pickings"/>
<field name="delivery_count" widget="statinfo" string="Transfers"/>
</button>
<button class="oe_stat_button" name="action_see_move_scrap" type="object" icon="fa-arrows-v" attrs="{'invisible': [('scrap_count', '=', 0)]}">
<div class="o_field_widget o_stat_info">
+1 -1
View File
@@ -32,7 +32,7 @@ class SaleOrder(models.Model):
'stock.warehouse', string='Warehouse',
required=True, readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
default=_default_warehouse_id)
picking_ids = fields.One2many('stock.picking', 'sale_id', string='Pickings')
picking_ids = fields.One2many('stock.picking', 'sale_id', string='Transfers')
delivery_count = fields.Integer(string='Delivery Orders', compute='_compute_picking_ids')
procurement_group_id = fields.Many2one('procurement.group', 'Procurement Group', copy=False)
effective_date = fields.Date("Effective Date", compute='_compute_effective_date', store=True, help="Completion date of the first delivery order.")
@@ -13,7 +13,7 @@
<!-- Stock Portal Access Rules -->
<record id="stock_picking_rule_portal" model="ir.rule">
<field name="name">Portal Follower Pickings</field>
<field name="name">Portal Follower Transfers</field>
<field name="model_id" ref="stock.model_stock_picking"/>
<field name="domain_force">['|', '|', ('message_partner_ids', 'in', [user.partner_id.id]), ('partner_id', '=', user.partner_id.id), ('sale_id.partner_id', '=', user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
@@ -44,7 +44,7 @@
<div class="o_setting_right_pane">
<label for="module_stock_picking_batch"/>
<div class="text-muted">
Process picking in batch per worker
Process transfers in batch per worker
</div>
</div>
</div>
+3 -3
View File
@@ -380,10 +380,10 @@
<filter name="draft" string="Draft" domain="[('state','=','draft')]" help="Draft Moves"/>
<filter name="waiting" string="Waiting" domain="[('state','in', ('confirmed', 'waiting'))]" help="Waiting Moves"/>
<filter name="available" string="Ready" domain="[('state','in',('assigned', 'partially_available'))]" help="Assigned Moves"/>
<filter name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
<filter name="done" string="Done" domain="[('state','=','done')]" help="Transfers already processed"/>
<filter name="cancel" string="Cancelled" domain="[('state','=', 'cancel')]" help="Cancelled Moves"/>
<separator/>
<filter name="late" string="Late" domain="[('scheduled_date','&lt;', time.strftime('%%Y-%%m-%%d %%H:%%M:%%S')), ('state', 'in', ('assigned', 'waiting', 'confirmed'))]" help="Pickings that are late on scheduled time"/>
<filter name="late" string="Late" domain="[('scheduled_date','&lt;', time.strftime('%%Y-%%m-%%d %%H:%%M:%%S')), ('state', 'in', ('assigned', 'waiting', 'confirmed'))]" help="Transfers that are late on scheduled time"/>
<separator/>
<filter name="backorder" string="Backorders" domain="[('backorder_id','!=', False), ('state', 'in', ('assigned', 'waiting', 'confirmed'))]" help="Remaining parts of picking partially processed"/>
<separator/>
@@ -556,7 +556,7 @@ action = action_values
</field>
</record>
<record id="do_view_pickings" model="ir.actions.act_window">
<field name="name">Pickings for Groups</field>
<field name="name">Transfers for Groups</field>
<field name="res_model">stock.picking</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('group_id','=',active_id)]</field>
+1 -1
View File
@@ -12,7 +12,7 @@
<form string="Procurement group">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="%(do_view_pickings)d" string="Pickings" type="action" class="oe_stat_button" icon="fa-truck"/>
<button name="%(do_view_pickings)d" string="Transfers" type="action" class="oe_stat_button" icon="fa-truck"/>
</div>
<group>
<field name="name"/>
+3 -3
View File
@@ -2,12 +2,12 @@
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Warehouse Management: Batch Picking',
'name': 'Warehouse Management: Batch Transfer',
'version': '1.0',
'category': 'Warehouse',
'description': """
This module adds the batch picking option in warehouse management
=================================================================
This module adds the batch transfer option in warehouse management
==================================================================
""",
'depends': ['stock'],
'data': [
@@ -9,7 +9,7 @@
</record>
<record id="seq_picking_batch" model="ir.sequence">
<field name="name">Batch Picking</field>
<field name="name">Batch Transfer</field>
<field name="code">picking.batch</field>
<field name="prefix">BATCH/</field>
<field name="padding">5</field>
@@ -8,22 +8,22 @@ from odoo.exceptions import UserError
class StockPickingBatch(models.Model):
_inherit = ['mail.thread', 'mail.activity.mixin']
_name = "stock.picking.batch"
_description = "Batch Picking"
_description = "Batch Transfer"
_order = "name desc"
name = fields.Char(
string='Batch Picking Name', default='New',
string='Batch Transfer Name', default='New',
copy=False, required=True,
help='Name of the batch picking')
help='Name of the batch transfer')
user_id = fields.Many2one(
'res.users', string='Responsible', tracking=True,
help='Person responsible for this batch picking')
help='Person responsible for this batch transfer')
picking_ids = fields.One2many(
'stock.picking', 'batch_id', string='Pickings',
help='List of picking associated to this batch')
'stock.picking', 'batch_id', string='Transfers',
help='List of transfers associated to this batch')
state = fields.Selection([
('draft', 'Draft'),
('in_progress', 'Running'),
('in_progress', 'In progress'),
('done', 'Done'),
('cancel', 'Cancelled')], default='draft',
copy=False, tracking=True, required=True)
@@ -52,12 +52,12 @@ class StockPickingBatch(models.Model):
def done(self):
pickings = self.mapped('picking_ids').filtered(lambda picking: picking.state not in ('cancel', 'done'))
if any(picking.state not in ('assigned') for picking in pickings):
raise UserError(_('Some pickings are still waiting for goods. Please check or force their availability before setting this batch to done.'))
raise UserError(_('Some transfers are still waiting for goods. Please check or force their availability before setting this batch to done.'))
for picking in pickings:
picking.message_post(
body="<b>%s:</b> %s <a href=#id=%s&view_type=form&model=stock.picking.batch>%s</a>" % (
_("Transferred by"),
_("Batch Picking"),
_("Batch Transfer"),
picking.batch_id.id,
picking.batch_id.name))
@@ -109,6 +109,6 @@ class StockPicking(models.Model):
_inherit = "stock.picking"
batch_id = fields.Many2one(
'stock.picking.batch', string='Batch Picking',
'stock.picking.batch', string='Batch Transfer',
states={'done': [('readonly', True)], 'cancel': [('readonly', True)]},
help='Batch associated to this picking', copy=False)
help='Batch associated to this transfer', copy=False)
@@ -2,7 +2,7 @@
<odoo>
<data>
<report
string="Batch Picking"
string="Batch Transfer"
id="action_report_picking_batch"
model="stock.picking.batch"
report_type="qweb-pdf"
@@ -5,7 +5,7 @@
<field name="name">stock.picking.batch.form</field>
<field name="model">stock.picking.batch</field>
<field name="arch" type="xml">
<form string="Stock Batch Picking">
<form string="Stock Batch Transfer">
<header>
<button name="confirm_picking" states="draft" string="Confirm" type="object" class="oe_highlight"/>
<button name="print_picking" string="Print" type="object" class="oe_highlight"/>
@@ -22,14 +22,14 @@
<field name="user_id"/>
</group>
</group>
<separator string="Pickings"/>
<separator string="Transfers"/>
<field name="picking_ids" widget="many2many" domain="[('state', 'not in', ('done', 'cancel'))]" options="{'not_delete': True}">
<tree>
<field name="name"/>
<field name="scheduled_date"/>
<field name="location_id"/>
<field name="backorder_id"/>
<field name="origin"/>
<field name="date"/>
<field name="scheduled_date"/>
<field name="state"/>
<button name="action_assign" string="Confirm picking" type="object" icon="fa-check text-success" attrs="{'invisible': [('state', 'in', ('done', 'cancel', 'confirmed', 'assigned'))]}"/>
<button name="action_cancel" string="Cancel picking" type="object" icon="fa-times-circle text-danger" attrs="{'invisible': [('state', 'in', ('done', 'cancel'))]}"/>
@@ -48,7 +48,7 @@
<field name="name">stock.picking.batch.tree</field>
<field name="model">stock.picking.batch</field>
<field name="arch" type="xml">
<tree string="Stock Batch Picking" decoration-muted="state=='cancel'">
<tree string="Stock Batch Transfer" decoration-muted="state=='cancel'">
<field name="name"/>
<field name="user_id"/>
<field name="state"/>
@@ -89,9 +89,9 @@
<field name="name">stock.picking.batch.filter</field>
<field name="model">stock.picking.batch</field>
<field name="arch" type="xml">
<search string="Search Batch Picking">
<field name="name" string="Batch Picking"/>
<filter name="in_progress" string="Running" domain="[('state', '=', 'in_progress')]" help="Batch Pickings not finished"/>
<search string="Search Batch Transfer">
<field name="name" string="Batch Transfer"/>
<filter name="in_progress" string="Running" domain="[('state', '=', 'in_progress')]" help="Batch Transfers not finished"/>
<field name="user_id"/>
<filter invisible="1" string="Late Activities" name="activities_overdue"
domain="[('activity_ids.date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
@@ -110,7 +110,7 @@
</field>
</record>
<record id="stock_picking_batch_action" model="ir.actions.act_window">
<field name="name">Batch Pickings</field>
<field name="name">Batch Transfers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.picking.batch</field>
<field name="view_mode">tree,kanban,form</field>
@@ -118,9 +118,9 @@
<field name="search_view_id" ref="stock_picking_batch_filter"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new batch picking
Create a new batch transfer
</p><p>
The goal of the batch picking is to group operations that may
The goal of the batch transfer is to group operations that may
(needs to) be done together in order to increase their efficiency.
It may also be useful to assign jobs (one person = one batch) or
help the timing management of operations (tasks to be done at 1pm).
@@ -6,9 +6,9 @@ from odoo import api, fields, models
class StockPickingToBatch(models.TransientModel):
_name = 'stock.picking.to.batch'
_description = 'Batch Picking Lines'
_description = 'Batch Transfer Lines'
batch_id = fields.Many2one('stock.picking.batch', string='Batch Picking')
batch_id = fields.Many2one('stock.picking.batch', string='Batch Transfer')
def attach_pickings(self):
# use active_ids to add picking line to the selected batch