auth_managing_countries = db(db.managing_countries.user_id ==
auth.user.id).select().first().countries
user_role_clause = ((db.auth_group.role == UserGroups.employee) |
(db.auth_group.role == UserGroups.owner))
auth_id_clause= user_role_clause &
managing_countries_clause = (db.managing_countries.user_id ==
db.auth_user.id) &
(db.managing_countries.countries.belongs(auth_managing_countries))
shop_country_clause = ((db.shop.country.belongs(auth_managing_countries)) &
query = auth_id_clause & managing_countries_clause | shop_country_clause
db(query).select()