1 from osv import fields, osv, orm
3 class module_web(osv.osv):
4 _name = "ir.module.web"
5 _description = "Web Module"
8 'name': fields.char("Name", size=128, readonly=True, required=True),
9 'module': fields.char("Module", size=128, readonly=True, required=True),
10 'description': fields.text("Description", readonly=True, translate=True),
11 'author': fields.char("Author", size=128, readonly=True),
12 'website': fields.char("Website", size=256, readonly=True),
13 'state': fields.selection([
14 ('uninstallable','Uninstallable'),
15 ('uninstalled','Not Installed'),
16 ('installed','Installed')
17 ], string='State', readonly=True)
21 'state': lambda *a: 'uninstalled',
26 ('name_uniq', 'unique (name)', 'The name of the module must be unique !'),
29 def update_module_list(self, cr, uid, modules, context={}):
31 for module in modules:
32 mod_name = module['name']
33 ids = self.search(cr, uid, [('name','=',mod_name)])
35 self.write(cr, uid, ids, module)
37 self.create(cr, uid, module)
39 def button_install(self, cr, uid, ids, context={}):
40 return self.write(cr, uid, ids, {'state': 'installed'}, context)
42 def button_uninstall(self, cr, uid, ids, context={}):
43 return self.write(cr, uid, ids, {'state': 'uninstalled'}, context)