diff --git a/analytic_hours_block/__init__.py b/analytic_hours_block/__init__.py index 93f4db71..42354634 100644 --- a/analytic_hours_block/__init__.py +++ b/analytic_hours_block/__init__.py @@ -20,3 +20,4 @@ ############################################################################## import hours_block import report +import product diff --git a/analytic_hours_block/__openerp__.py b/analytic_hours_block/__openerp__.py index d6ae9142..a635ec1f 100644 --- a/analytic_hours_block/__openerp__.py +++ b/analytic_hours_block/__openerp__.py @@ -46,6 +46,7 @@ you can track and follow how much has been used. "hours_block_view.xml", "hours_block_data.xml", "hours_block_menu.xml", + "product_view.xml", "report.xml", "security/hours_block_security.xml", "security/ir.model.access.csv", diff --git a/analytic_hours_block/hours_block.py b/analytic_hours_block/hours_block.py index 85415a25..3ce24384 100644 --- a/analytic_hours_block/hours_block.py +++ b/analytic_hours_block/hours_block.py @@ -48,7 +48,7 @@ class AccountHoursBlock(orm.Model): # Compute hours bought for line in block.invoice_id.invoice_line: hours_bought = 0.0 - if line.product_id: + if line.product_id and line.product_id.is_in_hours_block: # We will now calculate the product_quantity factor = line.uos_id.factor if factor == 0.0: diff --git a/analytic_hours_block/product.py b/analytic_hours_block/product.py new file mode 100644 index 00000000..3835799a --- /dev/null +++ b/analytic_hours_block/product.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# Author: Matthieu Dietrich +# Copyright 2014 Camptocamp SA +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# 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 . +# +############################################################################## + +from openerp.osv import orm, fields + + +class Product(orm.Model): + _name = "product.product" + _inherit = 'product.product' + + _columns = { + 'is_in_hours_block': fields.boolean( + 'Accounted for hours block?', + help="Specify if you want to have invoice lines " + "containing this product to be considered for hours blocks.") + } + + _defaults = { + 'is_in_hours_block': False + } diff --git a/analytic_hours_block/product_view.xml b/analytic_hours_block/product_view.xml new file mode 100644 index 00000000..c43fd0b3 --- /dev/null +++ b/analytic_hours_block/product_view.xml @@ -0,0 +1,18 @@ + + + + + + product.product.block.form + product.product + + +
+ +
+
+
+ +
+