diff --git a/app_stock_picking_type_group/__init__.py b/app_stock_picking_type_group/__init__.py new file mode 100644 index 00000000..16d7e280 --- /dev/null +++ b/app_stock_picking_type_group/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- + +from hooks import pre_init_hook +from . import models +from . import ir +from . import res \ No newline at end of file diff --git a/app_stock_picking_type_group/__manifest__.py b/app_stock_picking_type_group/__manifest__.py new file mode 100644 index 00000000..6020912c --- /dev/null +++ b/app_stock_picking_type_group/__manifest__.py @@ -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, +} diff --git a/app_stock_picking_type_group/data/stock_data.yml b/app_stock_picking_type_group/data/stock_data.yml new file mode 100644 index 00000000..3b5dfd4b --- /dev/null +++ b/app_stock_picking_type_group/data/stock_data.yml @@ -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 + diff --git a/app_stock_picking_type_group/data/stock_picking_type_group.xml b/app_stock_picking_type_group/data/stock_picking_type_group.xml new file mode 100644 index 00000000..dfd0ac21 --- /dev/null +++ b/app_stock_picking_type_group/data/stock_picking_type_group.xml @@ -0,0 +1,13 @@ + + + + + Sequence for All Products + product.product + PR%(y)s%(month)s + 5 + + True + + + diff --git a/app_stock_picking_type_group/hooks.py b/app_stock_picking_type_group/hooks.py new file mode 100644 index 00000000..c9ef4b6c --- /dev/null +++ b/app_stock_picking_type_group/hooks.py @@ -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) diff --git a/app_stock_picking_type_group/i18n/zh_CN.po b/app_stock_picking_type_group/i18n/zh_CN.po new file mode 100644 index 00000000..b06ff205 --- /dev/null +++ b/app_stock_picking_type_group/i18n/zh_CN.po @@ -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 "历史订单的全部作业看板视图" + diff --git a/app_stock_picking_type_group/ir/__init__.py b/app_stock_picking_type_group/ir/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_stock_picking_type_group/ir/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_stock_picking_type_group/models/__init__.py b/app_stock_picking_type_group/models/__init__.py new file mode 100644 index 00000000..81a9af2a --- /dev/null +++ b/app_stock_picking_type_group/models/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import stock_picking_type_group +from . import stock_picking_type diff --git a/app_stock_picking_type_group/models/stock_picking_type.py b/app_stock_picking_type_group/models/stock_picking_type.py new file mode 100644 index 00000000..a8808b38 --- /dev/null +++ b/app_stock_picking_type_group/models/stock_picking_type.py @@ -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') + diff --git a/app_stock_picking_type_group/models/stock_picking_type_group.py b/app_stock_picking_type_group/models/stock_picking_type_group.py new file mode 100644 index 00000000..9d3c276f --- /dev/null +++ b/app_stock_picking_type_group/models/stock_picking_type_group.py @@ -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) diff --git a/app_stock_picking_type_group/report/__init__.py b/app_stock_picking_type_group/report/__init__.py new file mode 100644 index 00000000..633f8661 --- /dev/null +++ b/app_stock_picking_type_group/report/__init__.py @@ -0,0 +1,2 @@ +# -*- coding: utf-8 -*- + diff --git a/app_stock_picking_type_group/res/__init__.py b/app_stock_picking_type_group/res/__init__.py new file mode 100644 index 00000000..40a96afc --- /dev/null +++ b/app_stock_picking_type_group/res/__init__.py @@ -0,0 +1 @@ +# -*- coding: utf-8 -*- diff --git a/app_stock_picking_type_group/static/description/demo1.jpg b/app_stock_picking_type_group/static/description/demo1.jpg new file mode 100644 index 00000000..3c669442 Binary files /dev/null and b/app_stock_picking_type_group/static/description/demo1.jpg differ diff --git a/app_stock_picking_type_group/static/description/demo2.jpg b/app_stock_picking_type_group/static/description/demo2.jpg new file mode 100644 index 00000000..9602df13 Binary files /dev/null and b/app_stock_picking_type_group/static/description/demo2.jpg differ diff --git a/app_stock_picking_type_group/static/description/demo4.jpg b/app_stock_picking_type_group/static/description/demo4.jpg new file mode 100644 index 00000000..11f74272 Binary files /dev/null and b/app_stock_picking_type_group/static/description/demo4.jpg differ diff --git a/app_stock_picking_type_group/static/description/icon.png b/app_stock_picking_type_group/static/description/icon.png new file mode 100644 index 00000000..2a04f219 Binary files /dev/null and b/app_stock_picking_type_group/static/description/icon.png differ diff --git a/app_stock_picking_type_group/static/description/index.html b/app_stock_picking_type_group/static/description/index.html new file mode 100644 index 00000000..d2da8b0f --- /dev/null +++ b/app_stock_picking_type_group/static/description/index.html @@ -0,0 +1,60 @@ +
+
+
+

App stock picking type group

+
+

This moduld allows user to .

+

More Powerful addons: + Supop.cn Odoo Addons +

+
+

Lastest update: v10.0.3.27, 2018-03-27

+
    +
  • 1. Manager picking type groups
  • +
  • 2. Group by picking type groups in stock dashboard
  • +
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+
+
+

Technical Help & Support

+
+
+
+

+ For any type of technical help & support requests, Feel free to contact us

+ + guohuadeng@hotmail.com +

+ Via QQ: 300883

+ + 300883@qq.com +
+
+

+ Visit our website for more support.

+ + http://www.sunpop.cn +
+
+
+
+ diff --git a/app_stock_picking_type_group/views/stock_picking_type_group_views.xml b/app_stock_picking_type_group/views/stock_picking_type_group_views.xml new file mode 100644 index 00000000..54c3069a --- /dev/null +++ b/app_stock_picking_type_group/views/stock_picking_type_group_views.xml @@ -0,0 +1,55 @@ + + + + Picking types group + stock.picking.type.group + + + + + + + + + + + Picking types group + stock.picking.type.group + +
+ +
+ +
+ + + + + + + + +
+
+
+
+ + + All Picking Types Group + stock.picking.type.group + ir.actions.act_window + form + list,form + +

+ Click to define a new picking type group. +

+
+ +
+ + +
diff --git a/app_stock_picking_type_group/views/stock_picking_type_views.xml b/app_stock_picking_type_group/views/stock_picking_type_views.xml new file mode 100644 index 00000000..9746a2e1 --- /dev/null +++ b/app_stock_picking_type_group/views/stock_picking_type_views.xml @@ -0,0 +1,68 @@ + + + + stock.picking.type.filter + stock.picking.type + + + + + + + + + + + + Picking types + stock.picking.type + + + + + + + + + + Operation Types + stock.picking.type + + + + + + + + + + Inventory + stock.picking.type + ir.actions.act_window + form + kanban,form + {'search_default_picking_type_group_id': 1} + +

+ Click to create a new picking type. +

+ 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. +

+
+
+ + + + + + + + + + + + +