+ 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 1ffab1246c9..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_append_note(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
-
-
-
-
-
-
-
-
-
+ OpenERP Entreprise customers may safely use pad.openerp.com
diff --git a/addons/pad_project/project_task.py b/addons/pad_project/project_task.py
index 513fc3fef5d..6ebebae97fd 100644
--- a/addons/pad_project/project_task.py
+++ b/addons/pad_project/project_task.py
@@ -5,7 +5,6 @@ from osv import fields, osv
class task(osv.osv):
_name = "project.task"
_inherit = ["project.task",'pad.common']
- _pad_fields = ['description_pad']
_columns = {
- 'description_pad': fields.char('Description PAD', size=250)
+ 'description_pad': fields.char('Description PAD', pad_content_field='description')
}
diff --git a/addons/point_of_sale/account_bank_statement.py b/addons/point_of_sale/account_bank_statement.py
index eb7d791ebf9..06fe1d4a1f8 100644
--- a/addons/point_of_sale/account_bank_statement.py
+++ b/addons/point_of_sale/account_bank_statement.py
@@ -27,15 +27,10 @@ class account_journal(osv.osv):
_columns = {
'journal_user': fields.boolean('PoS Payment Method', help="Check this box if this journal define a payment method that can be used in point of sales."),
- 'opening_control': fields.boolean('Opening Control', help="If you want the journal should be control at opening, check this option"),
- 'closing_control': fields.boolean('Closing Control', help="If you want the journal should be control at closing, check this option"),
-
'amount_authorized_diff' : fields.float('Amount Authorized Difference'),
'self_checkout_payment_method' : fields.boolean('Self Checkout Payment Method'),
}
_defaults = {
- 'opening_control' : False,
- 'closing_control' : False,
'self_checkout_payment_method' : False,
}
@@ -46,6 +41,7 @@ class account_cash_statement(osv.osv):
_columns = {
'pos_session_id' : fields.many2one('pos.session'),
}
+
account_cash_statement()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml
index d7f3be2a8d6..86fc8fec164 100644
--- a/addons/point_of_sale/account_statement_view.xml
+++ b/addons/point_of_sale/account_statement_view.xml
@@ -10,8 +10,6 @@
-
-
@@ -113,37 +111,5 @@
-
-
-
-
diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py
index f4d32985688..b17e672cb9c 100644
--- a/addons/point_of_sale/point_of_sale.py
+++ b/addons/point_of_sale/point_of_sale.py
@@ -74,6 +74,26 @@ class pos_config(osv.osv):
'group_by' : fields.boolean('Group Journal Items', help="Check this if you want to group the Journal Items by Product while closing a Session"),
}
+ def _check_cash_control(self, cr, uid, ids, context=None):
+ return all(
+ (sum(int(journal.cash_control) for journal in record.journal_ids) <= 1)
+ for record in self.browse(cr, uid, ids, context=context)
+ )
+
+ _constraints = [
+ (_check_cash_control, "You cannot have two cash controls in one Point Of Sale !", ['journal_ids']),
+ ]
+
+ def copy(self, cr, uid, id, default=None, context=None):
+ if not default:
+ default = {}
+ d = {
+ 'sequence_id' : False,
+ }
+ d.update(default)
+ return super(pos_order, self).copy(cr, uid, id, d, context=context)
+
+
def name_get(self, cr, uid, ids, context=None):
result = []
states = {
@@ -90,11 +110,6 @@ class pos_config(osv.osv):
result.append((record.id, record.name + ' ('+session.user_id.name+')')) #, '+states[session.state]+')'))
return result
-
- def _default_payment_journal(self, cr, uid, context=None):
- res = self.pool.get('account.journal').search(cr, uid, [('type', 'in', ('bank','cash'))], limit=2)
- return res or []
-
def _default_sale_journal(self, cr, uid, context=None):
res = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'sale')], limit=1)
return res and res[0] or False
@@ -107,7 +122,6 @@ class pos_config(osv.osv):
'state' : POS_CONFIG_STATE[0][0],
'shop_id': _default_shop,
'journal_id': _default_sale_journal,
- 'journal_ids': _default_payment_journal,
'group_by' : True,
}
@@ -148,45 +162,20 @@ class pos_session(osv.osv):
('closed', 'Closed & Posted'),
]
- def _compute_cash_journal_id(self, cr, uid, ids, fieldnames, args, context=None):
- result = dict.fromkeys(ids, False)
- for record in self.browse(cr, uid, ids, context=context):
- for st in record.statement_ids:
- if st.journal_id.type == 'cash':
- result[record.id] = st.journal_id.id
- break
- return result
-
- def _compute_cash_register_id(self, cr, uid, ids, fieldnames, args, context=None):
- result = dict.fromkeys(ids, False)
- for record in self.browse(cr, uid, ids, context=context):
- for st in record.statement_ids:
- if st.journal_id.type == 'cash':
- result[record.id] = st.id
- break
- return result
-
- def _compute_controls(self, cr, uid, ids, fieldnames, args, context=None):
- result = {}
+ def _compute_cash_all(self, cr, uid, ids, fieldnames, args, context=None):
+ result = dict()
for record in self.browse(cr, uid, ids, context=context):
- has_opening_control = False
- has_closing_control = False
-
- for journal in record.config_id.journal_ids:
- if journal.opening_control == True:
- has_opening_control = True
- if journal.closing_control == True:
- has_closing_control = True
-
- if has_opening_control and has_closing_control:
- break
-
- values = {
- 'has_opening_control': has_opening_control,
- 'has_closing_control': has_closing_control,
+ result[record.id] = {
+ 'cash_journal_id' : False,
+ 'cash_register_id' : False,
+ 'cash_control' : False,
}
- result[record.id] = values
+ for st in record.statement_ids:
+ if st.journal_id.cash_control == True:
+ result[record.id]['cash_control'] = True
+ result[record.id]['cash_journal_id'] = st.journal_id.id
+ result[record.id]['cash_register_id'] = st.id
return result
@@ -212,12 +201,17 @@ class pos_session(osv.osv):
required=True, readonly=True,
select=1),
- 'cash_journal_id' : fields.function(_compute_cash_journal_id, method=True,
- type='many2one', relation='account.journal',
- string='Cash Journal', store=True),
- 'cash_register_id' : fields.function(_compute_cash_register_id, method=True,
- type='many2one', relation='account.bank.statement',
- string='Cash Register', store=True),
+ 'cash_control' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='boolean', string='Has Cash Control'),
+ 'cash_journal_id' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='many2one', relation='account.journal',
+ string='Cash Journal', store=True),
+ 'cash_register_id' : fields.function(_compute_cash_all,
+ multi='cash',
+ type='many2one', relation='account.bank.statement',
+ string='Cash Register', store=True),
'opening_details_ids' : fields.related('cash_register_id', 'opening_details_ids',
type='one2many', relation='account.cashbox.line',
@@ -261,8 +255,6 @@ class pos_session(osv.osv):
'order_ids' : fields.one2many('pos.order', 'session_id', 'Orders'),
'statement_ids' : fields.one2many('account.bank.statement', 'pos_session_id', 'Bank Statement', readonly=True),
- 'has_opening_control' : fields.function(_compute_controls, string='Has Opening Control', multi='control', type='boolean'),
- 'has_closing_control' : fields.function(_compute_controls, string='Has Closing Control', multi='control', type='boolean'),
}
_defaults = {
@@ -372,10 +364,8 @@ class pos_session(osv.osv):
def wkf_action_closing_control(self, cr, uid, ids, context=None):
for session in self.browse(cr, uid, ids, context=context):
for statement in session.statement_ids:
- if statement.id <> session.cash_register_id.id:
- if statement.balance_end<>statement.balance_end_real:
- self.pool.get('account.bank.statement').write(cr, uid,
- [statement.id], {'balance_end_real': statement.balance_end})
+ if statement != session.cash_register_id and statement.balance_end != statement.balance_end_real:
+ self.pool.get('account.bank.statement').write(cr, uid, [statement.id], {'balance_end_real': statement.balance_end})
return self.write(cr, uid, ids, {'state' : 'closing_control', 'stop_at' : time.strftime('%Y-%m-%d %H:%M:%S')}, context=context)
def wkf_action_close(self, cr, uid, ids, context=None):
@@ -388,7 +378,7 @@ class pos_session(osv.osv):
if not self.pool.get('ir.model.access').check_groups(cr, uid, "point_of_sale.group_pos_manager"):
raise osv.except_osv( _('Error!'),
_("Your ending balance is too different from the theorical cash closing (%.2f), the maximum allowed is: %.2f. You can contact your manager to force it.") % (st.difference, st.journal_id.amount_authorized_diff))
- if st.difference:
+ if st.difference and st.journal_id.cash_control == True:
if st.difference > 0.0:
name= _('Point of Sale Profit')
account_id = st.journal_id.profit_account_id.id
@@ -406,6 +396,9 @@ class pos_session(osv.osv):
'account_id': account_id
}, context=context)
+ if st.journal_id.type == 'bank':
+ st.write({'balance_end_real' : st.balance_end})
+
getattr(st, 'button_confirm_%s' % st.journal_id.type)(context=context)
self._confirm_orders(cr, uid, ids, context=context)
self.write(cr, uid, ids, {'state' : 'closed'}, context=context)
@@ -731,7 +724,7 @@ class pos_order(osv.osv):
'pos_statement_id' : order_id,
'journal_id' : journal_id,
'type' : 'customer',
- 'ref' : order.name,
+ 'ref' : order.session_id.name,
})
statement_line_obj.create(cr, uid, args, context=context)
@@ -1084,6 +1077,7 @@ class account_bank_statement_line(osv.osv):
_columns= {
'pos_statement_id': fields.many2one('pos.order', ondelete='cascade'),
}
+
account_bank_statement_line()
class pos_order_line(osv.osv):
@@ -1284,8 +1278,30 @@ class product_product(osv.osv):
help="If you want to sell this product through the point of sale, select the category it belongs to."),
'to_weight' : fields.boolean('To Weight', help="This category contains products that should be weighted, mainly used for the self-checkout interface"),
}
+
+ def _default_pos_categ_id(self, cr, uid, context=None):
+ proxy = self.pool.get('ir.model.data')
+
+ try:
+ category_id = proxy.get_object_reference(cr, uid, 'point_of_sale', 'categ_others')[1]
+ except ValueError:
+ values = {
+ 'name' : 'Others',
+ }
+ category_id = self.pool.get('pos.category').create(cr, uid, values, context=context)
+ values = {
+ 'name' : 'categ_others',
+ 'model' : 'pos.category',
+ 'module' : 'point_of_sale',
+ 'res_id' : category_id,
+ }
+ proxy.create(cr, uid, values, context=context)
+
+ return category_id
+
_defaults = {
'to_weight' : False,
+ 'pos_categ_id' : _default_pos_categ_id,
}
def edit_ean(self, cr, uid, ids, context):
diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml
index db8caaadf3b..47256279c59 100644
--- a/addons/point_of_sale/point_of_sale_demo.xml
+++ b/addons/point_of_sale/point_of_sale_demo.xml
@@ -8,7 +8,7 @@
0410200000005
-
+
@@ -36,6 +36,10 @@
+
+
+
+
diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml
index 0f8e5e57e5f..0e906186285 100644
--- a/addons/point_of_sale/point_of_sale_view.xml
+++ b/addons/point_of_sale/point_of_sale_view.xml
@@ -126,7 +126,7 @@
- Sales
+ Orderspos.order
@@ -138,6 +138,7 @@
+
@@ -791,8 +792,7 @@
-
-
+
@@ -878,10 +878,10 @@
@@ -900,8 +900,7 @@
-
-
+
@@ -912,26 +911,26 @@
-
+
-
+
-
+
-
+
-
+
@@ -948,7 +947,7 @@
-
+
diff --git a/addons/point_of_sale/point_of_sale_workflow.xml b/addons/point_of_sale/point_of_sale_workflow.xml
index 87deb7f18fb..601fbae4d23 100644
--- a/addons/point_of_sale/point_of_sale_workflow.xml
+++ b/addons/point_of_sale/point_of_sale_workflow.xml
@@ -126,14 +126,14 @@
- has_opening_control == True
+ cash_control == True
- has_opening_control == False
+ cash_control == False
@@ -147,14 +147,14 @@
cashbox_control
- has_closing_control == True
+ cash_control == Trueclose
- has_closing_control == False
+ cash_control == False
diff --git a/addons/point_of_sale/wizard/pos_open_statement.py b/addons/point_of_sale/wizard/pos_open_statement.py
index 572f6470c34..2219f711b93 100644
--- a/addons/point_of_sale/wizard/pos_open_statement.py
+++ b/addons/point_of_sale/wizard/pos_open_statement.py
@@ -65,7 +65,7 @@ class pos_open_statement(osv.osv_memory):
statement_id = statement_obj.create(cr, uid, data, context=context)
st_ids.append(int(statement_id))
- if journal.opening_control:
+ if journal.cash_control:
statement_obj.button_open(cr, uid, [statement_id], context)
tree_res = mod_obj.get_object_reference(cr, uid, 'point_of_sale', 'view_cash_statement_pos_tree')
diff --git a/addons/project/project.py b/addons/project/project.py
index ab1c3c47dfe..904e19671cb 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -210,7 +210,7 @@ class project(osv.osv):
'complete_name': fields.function(_complete_name, string="Project Name", type='char', size=250),
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the project without removing it."),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of Projects."),
- 'analytic_account_id': fields.many2one('account.analytic.account', 'Analytic Account', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.", ondelete="cascade", required=True),
+ 'analytic_account_id': fields.many2one('account.analytic.account', 'Contract/Analytic', help="Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc.", ondelete="cascade", required=True),
'priority': fields.integer('Sequence', help="Gives the sequence order when displaying the list of projects"),
'members': fields.many2many('res.users', 'project_user_rel', 'project_id', 'uid', 'Project Members',
help="Project's members are users who can have an access to the tasks related to this project.", states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
@@ -1265,7 +1265,7 @@ class account_analytic_account(osv.osv):
_inherit = 'account.analytic.account'
_description = 'Analytic Account'
_columns = {
- 'use_tasks': fields.boolean('Tasks Mgmt.',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
+ 'use_tasks': fields.boolean('Tasks',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"),
'company_uom_id': fields.related('company_id', 'project_time_mode_id', type='many2one', relation='product.uom'),
}
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 6195ca909d2..f864e207141 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -76,33 +76,29 @@
-
-