Browse Source

IMP: support v7,v8 API and remove sql with ORM methods (#1)

pull/22/head
smangukiya 8 years ago
committed by Pedro M. Baeza
parent
commit
afaea0e7bb
  1. 32
      base_export_manager/models/res_users.py

32
base_export_manager/models/res_users.py

@ -8,19 +8,21 @@ from openerp import api, models
class ResUsers(models.Model): class ResUsers(models.Model):
_inherit = 'res.users' _inherit = 'res.users'
@api.v7
def get_export_models(self, cr, uid):
return self.fetch_export_models(cr, uid)
@api.v8
def get_export_models(self): def get_export_models(self):
self.env.cr.execute("SELECT model "
"FROM ir_model "
"WHERE id IN ("
" SELECT distinct(model_id) "
" FROM ir_model_access "
" WHERE perm_export=TRUE AND group_id IN ("
" SELECT gid "
" FROM res_groups_users_rel "
" WHERE uid=%s"
" )"
")",
(self.env.uid,))
model_names = [r[0] for r in self.env.cr.fetchall()]
return model_names
uid = self.id or self.env.uid
return self.fetch_export_models(self.env.cr, uid)
def fetch_export_models(self, cr, uid):
groups_id = [group.id for group in self.browse(cr, uid, uid).groups_id]
accessobj = self.pool['ir.model.access']
accessobj_ids = accessobj.search(cr, uid, [('perm_export','=',True),('group_id','in',groups_id)])
model_names = [access_obj.model_id.model for access_obj in accessobj.browse(cr, uid, accessobj_ids)]
#make distinct value in list
model_names = list(set(model_names))
return model_names
Loading…
Cancel
Save