[DEL] sale_journal: deprecated module

Reason: complete rewrite of the Sale module. Invoicing is now managed through
Sale.

Responsible: fp, dbo, nim
This commit is contained in:
Nicolas Martinelli
2015-08-27 19:21:35 +02:00
parent 60723d1047
commit 2b0eb7e7b5
7 changed files with 0 additions and 287 deletions
-4
View File
@@ -1,4 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
import sale_journal
-44
View File
@@ -1,44 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
{
'name': 'Invoicing Journals',
'version': '1.0',
'category': 'Sales Management',
'description': """
The sales journal modules allows you to categorise your sales and deliveries (picking lists) between different journals.
========================================================================================================================
This module is very helpful for bigger companies that works by departments.
You can use journal for different purposes, some examples:
----------------------------------------------------------
* isolate sales of different departments
* journals for deliveries by truck or by UPS
Journals have a responsible and evolves between different status:
-----------------------------------------------------------------
* draft, open, cancel, done.
Batch operations can be processed on the different journals to confirm all sales
at once, to validate or invoice packing.
It also supports batch invoicing methods that can be configured by partners and sales orders, examples:
-------------------------------------------------------------------------------------------------------
* daily invoicing
* monthly invoicing
Some statistics by journals are provided.
""",
'website': 'https://www.odoo.com/page/billing',
'depends': ['sale_stock'],
'data': [
'security/ir.model.access.csv',
'sale_journal_view.xml',
'sale_journal_data.xml'
],
'demo': ['sale_journal_demo.xml'],
'test': [ ],
'installable': True,
'auto_install': False,
}
-79
View File
@@ -1,79 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from openerp.osv import fields, osv
class sale_journal_invoice_type(osv.osv):
_name = 'sale_journal.invoice.type'
_description = 'Invoice Types'
_columns = {
'name': fields.char('Invoice Type', required=True),
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the invoice type without removing it."),
'note': fields.text('Note'),
'invoicing_method': fields.selection([('simple', 'Non grouped'), ('grouped', 'Grouped')], 'Invoicing method', required=True),
}
_defaults = {
'active': True,
'invoicing_method': 'simple'
}
#==============================================
# sale journal inherit
#==============================================
class res_partner(osv.osv):
_inherit = 'res.partner'
_columns = {
'property_invoice_type': fields.property(
type = 'many2one',
relation = 'sale_journal.invoice.type',
string = "Invoicing Type",
group_name = "Accounting Properties",
help = "This invoicing type will be used, by default, to invoice the current partner."),
}
def _commercial_fields(self, cr, uid, context=None):
return super(res_partner, self)._commercial_fields(cr, uid, context=context) + ['property_invoice_type']
class picking(osv.osv):
_inherit = "stock.picking"
_columns = {
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True)
}
class stock_move(osv.osv):
_inherit = "stock.move"
def action_confirm(self, cr, uid, ids, context=None):
"""
Pass the invoice type to the picking from the sales order
(Should also work in case of Phantom BoMs when on explosion the original move is deleted, similar to carrier_id on delivery)
"""
procs_to_check = []
for move in self.browse(cr, uid, ids, context=context):
if move.procurement_id and move.procurement_id.sale_line_id and move.procurement_id.sale_line_id.order_id.invoice_type_id:
procs_to_check += [move.procurement_id]
res = super(stock_move, self).action_confirm(cr, uid, ids, context=context)
pick_obj = self.pool.get("stock.picking")
for proc in procs_to_check:
pickings = list(set([x.picking_id.id for x in proc.move_ids if x.picking_id and not x.picking_id.invoice_type_id]))
if pickings:
pick_obj.write(cr, uid, pickings, {'invoice_type_id': proc.sale_line_id.order_id.invoice_type_id.id}, context=context)
return res
class sale(osv.osv):
_inherit = "sale.order"
_columns = {
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', help="Generate invoice based on the selected option.")
}
def onchange_partner_id(self, cr, uid, ids, part, context=None):
result = super(sale, self).onchange_partner_id(cr, uid, ids, part, context=context)
if part:
itype = self.pool.get('res.partner').browse(cr, uid, part, context=context).property_invoice_type
if itype:
result['value']['invoice_type_id'] = itype.id
return result
-12
View File
@@ -1,12 +0,0 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record model="ir.property" id="property_invoice_type_def">
<field name="name">property_invoice_type</field>
<field name="fields_id" search="[('model','=','res.partner'),('name','=','property_invoice_type')]"/>
<field name="value" eval="False"/>
</record>
</data>
</openerp>
-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0"?>
<openerp>
<data noupdate="1">
<record model="sale_journal.invoice.type" id="daily">
<field name="name">Daily invoicing</field>
</record>
<record model="sale_journal.invoice.type" id="monthly">
<field name="name">Monthly invoicing</field>
<field name="invoicing_method">grouped</field>
</record>
<record model="ir.property" id="sale_journal.property_invoice_type_def">
<field name="value" eval="'sale_journal.invoice.type,'+str(daily)"/>
</record>
</data>
</openerp>
-124
View File
@@ -1,124 +0,0 @@
<openerp>
<data>
<!-- sale journal invoice Type's Form view -->
<record model="ir.ui.view" id="view_sale_journal_invoice_type_form">
<field name="name">sale_journal.invoice.type.form</field>
<field name="model">sale_journal.invoice.type</field>
<field name="arch" type="xml">
<form string="Invoice Type">
<group col="4">
<field name="name"/>
<field name="invoicing_method"/>
<field name="active"/>
</group>
<separator string="Notes"/>
<field name="note"/>
</form>
</field>
</record>
<!-- sale journal invoice Type's tree view -->
<record model="ir.ui.view" id="view_sale_journal_invoice_type_tree">
<field name="name">sale_journal.invoice.type.tree</field>
<field name="model">sale_journal.invoice.type</field>
<field name="arch" type="xml">
<tree string="Invoice Type">
<field name="name"/>
<field name="invoicing_method"/>
</tree>
</field>
</record>
<!-- Action for sale journal invoice Type -->
<record model="ir.actions.act_window" id="action_definition_journal_invoice_type">
<field name="name">Invoice Types</field>
<field name="res_model">sale_journal.invoice.type</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Invoice types are used for partners, sales orders and delivery orders. You can create a specific invoicing journal to group your invoicing according to your customer's needs: daily, each Wednesday, monthly, etc.</field>
</record>
<menuitem id="menu_definition_journal_invoice_type" sequence="4"
parent="base.menu_sales_config" action="action_definition_journal_invoice_type"/>
<!-- Inherit sales order form view -->
<record model="ir.ui.view" id="sale_journal_sale_order">
<field name="name">sale.order.journal.view.form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<xpath expr="//group[@name='sale_pay']" position="inside">
<field name="invoice_type_id"/>
</xpath>
</field>
</record>
<!-- Inherit sales order tree view-->
<record model="ir.ui.view" id="sale_journal_sale_order_tree">
<field name="name">sale.order.journal.view.tree</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree" />
<field name="arch" type="xml">
<field name="state" position="before">
<field name="invoice_type_id"/>
</field>
</field>
</record>
<!-- Inherit stock picking's form view -->
<record model="ir.ui.view" id="sale_journal_picking_order">
<field name="name">stock.picking.journal.view.form</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_form" />
<field name="arch" type="xml">
<field name="move_type" position="before">
<field name="invoice_type_id"/>
</field>
</field>
</record>
<!-- Inherit stock picking's tree view -->
<record id="view_partner_property_form" model="ir.ui.view">
<field name="name">res.partner.journal.property.form.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<group name="sale">
<field name="property_invoice_type"/>
</group>
</field>
</record>
<record id="view_sales_order_search" model="ir.ui.view">
<field name="name">sale.order.search.inherit</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter"/>
<field name="arch" type="xml">
<xpath expr="//group/filter[@name='customer']" position="after">
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
</xpath>
</field>
</record>
<!-- Inherit stock picking's search view -->
<record id="view_picking_internal_search" model="ir.ui.view">
<field name="name">stock.picking.internal.search.inherit</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="stock.view_picking_internal_search"/>
<field name="arch" type="xml">
<xpath expr="//group/filter[@name='picking_type']" position="after">
<filter string="Invoice Type" domain="[]" context="{'group_by':'invoice_type_id'}"/>
</xpath>
</field>
</record>
</data>
</openerp>
@@ -1,6 +0,0 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sale_journal_invoice_type_finance_invoice,sale_journal.invoice.type invoice,model_sale_journal_invoice_type,account.group_account_invoice,1,1,1,1
access_sale_journal_invoice_type_partner_manager,sale_journal.invoice.type partner manager,model_sale_journal_invoice_type,base.group_partner_manager,1,0,0,0
access_sale_journal_invoice_type_salesman,sale_journal.invoice.type salesman,model_sale_journal_invoice_type,base.group_sale_salesman,1,0,0,0
access_sale_journal_invoice_type_manager,sale_journal.invoice.type.manager,model_sale_journal_invoice_type,base.group_sale_manager,1,1,1,1
access_sale_journal_invoice_type_stock_worker,sale_journal.invoice_type stock worker,model_sale_journal_invoice_type,stock.group_stock_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_sale_journal_invoice_type_finance_invoice sale_journal.invoice.type invoice model_sale_journal_invoice_type account.group_account_invoice 1 1 1 1
3 access_sale_journal_invoice_type_partner_manager sale_journal.invoice.type partner manager model_sale_journal_invoice_type base.group_partner_manager 1 0 0 0
4 access_sale_journal_invoice_type_salesman sale_journal.invoice.type salesman model_sale_journal_invoice_type base.group_sale_salesman 1 0 0 0
5 access_sale_journal_invoice_type_manager sale_journal.invoice.type.manager model_sale_journal_invoice_type base.group_sale_manager 1 1 1 1
6 access_sale_journal_invoice_type_stock_worker sale_journal.invoice_type stock worker model_sale_journal_invoice_type stock.group_stock_user 1 0 0 0