mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[FIX] contract_sale_generation: it doesn't create sales (#141)
* Change the method called in the view * Complete the create_invoice method * Bump version + authoring * Correct bad call of method Small Documentation * Add super call in python test * FIX bad field names causing bad quantities in sale.order.line
This commit is contained in:
committed by
Pedro M. Baeza
parent
71319733e8
commit
02ce7120bd
@@ -40,6 +40,7 @@ Contributors
|
||||
------------
|
||||
|
||||
* Angel Moya <angel.moya@pesol.es>
|
||||
* Florent THOMAS <florent.thomas@mind-and-go.com>
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
{
|
||||
'name': 'Contracts Management - Recurring Sales',
|
||||
'version': '10.0.2.0.0',
|
||||
'version': '10.0.3.0.0',
|
||||
'category': 'Contract Management',
|
||||
'license': 'AGPL-3',
|
||||
'author': "PESOL, "
|
||||
|
||||
@@ -21,10 +21,11 @@ class AccountAnalyticAccount(models.Model):
|
||||
sale_line = self.env['sale.order.line'].new({
|
||||
'order_id': order_id,
|
||||
'product_id': line.product_id.id,
|
||||
'proudct_uom_qty': line.quantity,
|
||||
'proudct_uom_id': line.uom_id.id,
|
||||
'product_qty': line.quantity,
|
||||
'product_uom_qty': line.quantity,
|
||||
'product_uom': line.uom_id.id,
|
||||
})
|
||||
# Get other invoice line values from product onchange
|
||||
# Get other sale line values from product onchange
|
||||
sale_line.product_id_change()
|
||||
sale_line_vals = sale_line._convert_to_write(sale_line._cache)
|
||||
# Insert markers
|
||||
@@ -66,6 +67,11 @@ class AccountAnalyticAccount(models.Model):
|
||||
|
||||
@api.multi
|
||||
def _create_invoice(self):
|
||||
"""
|
||||
Create invoices
|
||||
@param self: single record of account.invoice
|
||||
@return: MUST return an invoice recordset
|
||||
"""
|
||||
self.ensure_one()
|
||||
if self.type == 'invoice':
|
||||
return super(AccountAnalyticAccount, self)._create_invoice()
|
||||
@@ -74,6 +80,11 @@ class AccountAnalyticAccount(models.Model):
|
||||
|
||||
@api.multi
|
||||
def _create_sale(self):
|
||||
"""
|
||||
Create Sale orders
|
||||
@param self: single record of sale.order
|
||||
@return: MUST return a sale.order recordset
|
||||
"""
|
||||
self.ensure_one()
|
||||
if self.type == 'sale':
|
||||
sale_vals = self._prepare_sale()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<attribute name="attrs">{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','invoice')]}</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//button[@name='recurring_create_invoice']" position="before">
|
||||
<button name="recurring_create_invoice"
|
||||
<button name="recurring_create_sale"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','sale')]}"
|
||||
string="Create sales"
|
||||
|
||||
@@ -24,6 +24,7 @@ class TestSaleOrder(TransactionCase):
|
||||
self.env['account.analytic.account']._revert_method(
|
||||
'create',
|
||||
)
|
||||
super(TestSaleOrder, self).tearDown()
|
||||
|
||||
def test_action_done(self):
|
||||
""" It should create a contract when the sale for a contract is set
|
||||
|
||||
Reference in New Issue
Block a user