modifs
[odoo/odoo.git] / addons / profile_association / profile_association.py
1 ##############################################################################
2 #
3 # Copyright (c) 2004-2008 Tiny SPRL (http://tiny.be) All Rights Reserved.
4 #
5 # $Id: __terp__.py 8595 2008-06-16 13:00:21Z stw $
6 #
7 # WARNING: This program as such is intended to be used by professional
8 # programmers who take the whole responsability of assessing all potential
9 # consequences resulting from its eventual inadequacies and bugs
10 # End users who are looking for a ready-to-use solution with commercial
11 # garantees and support are strongly adviced to contract a Free Software
12 # Service Company
13 #
14 # This program is Free Software; you can redistribute it and/or
15 # modify it under the terms of the GNU General Public License
16 # as published by the Free Software Foundation; either version 2
17 # of the License, or (at your option) any later version.
18 #
19 # This program is distributed in the hope that it will be useful,
20 # but WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 # GNU General Public License for more details.
23 #
24 # You should have received a copy of the GNU General Public License
25 # along with this program; if not, write to the Free Software
26 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
27 ###############################################################################
28
29 from osv import fields, osv
30 import pooler
31
32
33 class profile_association_config_install_modules_wizard(osv.osv_memory):
34     _name='profile.association.config.install_modules_wizard'
35     _columns = {
36         'hr_expense':fields.boolean('Expenses Tracking', help="Tracks the personal expenses process, from the employee expense encoding, to the reimbursement of the employee up to the reinvoicing to the final customer."),
37         'project':fields.boolean('Project Management'),
38         'event' : fields.boolean('Events Organisation'),
39     }
40     def action_cancel(self,cr,uid,ids,conect=None):
41         return {
42                 'view_type': 'form',
43                 "view_mode": 'form',
44                 'res_model': 'ir.actions.configuration.wizard',
45                 'type': 'ir.actions.act_window',
46                 'target':'new',
47          }
48     def action_install(self, cr, uid, ids, context=None):
49         result=self.read(cr,uid,ids)
50         mod_obj = self.pool.get('ir.module.module')
51         for res in result:
52             for r in res:
53                 if r<>'id' and res[r]:
54                     ids = mod_obj.search(cr, uid, [('name', '=', r)])
55                     mod_obj.action_install(cr, uid, ids, context=context)
56         cr.commit()
57         db, pool = pooler.restart_pool(cr.dbname, update_module=True)
58         return {
59                 'view_type': 'form',
60                 "view_mode": 'form',
61                 'res_model': 'ir.actions.configuration.wizard',
62                 'type': 'ir.actions.act_window',
63                 'target':'new',
64             }
65 profile_association_config_install_modules_wizard()
66
67 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: