# HG changeset patch # User Pascal Volk # Date 1280703574 0 # Node ID 7a471cace3ba1ad921e3d43e439dd8c6c23ff2d6 # Parent 3f550826b1cc00d244d60592a463bce029d21c43 VMM/handler: Updated Handler.user_{disable,enable} methods to accept a list of services. man/{,de/}man1/vmm.1.rst: Updated userenable/userdisable part. diff -r 3f550826b1cc -r 7a471cace3ba VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Aug 01 03:55:01 2010 +0000 +++ b/VirtualMailManager/handler.py Sun Aug 01 22:59:34 2010 +0000 @@ -633,27 +633,29 @@ acc.address, NO_SUCH_ACCOUNT) acc.modify('transport', transport) - def user_disable(self, emailaddress, service=None): - """Wrapper for Account.disable(service)""" - if service not in (None, 'all', 'imap', 'pop3', 'smtp', 'sieve'): - raise VMMError(_(u"Could not accept service: '%s'") % service, - INVALID_ARGUMENT) + def user_disable(self, emailaddress, services=None): + """Wrapper for Account.disable(*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' doesn't exist.") % - acc.address, NO_SUCH_ACCOUNT) - acc.disable(service) + raise VMMError(_(u"The account '%s' doesn't exist.") % acc.address, + NO_SUCH_ACCOUNT) + acc.disable(*services) - def user_enable(self, emailaddress, service=None): - """Wrapper for Account.enable(service)""" - if service not in (None, 'all', 'imap', 'pop3', 'smtp', 'sieve'): - raise VMMError(_(u"Could not accept service: '%s'") % service, - INVALID_ARGUMENT) + 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' doesn't exist.") % - acc.address, NO_SUCH_ACCOUNT) - acc.enable(service) + raise VMMError(_(u"The account '%s' doesn't exist.") % acc.address, + NO_SUCH_ACCOUNT) + acc.enable(*services) def relocated_add(self, emailaddress, targetaddress): """Creates a new `Relocated` entry in the database. If there is diff -r 3f550826b1cc -r 7a471cace3ba man/de/man1/vmm.1.rst --- a/man/de/man1/vmm.1.rst Sun Aug 01 03:55:01 2010 +0000 +++ b/man/de/man1/vmm.1.rst Sun Aug 01 22:59:34 2010 +0000 @@ -7,7 +7,7 @@ ----------------------------------------------------------------------------- :Author: Pascal Volk -:Date: 2010-01-30 +:Date: 2010-08-01 :Version: vmm-0.6.0 :Manual group: vmm Manual :Manual section: 1 @@ -329,32 +329,34 @@ .. _userdisable: -``userdisable (u0) Adresse [ Service ]`` - Soll ein Anwender keinen Zugriff auf einen oder alle Service haben, kann +``userdisable (u0) Adresse [ Service ... ]`` + Soll ein Anwender keinen Zugriff auf bestimmte oder alle Service haben, kann der Zugriff mit diesem Unterbefehl beschränkt werden. - Wurde weder ein *Service* noch das Schlüsselwort **all** angegeben, werden - alle Services (**smtp**, **pop3**, **imap**, und **sieve**) für das Konto - mit der angegebenen *Adresse* deaktiviert. + Wurde kein *Service* angegeben, werden alle Services (**smtp**, **pop3**, + **imap**, und **sieve**) für das Konto mit der angegebenen *Adresse* + deaktiviert. - Andernfalls wird nur der Zugriff auf den angegeben *Service* gesperrt. + Andernfalls wird nur der Zugriff auf den/die angegebenen *Service*/s + gesperrt. Beispiele:: - vmm u0 b.user@example.com imap + vmm u0 b.user@example.com imap pop3 vmm userdisable c.user@example.com .. _userenable: -``userenable (u1) Adresse [ Service ]`` +``userenable (u1) Adresse [ Service ... ]`` Um den Zugriff auf bestimmte oder alle gesperrten Service zu gewähren, wird dieser Unterbefehl verwendet. - Wurde weder ein *Service* noch das Schlüsselwort **all** angegeben, werden - alle Services (**smtp**, **pop3**, **imap**, und **sieve**) für das Konto - mit der angegebenen *Adresse* aktiviert. + Wurde kein *Service* angegeben, werden alle Services (**smtp**, **pop3**, + **imap**, und **sieve**) für das Konto mit der angegebenen *Adresse* + aktiviert. - Andernfalls wird nur der Zugriff auf den angegeben *Service* gestattet. + Andernfalls wird nur der Zugriff auf den/die angegebenen *Service*/s + aktiviert. .. _userdelete: diff -r 3f550826b1cc -r 7a471cace3ba man/man1/vmm.1.rst --- a/man/man1/vmm.1.rst Sun Aug 01 03:55:01 2010 +0000 +++ b/man/man1/vmm.1.rst Sun Aug 01 22:59:34 2010 +0000 @@ -7,7 +7,7 @@ ---------------------------------------------------------- :Author: Pascal Volk -:Date: 2010-01-30 +:Date: 2010-08-01 :Version: vmm-0.6.0 :Manual group: vmm Manual :Manual section: 1 @@ -308,29 +308,27 @@ .. _userdisable: -``userdisable (u0) address [ service ]`` - If a user shouldn't have access to one or all services you can restrict +``userdisable (u0) address [ service ... ]`` + If a user shouldn't have access to one or more services you can restrict the access with this subcommand. - If neither a *service* nor the keyword **all** is given all services - (**smtp**, **pop3**, **imap**, and **sieve**) will be disabled for the - account with the specified *address*. Otherwise only the specified - *service* will be restricted. + If no *service* was given all services (**smtp**, **pop3**, **imap**, and + **sieve**) will be disabled for the account with the specified *address*. + Otherwise only the specified *service*/s will be restricted. Examples:: - vmm u0 b.user@example.com imap + vmm u0 b.user@example.com imap pop3 vmm userdisable c.user@example.com .. _userenable: -``userenable (u1) address [ service ]`` - To allow access to one or all restricted services use this subcommand. +``userenable (u1) address [ service ... ]`` + To allow access to one or more restricted services use this subcommand. - If neither a *service* nor the keyword **all** is given all services - (**smtp**, **pop3**, **imap**, and **sieve**) will be enabled for the - account with the specified *address*. Otherwise only the specified - *service* will be enabled. + If no *service* was given all services (**smtp**, **pop3**, **imap**, and + **sieve**) will be enabled for the account with the specified *address*. + Otherwise only the specified *service*/s will be enabled. .. _userdelete: