add picktype group

This commit is contained in:
ivan deng
2018-03-28 14:31:47 +08:00
parent bd189ad155
commit 7902df2c4f
19 changed files with 481 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
from hooks import pre_init_hook
from . import models
from . import ir
from . import res

View File

@@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
# Created on 2017-11-05
# author: 广州尚鹏http://www.sunpop.cn
# email: 300883@qq.com
# resource of Sunpop
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Odoo在线中文用户手册长期更新
# http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html
# Odoo10离线中文用户手册下载
# http://www.sunpop.cn/odoo10_user_manual_document_offline/
# Odoo10离线开发手册下载-含python教程jquery参考Jinja2模板PostgresSQL参考odoo开发必备
# http://www.sunpop.cn/odoo10_developer_document_offline/
# description:
{
'name': "App stock picking type group,库存作业类型分组",
'version': '11.0.3.24',
'author': 'Sunpop.cn',
'category': 'Base',
'website': 'http://www.sunpop.cn',
'license': 'LGPL-3',
'sequence': 2,
'summary': """
广州尚鹏Sunpop.cn 的odoo模块。用于将库存作业分组UI更方便。
""",
'description': """
模块开发模板,目录结构与文件定义。
""",
'pre_init_hook': 'pre_init_hook',
'depends': ['stock'],
'images': ['static/description/demo1.jpg'],
'currency': 'EUR',
'price': 38,
'data': [
'views/stock_picking_type_group_views.xml',
'views/stock_picking_type_views.xml',
'data/stock_data.yml'
],
'demo': [
],
'test': [
],
'css': [
],
'qweb': [
],
'js': [
],
'images': [
],
'installable': True,
'application': True,
'auto_install': False,
}

View File

@@ -0,0 +1,19 @@
-
!record {model: stock.picking.type.group, id: stock_picking_type_group_mrp}:
name: Manufacturing
sequence: 3
-
!record {model: stock.picking.type.group, id: stock_picking_type_group_sale}:
name: Sales
sequence: 4
-
!record {model: stock.picking.type.group, id: stock_picking_type_group_purchase}:
name: Purchase
sequence: 5
-
!record {model: stock.picking.type.group, id: stock_picking_type_group_stock}:
name: Stock
sequence: 5

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data noupdate="0">
<record id="seq_product_auto" model="ir.sequence">
<field name="name">Sequence for All Products</field>
<field name="code">product.product</field>
<field name="prefix">PR%(y)s%(month)s</field>
<field name="padding">5</field>
<field name="company_id" eval="False"/>
<field name="initial">True</field>
</record>
</data>
</odoo>

View File

@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
# Created on 2017-11-22
# author: 广州尚鹏http://www.sunpop.cn
# email: 300883@qq.com
# resource of Sunpop
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
# Odoo在线中文用户手册长期更新
# http://www.sunpop.cn/documentation/user/10.0/zh_CN/index.html
# Odoo10离线中文用户手册下载
# http://www.sunpop.cn/odoo10_user_manual_document_offline/
# Odoo10离线开发手册下载-含python教程jquery参考Jinja2模板PostgresSQL参考odoo开发必备
# http://www.sunpop.cn/odoo10_developer_document_offline/
# description:
def pre_init_hook(cr):
"""
数据初始化,只在安装时执行,更新时不执行
"""
try:
# --设置barcode默认=物料编码
cr.execute("delete from ir_ui_view where name like '%.readonly';")
except Exception, e:
raise Warning(e)

View File

@@ -0,0 +1,135 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * app_stock_picking_type_group
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0+e-20180326\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-27 09:13+0000\n"
"PO-Revision-Date: 2018-03-27 09:13+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_active
msgid "Active"
msgstr "有效"
#. module: app_stock_picking_type_group
#: model:ir.actions.act_window,name:app_stock_picking_type_group.action_picking_type_group_list
msgid "All Picking Types Group"
msgstr "作业类型分组"
#. module: app_stock_picking_type_group
#: model:ir.actions.act_window,help:app_stock_picking_type_group.action_picking_type_group_list
msgid "Click to define a new picking type group."
msgstr "点击创建一条新的记录."
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_color
msgid "Color"
msgstr "颜色"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_create_uid
msgid "Created by"
msgstr "创建人"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_create_date
msgid "Created on"
msgstr "创建时间"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_display_name
msgid "Display Name"
msgstr "显示名称"
#. module: app_stock_picking_type_group
#: model:ir.ui.view,arch_db:app_stock_picking_type_group.app_view_pickingtype_filter
msgid "Group By"
msgstr "分组"
#. module: app_stock_picking_type_group
#: model:ir.model,name:app_stock_picking_type_group.model_stock_picking_type_group
msgid "Group the picking view"
msgstr "作业类型分组"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_id
msgid "ID"
msgstr "ID"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group___last_update
msgid "Last Modified on"
msgstr "最后修改日"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_write_uid
msgid "Last Updated by"
msgstr "最后更新人"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_write_date
msgid "Last Updated on"
msgstr "最后更新时间"
#. module: app_stock_picking_type_group
#: model:stock.picking.type.group,name:app_stock_picking_type_group.stock_picking_type_group_mrp
msgid "Manufacturing"
msgstr "制造组"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_picking_type_group_id
#: model:ir.ui.view,arch_db:app_stock_picking_type_group.app_view_pickingtype_filter
msgid "Picking Type Group"
msgstr "作业类型分组"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_name
msgid "Picking Type Group Name"
msgstr "分组名称"
#. module: app_stock_picking_type_group
#: model:ir.ui.menu,name:app_stock_picking_type_group.menu_pickingtype_group
#: model:ir.ui.view,arch_db:app_stock_picking_type_group.app_view_picking_type_group_form
#: model:ir.ui.view,arch_db:app_stock_picking_type_group.app_view_picking_type_group_tree
msgid "Picking Types Group"
msgstr "作业类型分组"
#. module: app_stock_picking_type_group
#: model:stock.picking.type.group,name:app_stock_picking_type_group.stock_picking_type_group_purchase
msgid "Purchase"
msgstr "采购组"
#. module: app_stock_picking_type_group
#: model:stock.picking.type.group,name:app_stock_picking_type_group.stock_picking_type_group_sale
msgid "Sales"
msgstr "销售组"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,field_description:app_stock_picking_type_group.field_stock_picking_type_group_sequence
msgid "Sequence"
msgstr "序号"
#. module: app_stock_picking_type_group
#: model:stock.picking.type.group,name:app_stock_picking_type_group.stock_picking_type_group_stock
msgid "Stock"
msgstr "库存组"
#. module: app_stock_picking_type_group
#: model:ir.model,name:app_stock_picking_type_group.model_stock_picking_type
msgid "The picking type determines the picking view"
msgstr "拣货类型决定拣货视图"
#. module: app_stock_picking_type_group
#: model:ir.model.fields,help:app_stock_picking_type_group.field_stock_picking_type_group_sequence
msgid "Used to order the 'All Operations' kanban view"
msgstr "历史订单的全部作业看板视图"

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
from . import stock_picking_type_group
from . import stock_picking_type

View File

@@ -0,0 +1,11 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models, _
from odoo.exceptions import UserError
class PickingType(models.Model):
_inherit = "stock.picking.type"
picking_type_group_id = fields.Many2one('stock.picking.type.group', 'Picking Type Group')

View File

@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from collections import namedtuple
import json
import time
from odoo import api, fields, models, _
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
from odoo.exceptions import UserError
class PickingTypeGroup(models.Model):
_name = "stock.picking.type.group"
_description = "Group the picking view"
_order = 'sequence, id'
name = fields.Char('Picking Type Group Name', required=True, translate=True)
color = fields.Integer('Color')
sequence = fields.Integer('Sequence', help="Used to order the 'All Operations' kanban view")
active = fields.Boolean('Active', default=True)

View File

@@ -0,0 +1,2 @@
# -*- coding: utf-8 -*-

View File

@@ -0,0 +1 @@
# -*- coding: utf-8 -*-

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -0,0 +1,60 @@
<section class="oe_container">
<div class="oe_row oe_spaced" style="max-width: 800px;">
<div class="oe_span12">
<h2 class="oe_slogan">App stock picking type group </h2>
<div class="oe_demo" style=" margin: 30px auto 0; padding: 0 15px 0 0; border:none; width: 96%;">
<p>This moduld allows user to . </p>
<h1>More Powerful addons:
<a class="btn btn-primary mb16" href="http://www.odoo.com/apps/modules/browse?author=Sunpop.cn">Supop.cn Odoo Addons</a>
</h1>
<br>
<h3>Lastest update: v10.0.3.27, 2018-03-27</h3>
<ul>
<li>1. Manager picking type groups</li>
<li>2. Group by picking type groups in stock dashboard</li>
</ul>
</div>
<div class="oe_demo oe_screenshot">
<img src="demo2.jpg" style="border:1px solid black"/>
<br/>
</div>
<div class="oe_demo oe_screenshot mt32">
<img src="demo1.jpg" style="border:1px solid black"/>
<br/>
</div>
</div>
</div>
<section class="oe_container oe_dark">
<div class="oe_row oe_spaced text-center">
<div class="oe_span12">
<h2 class="oe_slogan">Technical Help & Support</h2>
</div>
<div class="col-md-12 pad0">
<div class="oe_mt16">
<p><h4>
For any type of technical help & support requests, Feel free to contact us</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:guohuadeng@hotmail.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> guohuadeng@hotmail.com</a>
<p><h4>
Via QQ: 300883</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="mailto:300883@qq.com"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-envelope"></i> 300883@qq.com</a>
</div>
<div class="oe_mt16">
<p><h4>
Visit our website for more support.</h4></p>
<a style="background: #002e5a none repeat scroll 0% 0%; color: rgb(255, 255, 255);position: relative; overflow: hidden;"
class="btn btn-warning btn-lg" rel="nofollow" href="http://www.sunpop.cn" target="_blank"><span
style="height: 354px; width: 354px; top: -147.433px; left: -6.93335px;" class="o_ripple"></span>
<i class="fa fa-web"></i>http://www.sunpop.cn</a>
</div>
</div>
</div>
</section>

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record model="ir.ui.view" id="app_view_picking_type_group_tree">
<field name="name">Picking types group</field>
<field name="model">stock.picking.type.group</field>
<field name="arch" type="xml">
<tree string="Picking Types Group">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="active" invisible="1"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="app_view_picking_type_group_form">
<field name="name">Picking types group</field>
<field name="model">stock.picking.type.group</field>
<field name="arch" type="xml">
<form string="Picking Types Group">
<sheet>
<div class="oe_button_box" name="button_box">
<button name="toggle_active" type="object" class="oe_stat_button" icon="fa-archive">
<field name="active" widget="boolean_button" options='{"terminology": "archive"}'/>
</button>
</div>
<group>
<group>
<field name="name"/>
<field name="sequence"/>
</group>
<group>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_picking_type_group_list" model="ir.actions.act_window">
<field name="name">All Picking Types Group</field>
<field name="res_model">stock.picking.type.group</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to define a new picking type group.
</p>
</field>
</record>
<menuitem id="menu_pickingtype_group" name="Picking Types Group" parent="stock.menu_warehouse_config" action="action_picking_type_group_list" sequence="4"
groups="stock.group_stock_multi_locations"/>
</odoo>

View File

@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="app_view_pickingtype_filter" model="ir.ui.view">
<field name="name">stock.picking.type.filter</field>
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_pickingtype_filter"/>
<field name="arch" type="xml">
<xpath expr="//search" position="inside">
<group expand="1" string="Group By">
<filter name="picking_type_group_id" string="Picking Type Group" context="{'group_by':'picking_type_group_id'}"/>
</group>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="app_view_picking_type_tree">
<field name="name">Picking types</field>
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_picking_type_tree"/>
<field name="arch" type="xml">
<xpath expr="//tree" position="inside">
<field name="picking_type_group_id"/>
</xpath>
</field>
</record>
<record model="ir.ui.view" id="app_view_picking_type_form">
<field name="name">Operation Types</field>
<field name="model">stock.picking.type</field>
<field name="inherit_id" ref="stock.view_picking_type_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='warehouse_id']" position="after">
<field name="picking_type_group_id"/>
</xpath>
</field>
</record>
<record id="stock.stock_picking_type_action" model="ir.actions.act_window">
<field name="name">Inventory</field>
<field name="res_model">stock.picking.type</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,form</field>
<field name="context">{'search_default_picking_type_group_id': 1}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create a new picking type.
</p><p>
The picking type system allows you to assign each stock
operation a specific type which will alter its views accordingly.
On the picking type you could e.g. specify if packing is needed by default,
if it should show the customer.
</p>
</field>
</record>
<!--<record id="app_stock_picking_type_kanban" model="ir.ui.view">-->
<!--<field name="name">app.stock.picking.type.kanban</field>-->
<!--<field name="model">stock.picking.type</field>-->
<!--<field name="inherit_id" ref="stock.stock_picking_type_kanban"/>-->
<!--<field name="arch" type="xml">-->
<!--<xpath expr="//kanban" position="attributes">-->
<!--<attribute name="default_group_by">picking_type_group_id</attribute>-->
<!--</xpath>-->
<!--</field>-->
<!--</record>-->
</odoo>