Skip to content

Commit

Permalink
[MIG] base_delivery_carrier_files: Migration to 10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mFlayyan committed May 15, 2019
1 parent dbda395 commit 703e20a
Show file tree
Hide file tree
Showing 19 changed files with 267 additions and 264 deletions.
44 changes: 28 additions & 16 deletions base_delivery_carrier_files/README.rst
Original file line number Diff line number Diff line change
@@ -1,21 +1,33 @@
**This file is going to be generated by oca-gen-addon-readme.**
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3

*Manual changes will be overwritten.*
===========================
base_delivery_carrier_files
===========================

Please provide content in the ``readme`` directory:
This module was written to extend the functionality of picking to support generating one or more files according to carrier_file configuration for all pickings
and writes this file to a configurable location on your computer eg. /opt/data/carrier_files

* **DESCRIPTION.rst** (required)
* INSTALL.rst (optional)
* CONFIGURE.rst (optional)
* **USAGE.rst** (optional, highly recommended)
* DEVELOP.rst (optional)
* ROADMAP.rst (optional)
* HISTORY.rst (optional, recommended)
* **CONTRIBUTORS.rst** (optional, highly recommended)
* CREDITS.rst (optional)
Discription:
Base module for creation of carrier files (La Poste, TNT Express Shipper, ...).
Files are exported as text (csv, ...).
It contains :
- the base structure to handle the export of files on Delivery Orders
- an API to ease the generation of the files for the developers in sub-modules.

Content of this README will also be drawn from the addon manifest,
from keys such as name, authors, maintainers, development_status,
and license.
The delivery orders can be grouped in one files
or be exported each one in a separate file.
The files can be generated automatically
on the shipment of a Delivery Order or from a manual action.
They are exported to a defined path or
in a document directory of your choice if the "document" module is installed.

A good, one sentence summary in the manifest is also highly recommended.
A generic carrier file is included in the module.
It can also be used as a basis to create your own sub-module.

Sub-modules already exist to generate file according to specs of :
- La Poste (France) : delivery_carrier_file_laposte
- TNT Express Shipper (France) : delivery_carrier_file_tnt
- Make your own ! Look at the code of the modules above,
it's trivial to create a sub-module for a carrier.
30 changes: 14 additions & 16 deletions base_delivery_carrier_files/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,24 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Base Delivery Carrier Files',
'version': '8.0.1.2.4',
'version': '10.0.1.0.1',
'category': 'Generic Modules/Warehouse',
'summary': """
Base module for creation of carrier files (La Poste, TNT Express Shipper, ...).
Files are exported as text (csv, ...).
""",
'author': "Camptocamp,Odoo Community Association (OCA)",
'license': 'AGPL-3',
'website': 'http://www.camptocamp.com',
'depends': [
'base',
'stock',
'delivery'
],
'data': [
'views/carrier_file_view.xml',
'views/stock_view.xml',
'wizards/generate_carrier_files_view.xml',
'security/ir.model.access.csv'
],
'demo': [
'demo/carrier_file_demo.xml',
'demo/carrier_file_demo.yml'
],
'depends': ['base',
'stock',
'delivery'],
'data': ['carrier_file_view.xml',
'stock_view.xml',
'wizard/generate_carrier_files_view.xml',
'security/ir.model.access.csv'],
'demo': ['carrier_file_demo.xml', 'carrier_file_demo.yml'],
'test': [ '../account/test/account_minimal_test.xml'],
'images': [],
'installable': True,
'auto_install': False,
Expand Down
4 changes: 2 additions & 2 deletions base_delivery_carrier_files/demo/carrier_file_demo.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<odoo>
<data noupdate="1">

<!-- Carrier File -->
Expand Down Expand Up @@ -33,4 +33,4 @@
</record>

</data>
</openerp>
</odoo>
15 changes: 7 additions & 8 deletions base_delivery_carrier_files/models/delivery_carrier_file.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@
import os
import logging

from openerp import models, fields, api, exceptions
from openerp.tools.translate import _
from odoo import api, exceptions, fields, models
from odoo.tools.translate import _
from .generator import new_file_generator

from ..generator import new_file_generator

Expand Down Expand Up @@ -51,7 +52,7 @@ def _write_file(self, filename, file_content):
file_handle.write(file_content)
return True

