diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py
index 4b87e4c790e..f1fadd81bd4 100644
--- a/addons/delivery/delivery.py
+++ b/addons/delivery/delivery.py
@@ -149,7 +149,7 @@ class delivery_grid_line(osv.osv):
'name': fields.char('Name', size=32, required=True),
'grid_id': fields.many2one('delivery.grid', 'Grid',required=True),
'type': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable', required=True),
- 'operator': fields.selection([('=','='),('<=','<='),('>=','>=')], 'Operator', required=True),
+ 'operator': fields.selection([('==','='),('<=','<='),('>=','>=')], 'Operator', required=True),
'max_value': fields.float('Maximum Value', required=True),
'price_type': fields.selection([('fixed','Fixed'),('variable','Variable')], 'Price Type', required=True),
'variable_factor': fields.selection([('weight','Weight'),('volume','Volume'),('wv','Weight * Volume'), ('price','Price')], 'Variable Factor', required=True),
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index a371757f360..acb2bf079e5 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -430,7 +430,6 @@ class sale_order(osv.osv):
for preline in preinv.invoice_line:
inv_line_id = self.pool.get('account.invoice.line').copy(cr, uid, preline.id, {'invoice_id': False, 'price_unit': -preline.price_unit})
lines.append(inv_line_id)
-
inv = {
'name': order.client_order_ref or order.name,
'origin': order.name,
@@ -463,7 +462,7 @@ class sale_order(osv.osv):
invoices = {}
invoice_ids = []
picking_obj = self.pool.get('stock.picking')
-
+ invoice = self.pool.get('account.invoice')
if context is None:
context = {}
# If date was specified, use it as date invoiced, usefull when invoices are generated this month and put the
@@ -478,7 +477,6 @@ class sale_order(osv.osv):
created_lines = self.pool.get('sale.order.line').invoice_line_create(cr, uid, lines)
if created_lines:
invoices.setdefault(o.partner_id.id, []).append((o, created_lines))
-
if not invoices:
for o in self.browse(cr, uid, ids):
for i in o.invoice_ids:
@@ -487,11 +485,14 @@ class sale_order(osv.osv):
for val in invoices.values():
if grouped:
res = self._make_invoice(cr, uid, val[0][0], reduce(lambda x,y: x + y, [l for o,l in val], []), context=context)
+ invoice_ref = ''
for o, l in val:
+ invoice_ref += o.name + '|'
self.write(cr, uid, [o.id], {'state': 'progress'})
if o.order_policy == 'picking':
picking_obj.write(cr, uid, map(lambda x: x.id, o.picking_ids), {'invoice_state': 'invoiced'})
cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (o.id, res))
+ invoice.write(cr, uid, [res], {'origin': invoice_ref, 'name': invoice_ref})
else:
for order, il in val:
res = self._make_invoice(cr, uid, order, il, context=context)
diff --git a/addons/sale/test/advance_invoice.yml b/addons/sale/test/advance_invoice.yml
index 870b3ec0428..8b93b031d39 100644
--- a/addons/sale/test/advance_invoice.yml
+++ b/addons/sale/test/advance_invoice.yml
@@ -65,7 +65,6 @@
-
!record {model: account.account, id: account_account_receivable0}:
code: AR
- company_id: base.main_company
currency_mode: current
name: Receivable
parent_id: account_account_minimalchart0
@@ -79,7 +78,6 @@
-
!record {model: account.account, id: account_account_cash0}:
code: C
- company_id: base.main_company
currency_mode: current
name: Cash
parent_id: account_account_minimalchart0
@@ -142,7 +140,6 @@
-
!record {model: account.journal, id: account_journal_bankjournal0}:
code: BNK
- company_id: base.main_company
default_credit_account_id: account_account_cash0
default_debit_account_id: account_account_cash0
name: Bank Journal
diff --git a/addons/sale/test/prepaid_sale_order.yml b/addons/sale/test/prepaid_sale_order.yml
index 03f5ddf8aae..ce344bb23ae 100644
--- a/addons/sale/test/prepaid_sale_order.yml
+++ b/addons/sale/test/prepaid_sale_order.yml
@@ -78,7 +78,6 @@
-
!record {model: account.account, id: account_account_cash0}:
code: C
- company_id: base.main_company
currency_mode: current
name: Cash
parent_id: account_account_minimalchart0
diff --git a/addons/sale/test/so_make_invoice.yml b/addons/sale/test/so_make_invoice.yml
index e34b11ffb2b..c5860ed875e 100644
--- a/addons/sale/test/so_make_invoice.yml
+++ b/addons/sale/test/so_make_invoice.yml
@@ -65,7 +65,6 @@
-
!record {model: account.account, id: account_account_receivable0}:
code: AR
- company_id: base.main_company
currency_mode: current
name: Receivable
parent_id: account_account_minimalchart0
@@ -79,7 +78,6 @@
-
!record {model: account.account, id: account_account_cash0}:
code: C
- company_id: base.main_company
currency_mode: current
name: Cash
parent_id: account_account_minimalchart0
@@ -142,7 +140,6 @@
-
!record {model: account.journal, id: account_journal_bankjournal0}:
code: BNK
- company_id: base.main_company
default_credit_account_id: account_account_cash0
default_debit_account_id: account_account_cash0
name: Bank Journal
diff --git a/addons/sale/test/so_make_line_invoice.yml b/addons/sale/test/so_make_line_invoice.yml
index de5782c8517..c09e4bf2c11 100644
--- a/addons/sale/test/so_make_line_invoice.yml
+++ b/addons/sale/test/so_make_line_invoice.yml
@@ -65,7 +65,6 @@
-
!record {model: account.account, id: account_account_receivable0}:
code: AR
- company_id: base.main_company
currency_mode: current
name: Receivable
parent_id: account_account_minimalchart0
@@ -79,7 +78,6 @@
-
!record {model: account.account, id: account_account_cash0}:
code: C
- company_id: base.main_company
currency_mode: current
name: Cash
parent_id: account_account_minimalchart0
@@ -142,7 +140,6 @@
-
!record {model: account.journal, id: account_journal_bankjournal0}:
code: BNK
- company_id: base.main_company
default_credit_account_id: account_account_cash0
default_debit_account_id: account_account_cash0
name: Bank Journal
diff --git a/addons/sale/wizard/sale_make_invoice.py b/addons/sale/wizard/sale_make_invoice.py
index 0ce2705ac77..850fc2e25d4 100644
--- a/addons/sale/wizard/sale_make_invoice.py
+++ b/addons/sale/wizard/sale_make_invoice.py
@@ -26,7 +26,7 @@ class sale_make_invoice(osv.osv_memory):
_name = "sale.make.invoice"
_description = "Sale Make Invoice"
_columns = {
- 'grouped': fields.boolean('Group the invoices'),
+ 'grouped': fields.boolean('Group the invoices', help='Check the box to group the invoices for the same customers'),
'invoice_date':fields.date('Invoice Date'),
}
_default = {
@@ -50,11 +50,11 @@ class sale_make_invoice(osv.osv_memory):
for o in order_obj.browse(cr, uid, context.get(('active_ids'),[]), context):
for i in o.invoice_ids:
newinv.append(i.id)
-
+
mod_obj =self.pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'account', 'view_account_invoice_filter')
- id = mod_obj.read(cr, uid, result, ['res_id'])
+ id = mod_obj.read(cr, uid, result, ['res_id'])
return {
'domain': "[('id','in', ["+','.join(map(str,newinv))+"])]",
'name': 'Invoices',
@@ -64,7 +64,7 @@ class sale_make_invoice(osv.osv_memory):
'view_id': False,
'context': "{'type':'out_refund'}",
'type': 'ir.actions.act_window',
- 'search_view_id': id['id']
+ 'search_view_id': id['res_id']
}
sale_make_invoice()
diff --git a/addons/sale/wizard/sale_make_invoice.xml b/addons/sale/wizard/sale_make_invoice.xml
index ade720be1f4..e019786c40d 100644
--- a/addons/sale/wizard/sale_make_invoice.xml
+++ b/addons/sale/wizard/sale_make_invoice.xml
@@ -6,14 +6,15 @@
sale.make.invoice
form
-
+
diff --git a/addons/sale_delivery_report/__openerp__.py b/addons/sale_delivery_report/__openerp__.py
index a5f6cc437fd..dfcbe1acb29 100644
--- a/addons/sale_delivery_report/__openerp__.py
+++ b/addons/sale_delivery_report/__openerp__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,7 +15,7 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# along with this program. If not, see .
#
##############################################################################
@@ -29,7 +29,7 @@
'depends': ['sale', 'delivery'],
'init_xml': [],
'update_xml': [
- 'delivery_report.xml'
+ 'sale_delivery_report.xml'
],
'demo_xml': [],
'installable': True,
diff --git a/addons/sale_delivery_report/delivery_report.xml b/addons/sale_delivery_report/sale_delivery_report.xml
similarity index 100%
rename from addons/sale_delivery_report/delivery_report.xml
rename to addons/sale_delivery_report/sale_delivery_report.xml
diff --git a/addons/sale_journal/sale_journal.py b/addons/sale_journal/sale_journal.py
index 41d770d5760..63bef68b4d6 100644
--- a/addons/sale_journal/sale_journal.py
+++ b/addons/sale_journal/sale_journal.py
@@ -127,6 +127,7 @@ class picking_journal(osv.osv):
'state': fields.selection([
('draft','Draft'),
('open','Open'),
+ ('cancel','Cancel'),
('done','Done'),
], 'Creation date', required=True, readonly=True),
'note': fields.text('Note'),
@@ -138,6 +139,7 @@ class picking_journal(osv.osv):
'state': lambda self,cr,uid,context: 'draft',
}
def button_picking_cancel(self, cr, uid, ids, context={}):
+ self.write(cr, uid, ids, {'state':'cancel'})
for id in ids:
pick_ids = self.pool.get('stock.picking').search(cr, uid, [('journal_id','=',id)])
for pickid in pick_ids:
@@ -177,7 +179,7 @@ res_partner()
class picking(osv.osv):
_inherit="stock.picking"
_columns = {
- 'journal_id': fields.many2one('sale_journal.picking.journal', 'Journal'),
+ 'journal_id': fields.many2one('sale_journal.picking.journal', 'Journal', domain=[('state','!=', 'done')]),
'sale_journal_id': fields.many2one('sale_journal.sale.journal', 'Sale Journal'),
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True)
}
@@ -186,7 +188,7 @@ picking()
class sale(osv.osv):
_inherit="sale.order"
_columns = {
- 'journal_id': fields.many2one('sale_journal.sale.journal', 'Journal'),
+ 'journal_id': fields.many2one('sale_journal.sale.journal', 'Journal', domain=[('state','!=', 'done')]),
'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type')
}
def action_ship_create(self, cr, uid, ids, *args):
diff --git a/addons/sale_journal/sale_journal_view.xml b/addons/sale_journal/sale_journal_view.xml
index 08d197e3441..052d7e09777 100644
--- a/addons/sale_journal/sale_journal_view.xml
+++ b/addons/sale_journal/sale_journal_view.xml
@@ -113,13 +113,16 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
@@ -131,6 +134,7 @@
sale_journal.sale.journal
form
tree,form
+ {'search_default_user_id':uid}
@@ -386,7 +390,7 @@
-
+
@@ -417,13 +421,15 @@
-
-
+
+
+
+
-
-
-
-
+
+
+
+
@@ -436,6 +442,7 @@
sale_journal.picking.journal
form
tree,form
+ {'search_default_user_id':uid}
diff --git a/addons/sale_margin/sale_margin.py b/addons/sale_margin/sale_margin.py
index c390bf769e2..37da229733a 100644
--- a/addons/sale_margin/sale_margin.py
+++ b/addons/sale_margin/sale_margin.py
@@ -26,6 +26,16 @@ class sale_order_line(osv.osv):
_name = "sale.order.line"
_inherit = "sale.order.line"
+ def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
+ uom=False, qty_uos=0, uos=False, name='', partner_id=False,
+ lang=False, update_tax=True, date_order=False, packaging=False, fiscal_position=False, flag=False):
+ res = super(sale_order_line, self).product_id_change(cr, uid, ids, pricelist, product, qty=qty,
+ uom=uom, qty_uos=qty_uos, uos=uos, name=name, partner_id=partner_id,
+ lang=lang, update_tax=update_tax, date_order=date_order, packaging=packaging, fiscal_position=fiscal_position, flag=flag)
+ purchase_price = self.pool.get('product.product').browse(cr, uid, product).standard_price
+ res['value'].update({'purchase_price':purchase_price})
+ return res
+
def _product_margin(self, cr, uid, ids, field_name, arg, context=None):
res = {}
for line in self.browse(cr, uid, ids):
@@ -38,7 +48,7 @@ class sale_order_line(osv.osv):
return res
_columns = {
- 'margin': fields.function(_product_margin, method=True, string='Margin', store=True),
+ 'margin': fields.function(_product_margin, method=True, string='Margin', store={}),
'purchase_price': fields.float('Cost Price', digits=(16,2))
}
diff --git a/addons/sale_margin/sale_margin_view.xml b/addons/sale_margin/sale_margin_view.xml
index 1b46a850df8..0b470ec824c 100644
--- a/addons/sale_margin/sale_margin_view.xml
+++ b/addons/sale_margin/sale_margin_view.xml
@@ -13,6 +13,31 @@
+
+
+ sale.order.line.margin.view.form
+ form
+ sale.order
+
+
+
+
+
+
+
+
+
+ sale.order.line.tree.margin.view.form
+ form
+ sale.order
+
+
+
+
+
+
+
+
sale.order.margin.view.tree
tree
@@ -24,7 +49,7 @@
-
+
sale.order.margin.line.view.tree
tree
@@ -42,7 +67,7 @@
picking.margin.view.form
form
stock.picking
-
+