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
Denis Roussel
parent
983165468e
commit
6fe52a364d
@@ -40,6 +40,7 @@ Contributors
|
|||||||
------------
|
------------
|
||||||
|
|
||||||
* Angel Moya <angel.moya@pesol.es>
|
* Angel Moya <angel.moya@pesol.es>
|
||||||
|
* Florent THOMAS <florent.thomas@mind-and-go.com>
|
||||||
|
|
||||||
Maintainer
|
Maintainer
|
||||||
----------
|
----------
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Contracts Management - Recurring Sales',
|
'name': 'Contracts Management - Recurring Sales',
|
||||||
'version': '10.0.2.0.0',
|
'version': '10.0.3.0.0',
|
||||||
'category': 'Contract Management',
|
'category': 'Contract Management',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'author': "PESOL, "
|
'author': "PESOL, "
|
||||||
|
|||||||
@@ -21,10 +21,11 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
sale_line = self.env['sale.order.line'].new({
|
sale_line = self.env['sale.order.line'].new({
|
||||||
'order_id': order_id,
|
'order_id': order_id,
|
||||||
'product_id': line.product_id.id,
|
'product_id': line.product_id.id,
|
||||||
'proudct_uom_qty': line.quantity,
|
'product_qty': line.quantity,
|
||||||
'proudct_uom_id': line.uom_id.id,
|
'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.product_id_change()
|
||||||
sale_line_vals = sale_line._convert_to_write(sale_line._cache)
|
sale_line_vals = sale_line._convert_to_write(sale_line._cache)
|
||||||
# Insert markers
|
# Insert markers
|
||||||
@@ -66,6 +67,11 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _create_invoice(self):
|
def _create_invoice(self):
|
||||||
|
"""
|
||||||
|
Create invoices
|
||||||
|
@param self: single record of account.invoice
|
||||||
|
@return: MUST return an invoice recordset
|
||||||
|
"""
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
if self.type == 'invoice':
|
if self.type == 'invoice':
|
||||||
return super(AccountAnalyticAccount, self)._create_invoice()
|
return super(AccountAnalyticAccount, self)._create_invoice()
|
||||||
@@ -74,6 +80,11 @@ class AccountAnalyticAccount(models.Model):
|
|||||||
|
|
||||||
@api.multi
|
@api.multi
|
||||||
def _create_sale(self):
|
def _create_sale(self):
|
||||||
|
"""
|
||||||
|
Create Sale orders
|
||||||
|
@param self: single record of sale.order
|
||||||
|
@return: MUST return a sale.order recordset
|
||||||
|
"""
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
if self.type == 'sale':
|
if self.type == 'sale':
|
||||||
sale_vals = self._prepare_sale()
|
sale_vals = self._prepare_sale()
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<attribute name="attrs">{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','invoice')]}</attribute>
|
<attribute name="attrs">{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','invoice')]}</attribute>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//button[@name='recurring_create_invoice']" position="before">
|
<xpath expr="//button[@name='recurring_create_invoice']" position="before">
|
||||||
<button name="recurring_create_invoice"
|
<button name="recurring_create_sale"
|
||||||
type="object"
|
type="object"
|
||||||
attrs="{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','sale')]}"
|
attrs="{'invisible': ['|',('recurring_invoices','!=',True),('type','!=','sale')]}"
|
||||||
string="Create sales"
|
string="Create sales"
|
||||||
|
|||||||
Reference in New Issue
Block a user