1
# -*- coding: utf-8 -*-
2
##############################################################################
4
# OpenERP, Open Source Management Solution
5
# Copyright (C) 2011 MSF, TeMPO consulting
7
# This program is free software: you can redistribute it and/or modify
8
# it under the terms of the GNU Affero General Public License as
9
# published by the Free Software Foundation, either version 3 of the
10
# License, or (at your option) any later version.
12
# This program is distributed in the hope that it will be useful,
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU Affero General Public License for more details.
17
# You should have received a copy of the GNU Affero General Public License
18
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20
##############################################################################
23
from tools.translate import _
25
class account_period(osv.osv):
26
_name = 'account.period'
27
_inherit = 'account.period'
29
def action_set_state(self, cr, uid, ids, context=None):
31
Check that all hq entries from the given period are validated.
32
This check is only done on COORDO level!
37
# Are we in coordo level?
38
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
39
if user and user.company_id and user.company_id.instance_id and user.company_id.instance_id.level and user.company_id.instance_id.level == 'coordo':
41
period_ids = self.search(cr, uid, [('id', 'in', ids), ('state', '=', 'draft')])
42
if isinstance(period_ids, (int, long)):
43
period_ids = [period_ids]
44
hq_ids = self.pool.get('hq.entries').search(cr, uid, [('period_id', 'in', period_ids), ('user_validated', '=', False)])
46
raise osv.except_osv(_('Warning'), _('Some HQ entries are not validated in this period. Please validate them before field-closing this period.'))
47
return super(account_period, self).action_set_state(cr, uid, ids, context)
50
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: