X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=PLC%2FRoles.py;fp=PLC%2FRoles.py;h=03d9884d34ca7e0bb27df0d9e97b7b87ba9b4ff5;hb=00b458601d8f318b617b43d11cb4fdb93e89967c;hp=28fae356a1fd02bb50bdb681ee73d5d1dee3c8c7;hpb=396345c6da341555b1cfb3a2fc265687cd4a235b;p=plcapi.git diff --git a/PLC/Roles.py b/PLC/Roles.py index 28fae35..03d9884 100644 --- a/PLC/Roles.py +++ b/PLC/Roles.py @@ -69,5 +69,13 @@ class Roles(Table): elif isinstance(role_filter, dict): role_filter = Filter(Role.fields, role_filter) sql += " AND (%s) %s" % role_filter.sql(api, "AND") + elif isinstance(role_filter, (int, long)): + role_filter = Filter(Role.fields, {'role_id': role_filter}) + sql += " AND (%s) %s" % role_filter.sql(api, "AND") + elif isinstance(role_filter, StringTypes): + role_filter = Filter(Role.fields, {'name': role_filter}) + sql += " AND (%s) %s" % role_filter.sql(api, "AND") + else: + raise PLCInvalidArgument, "Wrong role filter %r"%role_filter self.selectall(sql)