diff -r e2b9e3de2b51 -r 95275b61ff8a VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Tue Nov 01 23:37:06 2011 +0000 +++ b/VirtualMailManager/handler.py Wed Nov 02 03:29:51 2011 +0000 @@ -740,29 +740,20 @@ acc.address, NO_SUCH_ACCOUNT) acc.update_transport(Transport(self._dbh, transport=transport)) - def user_disable(self, emailaddress, services=None): - """Wrapper for Account.disable(*services)""" - if services is None: - services = [] - else: - assert isinstance(services, list) + def user_services(self, emailaddress, *services): + """Wrapper around Account.update_serviceset().""" + kwargs = dict.fromkeys(SERVICES, False) + for service in set(services): + if service not in SERVICES: + raise VMMError(_(u"Unknown service: '%s'") % service, + UNKNOWN_SERVICE) + kwargs[service] = True acc = self._get_account(emailaddress) if not acc: raise VMMError(_(u"The account '%s' does not exist.") % acc.address, NO_SUCH_ACCOUNT) - acc.disable(*services) - - def user_enable(self, emailaddress, services=None): - """Wrapper for Account.enable(*services)""" - if services is None: - services = [] - else: - assert isinstance(services, list) - acc = self._get_account(emailaddress) - if not acc: - raise VMMError(_(u"The account '%s' does not exist.") % - acc.address, NO_SUCH_ACCOUNT) - acc.enable(*services) + serviceset = ServiceSet(self._dbh, **kwargs) + acc.update_serviceset(serviceset) def relocated_add(self, emailaddress, targetaddress): """Creates a new `Relocated` entry in the database. If there is