From eaf1d6de32be2b06c93c5d70587e39d44b4d7d07 Mon Sep 17 00:00:00 2001 From: Will Woods Date: Thu, 9 Oct 2008 00:32:35 -0400 Subject: Add updateperms(). Patch courtesy of Jon Stanley. --- bugzilla/base.py | 13 +++++++++++++ bugzilla/rhbugzilla.py | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/bugzilla/base.py b/bugzilla/base.py index 3b07078..0fde57e 100644 --- a/bugzilla/base.py +++ b/bugzilla/base.py @@ -357,6 +357,9 @@ class BugzillaBase(object): def _query(self,query): '''IMPLEMENT ME: Query bugzilla and return a list of matching bugs.''' raise NotImplementedError + def _updateperms(self,user,action,group): + '''IMPLEMEMT ME: Update Bugzilla user permissions''' + raise NotImplementedError # these return Bug objects def getbug(self,id): @@ -665,6 +668,16 @@ class BugzillaBase(object): bug_id = self._createbug(**data) return Bug(self,bug_id=bug_id) + def updateperms(self,user,action,groups): + '''A method to update the permissions (group membership) of a bugzilla + user. Takes the following: + + user: The e-mail address of the user to be acted upon + action: either add or rem + groups: list of groups to be added to (i.e. ['fedora_contrib']) + ''' + self._updateperms(user,action,groups) + class CookieResponse: '''Fake HTTPResponse object that we can fill with headers we got elsewhere. We can then pass it to CookieJar.extract_cookies() to make it pull out the diff --git a/bugzilla/rhbugzilla.py b/bugzilla/rhbugzilla.py index 47a3e22..8eeed0d 100644 --- a/bugzilla/rhbugzilla.py +++ b/bugzilla/rhbugzilla.py @@ -326,6 +326,10 @@ class RHBugzilla(bugzilla.base.BugzillaBase): Returns bug_id''' r = self._proxy.bugzilla.createBug(data) return r[0] + # Methods for updating a user + def _updateperms(self,user,action,groups): + r = self._proxy.bugzilla.updatePerms(user, action, groups, self.user) + return r class RHBugzilla3(Bugzilla32, RHBugzilla): '''Concrete implementation of the Bugzilla protocol. This one uses the -- cgit