diff --git a/server/web2py/applications/vidjil/controllers/sample_set.py b/server/web2py/applications/vidjil/controllers/sample_set.py index ad07e20a317a287bc361df93ef1975c58a54fd51..ebf5bffbff23274594d1d2bc50779ddfb8181574 100644 --- a/server/web2py/applications/vidjil/controllers/sample_set.py +++ b/server/web2py/applications/vidjil/controllers/sample_set.py @@ -227,6 +227,16 @@ def all(): f = time.time() slist = SampleSetList(helper, page, step, tags, search) + log.debug("list loaded (%.3fs)" % (time.time() - f)) + + mid = time.time() + + set_ids = set([s.sample_set_id for s in slist.result]) + admin_permissions = [s.id for s in db(auth.vidjil_accessible_query(PermissionEnum.admin.value, db.sample_set)).select(db.sample_set.id)] + admin_permissions = list(set(admin_permissions) & set_ids) + + log.debug("permission load (%.3fs)" % (time.time() - mid)) + # failsafe if filtered display all results step = len(slist) if step is None else step page = 0 if page is None else page @@ -254,6 +264,7 @@ def all(): fields = fields, helper = helper, group_ids = group_ids, + admin_permissions = admin_permissions, isAdmin = isAdmin, reverse = reverse, step = step, diff --git a/server/web2py/applications/vidjil/models/sample_set_list.py b/server/web2py/applications/vidjil/models/sample_set_list.py index e2d5f33642ed4c952637e7b91311f7df4d50d0d3..ea7d831c71ffd0200d1ab538b4dfc67378f4ee9f 100644 --- a/server/web2py/applications/vidjil/models/sample_set_list.py +++ b/server/web2py/applications/vidjil/models/sample_set_list.py @@ -23,13 +23,6 @@ class SampleSetList(): db.auth_group.on( (db.generic_perm.group_id == db.auth_group.id)), db.auth_membership.on(db.auth_group.id == db.auth_membership.group_id), - db.auth_permission.with_alias('anon_permission').on( - (db.anon_permission.table_name == self.type) & - (db.anon_permission.name == "anon") & - (db.anon_permission.record_id == s_table.id) & - (db.auth_group.id == db.anon_permission.group_id ) & - (db.auth_membership.user_id == auth.user_id) & - (db.auth_membership.group_id == db.auth_group.id)), db.auth_user.on( db.auth_user.id == s_table.creator) ] @@ -64,7 +57,6 @@ class SampleSetList(): s_table.info.with_alias('info'), db.auth_user.last_name.with_alias('creator'), group_file_sizes, - db.anon_permission.name.with_alias('has_permission'), group_configs, group_config_ids, group_config_names, diff --git a/server/web2py/applications/vidjil/views/sample_set/all.html b/server/web2py/applications/vidjil/views/sample_set/all.html index 3d19d9efcf74887033d86f9512e80e3981f611dd..a94ec2d4f5893bdc7aa0fb0c3fb6ef30116c56bf 100644 --- a/server/web2py/applications/vidjil/views/sample_set/all.html +++ b/server/web2py/applications/vidjil/views/sample_set/all.html @@ -49,7 +49,7 @@ {{ total_file_count += file_count ; total_size += size }} {{if isAdmin:}}