+ Once the end date of the contract is
+ passed or the maximum number of service
+ units is reached, the account manager
+ is warned by email to renew the contract.
+
+
+
+
+
diff --git a/addons/analytic_contract_expense_project/__init__.py b/addons/analytic_contract_expense_project/__init__.py
deleted file mode 100644
index 05c84916922..00000000000
--- a/addons/analytic_contract_expense_project/__init__.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 .
-#
-##############################################################################
-
-import analytic_contract_expense_project
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/analytic_contract_expense_project/__openerp__.py b/addons/analytic_contract_expense_project/__openerp__.py
deleted file mode 100644
index 8996e9f7565..00000000000
--- a/addons/analytic_contract_expense_project/__openerp__.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 .
-#
-##############################################################################
-
-
-{
- 'name': 'Projects Management: hr_expense link',
- 'version': '1.1',
- 'category': 'Hidden',
- 'description': """
-This module is for modifying project view to show some data related to the hr_expense module.
-=============================================================================================
-""",
- 'author': 'OpenERP S.A.',
- 'website': 'http://www.openerp.com/',
- 'depends': ['analytic_contract_hr_expense','project'],
- 'data': ['analytic_contract_expense_project_view.xml'],
- 'demo': [],
- 'css' : [],
- 'installable': True,
- 'auto_install': True,
-}
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/analytic_contract_expense_project/analytic_contract_expense_project.py b/addons/analytic_contract_expense_project/analytic_contract_expense_project.py
deleted file mode 100644
index efbb8b75a9e..00000000000
--- a/addons/analytic_contract_expense_project/analytic_contract_expense_project.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 osv import osv
-
-class project_project(osv.osv):
- _inherit = "project.project"
-
- def open_hr_expense(self, cr, uid, ids, context=None):
- account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
- return self.pool.get('account.analytic.account').open_hr_expense(cr, uid, account_ids, context=context)
-
- def hr_to_invoice_expense(self, cr, uid, ids, context=None):
- account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
- return self.pool.get('account.analytic.account').hr_to_invoice_expense(cr, uid, account_ids, context=context)
-
-project_project()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml b/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml
deleted file mode 100644
index f461ed224b8..00000000000
--- a/addons/analytic_contract_expense_project/analytic_contract_expense_project_view.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
- project.project.form.expense.inherit
- project.project
-
-
-
-
-
diff --git a/addons/analytic_contract_project/__init__.py b/addons/analytic_contract_project/__init__.py
deleted file mode 100644
index dd60ac32096..00000000000
--- a/addons/analytic_contract_project/__init__.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 .
-#
-##############################################################################
-
-import analytic_contract_project
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/analytic_contract_project/__openerp__.py b/addons/analytic_contract_project/__openerp__.py
deleted file mode 100644
index 9c0be102760..00000000000
--- a/addons/analytic_contract_project/__openerp__.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 .
-#
-##############################################################################
-
-{
- 'name' : 'Contract on Project',
- 'version': '1.1',
- 'author' : 'OpenERP SA',
- 'category': 'Hidden',
- 'website' : 'http://www.openerp.com',
- 'depends' : ['project', 'account_analytic_analysis'],
- 'description': """
-Add "Contract Data" in project view.
-====================================
- """,
- 'data': ['analytic_contract_project_view.xml'],
- 'demo': [],
- 'installable': True,
- 'auto_install': True,
-}
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/analytic_contract_project/analytic_contract_project.py b/addons/analytic_contract_project/analytic_contract_project.py
deleted file mode 100644
index 91dc4498880..00000000000
--- a/addons/analytic_contract_project/analytic_contract_project.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL ().
-#
-# 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 osv import fields, osv
-from tools.translate import _
-
-class project_project(osv.osv):
- _inherit = 'project.project'
-
- _defaults = {
- 'use_timesheets': True,
- }
-
- def open_sale_order_lines(self,cr,uid,ids,context=None):
- account_ids = [x.analytic_account_id.id for x in self.browse(cr, uid, ids, context=context)]
- return self.pool.get('account.analytic.account').open_sale_order_lines(cr, uid, account_ids, context=context)
-
- def open_timesheets_to_invoice(self,cr,uid,ids,context=None):
- if context is None:
- context = {}
- analytic_account_id = self.browse(cr, uid, ids[0], context=context).analytic_account_id.id
- context.update({'search_default_account_id': analytic_account_id, 'default_account_id': analytic_account_id, 'search_default_to_invoice': 1})
- return {
- 'type': 'ir.actions.act_window',
- 'name': _('Timesheet Lines to Invoice'),
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'context': context,
- 'domain' : [('invoice_id','=',False),('to_invoice','!=',False), ('journal_id.type', '=', 'general')],
- 'res_model': 'account.analytic.line',
- 'nodestroy': True,
- }
-
- def open_timesheets(self, cr, uid, ids, context=None):
- """ open Timesheets view """
- project = self.browse(cr, uid, ids[0], context)
- try:
- journal_id = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_timesheet', 'analytic_journal').id
- except ValueError:
- journal_id = False
- view_context = {
- 'search_default_account_id': [project.analytic_account_id.id],
- 'default_account_id': project.analytic_account_id.id,
- 'default_journal_id': journal_id,
- }
- return {
- 'type': 'ir.actions.act_window',
- 'name': _('Bill Tasks Works'),
- 'res_model': 'account.analytic.line',
- 'view_type': 'form',
- 'view_mode': 'tree,form',
- 'context': view_context,
- 'nodestroy': True,
- }
-project_project()
-
-class task(osv.osv):
- _inherit = "project.task"
-
- def create(self, cr, uid, vals, context=None):
- task_id = super(task, self).create(cr, uid, vals, context=context)
- task_browse = self.browse(cr, uid, task_id, context=context)
- if task_browse.project_id.analytic_account_id:
- self.pool.get('account.analytic.account').message_post(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task %s has been created.") % (task_browse.name), context=context)
- return task_id
-task()
diff --git a/addons/analytic_contract_project/analytic_contract_project_view.xml b/addons/analytic_contract_project/analytic_contract_project_view.xml
deleted file mode 100644
index 84f01e19643..00000000000
--- a/addons/analytic_contract_project/analytic_contract_project_view.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-
-
-
-
-
- project.project.form.inherit
- project.project
-
-
-
-
-
-
-
-
-
@@ -688,11 +691,9 @@
-
-
-
-
+
+
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index aeb79e9e940..9cc97ec470b 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -562,7 +562,7 @@ class account_analytic_account(osv.osv):
_description = 'Analytic Account'
_columns = {
- 'use_issues' : fields.boolean('Issues Tracking', help="Check this field if this project manages issues"),
+ 'use_issues' : fields.boolean('Issues', help="Check this field if this project manages issues"),
}
def on_change_template(self, cr, uid, ids, template_id, context=None):
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index a566c89cbbe..dbca50881f5 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -355,11 +355,12 @@
project.project
-
-
-
-
-
+
+
+
+
+
+
@@ -382,7 +383,7 @@
- Issues()
+ Issues
@@ -393,11 +394,9 @@
-
-
-
-
+
+
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index d5ac3868a5e..2eab5fa6ac6 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -273,9 +273,9 @@ class account_analytic_account(osv.osv):
_inherit = 'account.analytic.account'
_description = 'Analytic Account'
_columns = {
- 'use_phases': fields.boolean('Phases Planing', help="Check this field if project manages phases"),
+ 'use_phases': fields.boolean('Phases', help="Check this field if you plan to use phase-based scheduling"),
}
-
+
def on_change_template(self, cr, uid, ids, template_id, context=None):
res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context)
if template_id and 'value' in res:
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index b4b98e8fe4a..55a91b36f08 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -96,11 +96,14 @@
project.project
-
-
-
-
-
+
+
+
+
+
+
@@ -347,11 +350,9 @@
-
-
-
-
+
+
diff --git a/addons/project_mrp/project_mrp_view.xml b/addons/project_mrp/project_mrp_view.xml
index ffceb33a611..841a61e6c31 100644
--- a/addons/project_mrp/project_mrp_view.xml
+++ b/addons/project_mrp/project_mrp_view.xml
@@ -14,7 +14,7 @@
product.form.view.inheritproduct.product
-
+
diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py
index 8770aa53429..805556c1a96 100644
--- a/addons/project_timesheet/__openerp__.py
+++ b/addons/project_timesheet/__openerp__.py
@@ -48,7 +48,7 @@ with the effect of creating, editing and deleting either ways.
'test/work_timesheet.yml',
],
'installable': True,
- 'auto_install': False,
+ 'auto_install': True,
'certificate': '0075123647453',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py
index e4374f096fd..1e50848201c 100644
--- a/addons/project_timesheet/project_timesheet.py
+++ b/addons/project_timesheet/project_timesheet.py
@@ -28,33 +28,6 @@ from tools.translate import _
class project_project(osv.osv):
_inherit = 'project.project'
-
- def _to_invoice(self, cr, uid, ids, field_name, arg, context=None):
- account_analytic_line = self.pool.get("account.analytic.line")
- res = {}
- for project in self.browse(cr,uid,ids,context=context):
- line_ids = account_analytic_line.search(cr, uid, [('account_id', '=', project.analytic_account_id.id), ('to_invoice','=',1), ('invoice_id','=',False)])
- lines = account_analytic_line.browse(cr, uid, line_ids, context)
- res[project.id] = {
- 'amount_to_invoice': sum(line.amount for line in lines),
- 'time_to_invoice': sum(line.unit_amount for line in lines),
- }
- return res
-
- def _timesheet_count(self, cr, uid, ids, field_name, arg, context=None):
- account_analytic_line = self.pool.get('account.analytic.line')
- res = {}
- for project in self.browse(cr, uid, ids, context):
- line_ids = account_analytic_line.search(cr, uid, [('account_id', '=', project.analytic_account_id.id)])
- res[project.id] = len(line_ids)
- return res
-
- _columns = {
- 'amount_to_invoice': fields.function(_to_invoice, string="Amount to Invoice", multi="sums"),
- 'time_to_invoice': fields.function(_to_invoice, string="Time to Invoice", multi="sums"),
- 'timesheet_count': fields.function(_timesheet_count, type='integer', string="Issue"),
- }
-
def onchange_partner_id(self, cr, uid, ids, part=False, context=None):
res = super(project_project, self).onchange_partner_id(cr, uid, ids, part, context)
if part and res and ('value' in res):
@@ -66,6 +39,31 @@ class project_project(osv.osv):
res['value'].update({'to_invoice': factor_id})
return res
+ _defaults = {
+ 'use_timesheets': True,
+ }
+
+ def open_timesheets(self, cr, uid, ids, context=None):
+ """ open Timesheets view """
+ project = self.browse(cr, uid, ids[0], context)
+ try:
+ journal_id = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_timesheet', 'analytic_journal').id
+ except ValueError:
+ journal_id = False
+ view_context = {
+ 'search_default_account_id': [project.analytic_account_id.id],
+ 'default_account_id': project.analytic_account_id.id,
+ 'default_journal_id': journal_id,
+ }
+ return {
+ 'type': 'ir.actions.act_window',
+ 'name': _('Bill Tasks Works'),
+ 'res_model': 'account.analytic.line',
+ 'view_type': 'form',
+ 'view_mode': 'tree,form',
+ 'context': view_context,
+ 'nodestroy': True,
+ }
project_project()
class project_work(osv.osv):
diff --git a/addons/project_timesheet/project_timesheet_view.xml b/addons/project_timesheet/project_timesheet_view.xml
index c47c411f6c9..66104ee0d8c 100644
--- a/addons/project_timesheet/project_timesheet_view.xml
+++ b/addons/project_timesheet/project_timesheet_view.xml
@@ -9,33 +9,29 @@
-
+ Timesheets()
-
-
-
-
Amount to invoice
-
-
Time to Invoice
-
-
+ name="open_timesheets" type="object"> Timesheets
-
- Inherit project form : Customer
+
+ Inherit project form : Invoicing Dataproject.project
-
+
-
-
-
+
+
+
+
+
+
+
@@ -45,7 +41,6 @@
-
@@ -95,7 +90,7 @@
Click to add a work to invoice.
You will find here all works made on tasks that you can
- invoice.
+ invoice.
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 158ef53f559..6a997916a9a 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -554,5 +554,20 @@
+
+
+
+
+ product.normal.supplier.form.inherit
+ product.product
+
+
+
+
+
+
+
+
+
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py
index 6beac5a4cd0..3d9c858cec5 100644
--- a/addons/purchase/res_config.py
+++ b/addons/purchase/res_config.py
@@ -40,6 +40,9 @@ class purchase_config_settings(osv.osv_memory):
'group_uom':fields.boolean("manage different units of measure for products",
implied_group='product.group_uom',
help="""Allows you to select and maintain different units of measure for products."""),
+ 'group_costing_method':fields.boolean("compute product cost price based on average cost",
+ implied_group='product.group_costing_method',
+ help="""Allows you to compute product cost price based on average cost."""),
'group_purchase_delivery_address': fields.boolean("allow a different address for incoming products and invoicings",
implied_group='purchase.group_delivery_invoice_address',
help="Allows you to specify different delivery and invoice addresses on a purchase order."),
diff --git a/addons/purchase/res_config_view.xml b/addons/purchase/res_config_view.xml
index 23d89f1a7f1..00e0b6108e8 100644
--- a/addons/purchase/res_config_view.xml
+++ b/addons/purchase/res_config_view.xml
@@ -59,6 +59,10 @@
+