Skip to content

Commit

Permalink
IMP: support v7,v8 API and remove sql with ORM methods (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
smangukiya authored and Maxime Chambreuil committed Aug 10, 2016
1 parent d2d3b90 commit b23ce76
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions base_export_manager/models/res_users.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,21 @@

class ResUsers(models.Model):
_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):
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

0 comments on commit b23ce76

Please sign in to comment.