diff --git a/astakosclient/astakosclient/__init__.py b/astakosclient/astakosclient/__init__.py index 141b83df8f1a2a948647ac3b5dba96c1c2232def..f7a4a255c9d6532b0c602c8701dbd05180a3666e 100644 --- a/astakosclient/astakosclient/__init__.py +++ b/astakosclient/astakosclient/__init__.py @@ -825,11 +825,11 @@ class AstakosClient(object): filters["owner"] = owner if mode is not None: filters["mode"] = mode + path = self.api_projects + if filters: + path += "?" + urllib.urlencode(filters) req_headers = {'content-type': 'application/json'} - req_body = (parse_request({"filter": filters}, self.logger) - if filters else None) - return self._call_astakos(self.api_projects, - headers=req_headers, body=req_body) + return self._call_astakos(path, headers=req_headers) # ----------------------------------------- # do a GET to ``API_PROJECTS``/ @@ -931,10 +931,13 @@ class AstakosClient(object): In case of success, return a list of membership descriptions. """ req_headers = {'content-type': 'application/json'} - body = {"project": project} if project is not None else None - req_body = parse_request(body, self.logger) if body else None - return self._call_astakos(self.api_memberships, - headers=req_headers, body=req_body) + filters = {} + if project is not None: + filters["project"] = project + path = self.api_memberships + if filters: + path += '?' + urllib.urlencode(filters) + return self._call_astakos(path, headers=req_headers) # ----------------------------------------- # do a GET to ``API_MEMBERSHIPS``/ diff --git a/snf-astakos-app/astakos/api/projects.py b/snf-astakos-app/astakos/api/projects.py index c1589f2182b20a061b82b5d2b77c2a3363c65b32..68359c489a43b78604e459f7f033d092e92b44bf 100644 --- a/snf-astakos-app/astakos/api/projects.py +++ b/snf-astakos-app/astakos/api/projects.py @@ -279,9 +279,12 @@ def projects(request): @transaction.commit_on_success def get_projects(request): user = request.user - input_data = read_json_body(request, default={}) - filters = input_data.get("filter", {}) - mode = input_data.get("mode", "default") + filters = {} + for key in PROJECT_QUERY.keys(): + value = request.GET.get(key) + if value is not None: + filters[key] = value + mode = request.GET.get("mode", "default") query = make_project_query(filters) projects = _get_projects(query, mode=mode, request_user=user) data = get_projects_details(projects, request_user=user) @@ -619,8 +622,7 @@ def make_membership_query(input_data): @transaction.commit_on_success def get_memberships(request): user = request.user - input_data = read_json_body(request, default={}) - query = make_membership_query(input_data) + query = make_membership_query(request.GET) memberships = _get_memberships(query, request_user=user) data = get_memberships_details(memberships, user) return json_response(data)