summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/groups.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2022-01-09 00:53:12 -0800
committerJohn L. Villalovos <john@sodarock.com>2022-01-09 00:53:12 -0800
commit99e1f8bad3e52ca6fb2dc6b876a262c6fee39e41 (patch)
tree6a11bdaf3e49a3dec844255d74a860798e8acc68 /gitlab/v4/objects/groups.py
parentac812727c26c9bde4ee5c1115029f2ff4ab1964b (diff)
downloadgitlab-jlvillal/encoded_id_alt.tar.gz
fix: use url-encoded ID in all paths ALTERNATE METHODjlvillal/encoded_id_alt
An alternative to https://github.com/python-gitlab/python-gitlab/pull/1819 Make sure all usage of the ID in the URL path is encoded. Normally it isn't an issue as most IDs are integers or strings which don't contain a slash ('/'). But when the ID is a string with a slash character it will break things. Add a test case that shows this fixes wikis issue with subpages which use the slash character. Closes: #1079
Diffstat (limited to 'gitlab/v4/objects/groups.py')
-rw-r--r--gitlab/v4/objects/groups.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/gitlab/v4/objects/groups.py b/gitlab/v4/objects/groups.py
index 7479cfb..cd1ab16 100644
--- a/gitlab/v4/objects/groups.py
+++ b/gitlab/v4/objects/groups.py
@@ -113,7 +113,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
A list of dicts describing the resources found.
"""
data = {"scope": scope, "search": search}
- path = f"/groups/{self.get_id()}/search"
+ path = f"/groups/{self.encoded_id}/search"
return self.manager.gitlab.http_list(path, query_data=data, **kwargs)
@cli.register_custom_action("Group", ("cn", "group_access", "provider"))
@@ -134,7 +134,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
GitlabAuthenticationError: If authentication is not correct
GitlabCreateError: If the server cannot perform the request
"""
- path = f"/groups/{self.get_id()}/ldap_group_links"
+ path = f"/groups/{self.encoded_id}/ldap_group_links"
data = {"cn": cn, "group_access": group_access, "provider": provider}
self.manager.gitlab.http_post(path, post_data=data, **kwargs)
@@ -154,7 +154,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
GitlabAuthenticationError: If authentication is not correct
GitlabDeleteError: If the server cannot perform the request
"""
- path = f"/groups/{self.get_id()}/ldap_group_links"
+ path = f"/groups/{self.encoded_id}/ldap_group_links"
if provider is not None:
path += f"/{provider}"
path += f"/{cn}"
@@ -172,7 +172,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
GitlabAuthenticationError: If authentication is not correct
GitlabCreateError: If the server cannot perform the request
"""
- path = f"/groups/{self.get_id()}/ldap_sync"
+ path = f"/groups/{self.encoded_id}/ldap_sync"
self.manager.gitlab.http_post(path, **kwargs)
@cli.register_custom_action("Group", ("group_id", "group_access"), ("expires_at",))
@@ -198,7 +198,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
Returns:
Group
"""
- path = f"/groups/{self.get_id()}/share"
+ path = f"/groups/{self.encoded_id}/share"
data = {
"group_id": group_id,
"group_access": group_access,
@@ -222,7 +222,7 @@ class Group(SaveMixin, ObjectDeleteMixin, RESTObject):
GitlabAuthenticationError: If authentication is not correct
GitlabDeleteError: If the server failed to perform the request
"""
- path = f"/groups/{self.get_id()}/share/{group_id}"
+ path = f"/groups/{self.encoded_id}/share/{group_id}"
self.manager.gitlab.http_delete(path, **kwargs)