diff options
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r-- | gitlab/objects.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/gitlab/objects.py b/gitlab/objects.py index 9145622..57b8e14 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -163,7 +163,7 @@ class BaseManager(object): l = [] for j in r.json(): - o = cls(self, j) + o = cls(self.gitlab, j) o._from_api = True l.append(o) @@ -527,6 +527,20 @@ class User(GitlabObject): user_id=self.id, **kwargs) + def block(self, **kwargs): + """Blocks the user.""" + url = '/users/%s/block' % self.id + r = self.gitlab._raw_put(url, **kwargs) + raise_error_from_response(r, GitlabBlockError) + self.state = 'blocked' + + def unblock(self, **kwargs): + """Unblocks the user.""" + url = '/users/%s/unblock' % self.id + r = self.gitlab._raw_put(url, **kwargs) + raise_error_from_response(r, GitlabUnblockError) + self.state = 'active' + class UserManager(BaseManager): obj_cls = User |