~vauxoo/addons-vauxoo/gbw

« back to all changes in this revision

Viewing changes to account/wizard/account_fiscalyear_close_state.py

  • Committer: Isaac Lopez
  • Date: 2012-05-08 22:46:41 UTC
  • Revision ID: isaac@vauxoo.com-20120508224641-ge7uo6srn4ift4mq
[ADD][account] account with patch requiered by facturae and digits_compute added on quantity field
[ADD][l10n_mx_invoice_discount] discount module customized GBW

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
4
#    OpenERP, Open Source Management Solution
 
5
#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
 
6
#
 
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.
 
11
#
 
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.
 
16
#
 
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/>.
 
19
#
 
20
##############################################################################
 
21
 
 
22
from osv import fields, osv
 
23
 
 
24
class account_fiscalyear_close_state(osv.osv_memory):
 
25
    """
 
26
    Closes  Account Fiscalyear
 
27
    """
 
28
    _name = "account.fiscalyear.close.state"
 
29
    _description = "Fiscalyear Close state"
 
30
    _columns = {
 
31
       'fy_id': fields.many2one('account.fiscalyear', \
 
32
                                 'Fiscal Year to close', required=True, help="Select a fiscal year to close"),
 
33
    }
 
34
 
 
35
    def data_save(self, cr, uid, ids, context=None):
 
36
        """
 
37
        This function close account fiscalyear
 
38
        @param cr: the current row, from the database cursor,
 
39
        @param uid: the current user’s ID for security checks,
 
40
        @param ids: List of Account fiscalyear close state’s IDs
 
41
 
 
42
        """
 
43
        for data in  self.read(cr, uid, ids, context=context):
 
44
            fy_id = data['fy_id']
 
45
 
 
46
            cr.execute('UPDATE account_journal_period ' \
 
47
                        'SET state = %s ' \
 
48
                        'WHERE period_id IN (SELECT id FROM account_period \
 
49
                        WHERE fiscalyear_id = %s)',
 
50
                    ('done', fy_id))
 
51
            cr.execute('UPDATE account_period SET state = %s ' \
 
52
                    'WHERE fiscalyear_id = %s', ('done', fy_id))
 
53
            cr.execute('UPDATE account_fiscalyear ' \
 
54
                    'SET state = %s WHERE id = %s', ('done', fy_id))
 
55
 
 
56
            # Log message for Fiscalyear
 
57
            fy_pool = self.pool.get('account.fiscalyear')
 
58
            fy_code = fy_pool.browse(cr, uid, fy_id, context=context).code
 
59
            fy_pool.log(cr, uid, fy_id, "Fiscal year '%s' is closed, no more modification allowed." % (fy_code))
 
60
            return {'type': 'ir.actions.act_window_close'}
 
61
 
 
62
account_fiscalyear_close_state()
 
63
 
 
64
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
 
b'\\ No newline at end of file'