Browse Source

[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
pull/329/head
Florent THOMAS 7 years ago
committed by Sylvain Van Hoof
parent
commit
9330f4e82d
  1. 1
      contract_sale_generation/README.rst
  2. 2
      contract_sale_generation/__manifest__.py
  3. 17
      contract_sale_generation/models/account_analytic_account.py
  4. 2
      contract_sale_generation/views/account_analytic_account_view.xml

1
contract_sale_generation/README.rst

@ -40,6 +40,7 @@ Contributors
------------
* Angel Moya <angel.moya@pesol.es>
* Florent THOMAS <florent.thomas@mind-and-go.com>
Maintainer
----------

2
contract_sale_generation/__manifest__.py

@ -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, "

17
contract_sale_generation/models/account_analytic_account.py

@ -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()

2
contract_sale_generation/views/account_analytic_account_view.xml

@ -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"

Loading…
Cancel
Save