@api.multi
@api.model
def _generate_files(self, picking_ids):
"""
Generate one or more files according to carrier_file configuration
Expand Down Expand Up @@ -91,7 +92,7 @@ def _generate_files(self, picking_ids):
picking_ids, e)
return True

@api.multi
@api.model
def generate_files(self, picking_ids):
"""
Generate one or more files according to carrier_file
Expand All @@ -110,17 +111,15 @@ def generate_files(self, picking_ids):
name = fields.Char('Name', size=64, required=True)
type = fields.Selection(selection='get_type_selection',
string='Type', required=True)
group_pickings = fields.Boolean('Group all pickings in one file',
help='All the pickings will be '
group_pickings = fields.Boolean(help='All the pickings will be '
'grouped in the same file. '
'Has no effect when the files '
'are automatically exported at '
'the delivery order process.')
write_mode = fields.Selection(selection='get_write_mode_selection',
string='Write on', required=True)
export_path = fields.Char('Export Path', size=256)
auto_export = fields.Boolean('Export at delivery order process',
help='The file will be automatically '
auto_export = fields.Boolean(help='The file will be automatically '
'generated when a delivery order '
'is processed. If activated, each '
'delivery order will be exported '
Expand Down
2 changes: 1 addition & 1 deletion base_delivery_carrier_files/models/stock_picking.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Author: Guewen Baconnier
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from openerp import models, fields, api
from odoo import models, fields, api


class StockPicking(models.Model):
Expand Down
4 changes: 2 additions & 2 deletions base_delivery_carrier_files/security/ir.model.access.csv
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_delivery_carrier_file,delivery.carrier.file,model_delivery_carrier_file,base.group_sale_salesman,1,0,0,0
access_delivery_carrier_file_manager,delivery.carrier.file manager,model_delivery_carrier_file,base.group_sale_manager,1,1,1,1
access_delivery_carrier_file,delivery.carrier.file,model_delivery_carrier_file,sales_team.group_sale_salesman,1,0,0,0
access_delivery_carrier_file_manager,delivery.carrier.file manager,model_delivery_carrier_file,sales_team.group_sale_manager,1,1,1,1
access_delivery_carrier_file_partner_manager,delivery.carrier.file partner_manager,model_delivery_carrier_file,base.group_partner_manager,1,0,0,0
105 changes: 51 additions & 54 deletions base_delivery_carrier_files/views/carrier_file_view.xml
Original file line number Diff line number Diff line change
@@ -1,64 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<odoo>
<record id="view_delivery_carrier_file_tree" model="ir.ui.view">
<field name="name">delivery.carrier.file.tree</field>
<field name="model">delivery.carrier.file</field>
<field name="arch" type="xml">
<tree string="Carrier File">
<field name="name"/>
<field name="type"/>
<field name="auto_export"/>
<field name="group_pickings"/>
</tree>
</field>
</record>

<record id="view_delivery_carrier_file_tree" model="ir.ui.view">
<field name="name">delivery.carrier.file.tree</field>
<field name="model">delivery.carrier.file</field>
<field name="arch" type="xml">
<tree string="Carrier File">
<field name="name"/>
<field name="type"/>
<record id="view_delivery_carrier_file_form" model="ir.ui.view">
<field name="name">delivery.carrier.file.form</field>
<field name="model">delivery.carrier.file</field>
<field name="arch" type="xml">
<form string="Carrier File">
<group colspan="4" col="4" name="general">
<field name="name" select="1"/>
<field name="type" select="1"/>
<field name="auto_export"/>
<field name="group_pickings"/>
</tree>
</field>
</record>

<record id="view_delivery_carrier_file_form" model="ir.ui.view">
<field name="name">delivery.carrier.file.form</field>
<field name="model">delivery.carrier.file</field>
<field name="arch" type="xml">
<form string="Carrier File">
<group colspan="4" col="4" name="general">
<field name="name" select="1"/>
<field name="type" select="1"/>
<field name="auto_export"/>
<field name="group_pickings"/>
<separator string="Write options" colspan="4"/>
<group colspan="4" col="4">
<field name="write_mode"/>
<group colspan="2" col="2">
<field name="export_path" attrs="{'required': [('write_mode', '=', 'disk')], 'invisible': [('write_mode', '!=', 'disk')]}"/>
</group>
<separator string="Write options" colspan="4"/>
<group colspan="4" col="4">
<field name="write_mode"/>
<group colspan="2" col="2">
<field name="export_path" attrs="{'required': [('write_mode', '=', 'disk')], 'invisible': [('write_mode', '!=', 'disk')]}"/>
</group>
</group>
</form>
</field>
</record>
</group>
</form>
</field>
</record>

<record id="action_delivery_carrier_file_form" model="ir.actions.act_window">
<field name="name">Carrier File</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">delivery.carrier.file</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<record id="action_delivery_carrier_file_form" model="ir.actions.act_window">
<field name="name">Carrier File</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">delivery.carrier.file</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>

<menuitem action="action_delivery_carrier_file_form" id="menu_action_delivery_carrier_file_form" parent="delivery.menu_delivery"/>
<menuitem action="action_delivery_carrier_file_form" id="menu_action_delivery_carrier_file_form" parent="delivery.menu_delivery"/>

<record id="view_delivery_carrier_form_inherit" model="ir.ui.view">
<field name="name">delivery.carrier.form.file</field>
<field name="model">delivery.carrier</field>
<field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
<field name="arch" type="xml">
<data>
<field name="product_id" position="after">
<field name="carrier_file_id"/>
</field>
</data>
</field>
</record>
<record id="view_delivery_carrier_form_inherit" model="ir.ui.view">
<field name="name">delivery.carrier.form.file</field>
<field name="model">delivery.carrier</field>
<field name="inherit_id" ref="delivery.view_delivery_carrier_form" />
<field name="arch" type="xml">
<data>
<field name="name" position="after">
<field name="carrier_file_id"/>
</field>
</data>
</field>
</record>

</data>
</openerp>
</odoo>
72 changes: 35 additions & 37 deletions base_delivery_carrier_files/views/stock_view.xml
Original file line number Diff line number Diff line change
@@ -1,39 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="view_picking_out_form_carrier_file" model="ir.ui.view">
<field name="name">stock.picking.form</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<data>
<page string="Additional Info" position="inside">
<group>
<field name="carrier_file_generated"/>
</group>
</page>
</data>
</field>
</record>
<odoo>
<record id="view_picking_out_form_carrier_file" model="ir.ui.view">
<field name="name">stock.picking.form</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form"/>
<field name="arch" type="xml">
<data>
<page name="extra" position="inside">
<group>
<field name="carrier_file_generated"/>
</group>
</page>
</data>
</field>
</record>

<record id="view_picking_out_search_carrier_file" model="ir.ui.view">
<field name="name">stock.picking.search</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="sale_stock.view_picking_internal_search_inherit"/>
<field name="arch" type="xml">
<data>
<filter name="to_invoice" position="after">
<separator orientation="vertical"/>
<filter icon="terp-emblem-documents" name="carrier_file" string="Carrier File To Generate"
domain="[('carrier_file_generated', '=', False),
('carrier_id', '!=', False),
('carrier_id.carrier_file_id', '!=', False),
('picking_type_id.code', '=', 'outgoing'),
('state', '=', 'done')]"
help="Delivery orders to invoice"/>
</filter>
</data>
</field>
</record>
</data>
</openerp>
<record id="view_picking_out_search_carrier_file" model="ir.ui.view">
<field name="name">stock.picking.search</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_internal_search"/>
<field name="arch" type="xml">
<data>
<xpath expr="//field[@name='partner_id']" position="before">
<separator orientation="vertical"/>
<filter icon="terp-emblem-documents" name="carrier_file" string="Carrier File To Generate"
domain="[('carrier_file_generated', '=', False),
('carrier_id', '!=', False),
('carrier_id.carrier_file_id', '!=', False),
('picking_type_id.code', '=', 'outgoing'),
('state', '=', 'done')]"
help="Delivery orders to invoice"/>
</xpath>
</data>
</field>
</record>
</odoo>
4 changes: 2 additions & 2 deletions base_delivery_carrier_files/wizards/generate_carrier_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Author: Guewen Baconnier
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from openerp import models, fields, exceptions, api
from openerp.tools.translate import _
from odoo import models, fields, exceptions, api
from odoo.tools.translate import _


class DeliveryCarrierFileGenerate(models.TransientModel):
Expand Down
Loading

0 comments on commit 703e20a

Please sign in to comment.