This list is closed, nobody may subscribe to it.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(18) |
Feb
(43) |
Mar
(11) |
Apr
(50) |
May
(10) |
Jun
|
Jul
(39) |
Aug
(30) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2011 |
Jan
(14) |
Feb
(43) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(4) |
Oct
(12) |
Nov
(45) |
Dec
(3) |
| 2012 |
Jan
|
Feb
|
Mar
(2) |
Apr
(65) |
May
(2) |
Jun
(19) |
Jul
(6) |
Aug
(19) |
Sep
(23) |
Oct
(11) |
Nov
(21) |
Dec
(16) |
| 2013 |
Jan
(21) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
(4) |
Feb
(34) |
Mar
(10) |
Apr
|
May
|
Jun
(10) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
|
8
(4) |
9
(6) |
10
|
11
|
12
|
13
|
14
|
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
|
29
|
30
|
|
|
|
|
|
|
From: <nev...@us...> - 2014-06-09 20:10:03
|
details: http://hg.localdomain.org/vmm/rev/332089388204 changeset: 758:332089388204 user: Pascal Volk date: Mon Jun 09 20:09:44 2014 +0000 description: VMM/handler: Avoid unnecessary method calls. diffstat: VirtualMailManager/handler.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 3d592b5d5e2d -r 332089388204 VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Mon Jun 09 18:54:44 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 20:09:44 2014 +0000 @@ -461,7 +461,7 @@ dom = self._get_domain(domainname) gid = dom.gid domdir = dom.directory - if self._cfg.dget('domain.force_deletion') or force: + if force or self._cfg.dget('domain.force_deletion'): dom.delete(True) else: dom.delete(False) |
|
From: <nev...@us...> - 2014-06-09 18:56:29
|
details: http://hg.localdomain.org/vmm/rev/3d592b5d5e2d changeset: 757:3d592b5d5e2d user: Pascal Volk date: Mon Jun 09 18:54:44 2014 +0000 description: {man1,doc/web}: Updated userdelete's --delete-home -> --delete-directory. diffstat: doc/web/source/howto/manage_accounts.rst | 6 +++--- man/man1/vmm.1 | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diffs (35 lines): diff -r 139ced0fea1e -r 3d592b5d5e2d doc/web/source/howto/manage_accounts.rst --- a/doc/web/source/howto/manage_accounts.rst Mon Jun 09 18:47:44 2014 +0000 +++ b/doc/web/source/howto/manage_accounts.rst Mon Jun 09 18:54:44 2014 +0000 @@ -40,10 +40,10 @@ .. program:: vmm userdelete Syntax: - | **vmm userdelete** *address* [**‒‒delete-home**] [**‒‒force**] - | **vmm ud** *address* [**‒‒delete-home**] [**‒‒force**] + | **vmm userdelete** *address* [**‒‒delete-directory**] [**‒‒force**] + | **vmm ud** *address* [**‒‒delete-directory**] [**‒‒force**] -.. option:: --delete-home +.. option:: --delete-directory When this option is present, :command:`vmm` will also delete the account's home directory. diff -r 139ced0fea1e -r 3d592b5d5e2d man/man1/vmm.1 --- a/man/man1/vmm.1 Mon Jun 09 18:47:44 2014 +0000 +++ b/man/man1/vmm.1 Mon Jun 09 18:54:44 2014 +0000 @@ -757,12 +757,12 @@ .\" ------------------------------------ .SS userdelete (ud) .BI "vmm userdelete" " address" -.RB [ \-\-delete\-home ] +.RB [ \-\-delete\-directory ] .RB [ \-\-force ] .PP .\" ------------------------------------ .TP -.B \-\-delete\-home +.B \-\-delete\-directory When this option is present, .B vmm will also delete the account\(aqs home directory. |
|
From: <nev...@us...> - 2014-06-09 18:56:18
|
details: http://hg.localdomain.org/vmm/rev/139ced0fea1e changeset: 756:139ced0fea1e user: Pascal Volk date: Mon Jun 09 18:47:44 2014 +0000 description: VMM: Unified parameter names and option names. handler: Handler.user_delete() renamed parameter: delete_home -> del_dir The same as in Handler.domain_delete(). cli/subcommands: renamed userdelete's option --delete-home -> --delete-directory So people have to memorize only one option name. It also matches the setting names of vmm.cfg. diffstat: VirtualMailManager/cli/subcommands.py | 18 +++++++++--------- VirtualMailManager/handler.py | 8 ++++---- 2 files changed, 13 insertions(+), 13 deletions(-) diffs (64 lines): diff -r e99e4fc62a5f -r 139ced0fea1e VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Mon Jun 09 18:12:03 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Mon Jun 09 18:47:44 2014 +0000 @@ -349,7 +349,7 @@ def user_delete(ctx): """delete the specified user""" - ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_home, + ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_directory, ctx.args.force) @@ -912,17 +912,17 @@ ud = a('userdelete', aliases=('ud',), help=_('delete the specified user'), epilog=fill(_('Use this subcommand to delete the account with the ' - 'given address.\n\nWhen the --delete-home option is present, ' - 'vmm will also delete the account\'s home directory. This ' - 'overrides the account.delete_directory setting of vmm.cfg.\n\n' - 'If there are one or more aliases with an identical ' - 'destination address, vmm will abort the requested operation ' - 'and show an error message. To prevent this, give the optional ' - 'argument --force.')), + 'given address.\n\nWhen the --delete-directory option is ' + 'present, vmm will also delete the account\'s home directory. ' + 'This overrides the account.delete_directory setting of ' + 'vmm.cfg.\n\nIf there are one or more aliases with an ' + 'identical destination address, vmm will abort the requested ' + 'operation and show an error message. To prevent this, give ' + 'the optional argument --force.')), formatter_class=RawDescriptionHelpFormatter) ud.add_argument('address', help=_("an account's e-mail address (local-part@fqdn)")) - ud.add_argument('--delete-home', action='store_true', + ud.add_argument('--delete-directory', action='store_true', help=_("delete the account's home directory")) ud.add_argument('--force', action='store_true', help=_('also delete assigned alias addresses')) diff -r e99e4fc62a5f -r 139ced0fea1e VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Mon Jun 09 18:12:03 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 18:47:44 2014 +0000 @@ -626,10 +626,10 @@ self._warnings.append(_("The destination account/alias '%s' " "does not exist.") % destination) - def user_delete(self, emailaddress, delete_home, force=False): + def user_delete(self, emailaddress, del_dir, force=False): """Wrapper around Account.delete(...)""" - if not isinstance(delete_home, bool): - raise TypeError('delete_home must be a bool') + if not isinstance(del_dir, bool): + raise TypeError('del_dir must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') acc = self._get_account(emailaddress) @@ -641,7 +641,7 @@ dom_dir = acc.domain.directory acc_dir = acc.home acc.delete(force) - if delete_home or self._cfg.dget('account.delete_directory'): + if del_dir or self._cfg.dget('account.delete_directory'): try: self._delete_home(dom_dir, uid, gid) except VMMError as err: |
|
From: <nev...@us...> - 2014-06-09 18:56:03
|
details: http://hg.localdomain.org/vmm/rev/e99e4fc62a5f changeset: 755:e99e4fc62a5f user: Pascal Volk date: Mon Jun 09 18:12:03 2014 +0000 description: {man1,doc/web}: Added domaindelete --delete-directory's description. diffstat: doc/web/source/howto/manage_domains.rst | 19 ++++++++++++++++--- man/man1/vmm.1 | 20 +++++++++++++++++++- 2 files changed, 35 insertions(+), 4 deletions(-) diffs (73 lines): diff -r 8363ea6240a5 -r e99e4fc62a5f doc/web/source/howto/manage_domains.rst --- a/doc/web/source/howto/manage_domains.rst Mon Jun 09 17:37:36 2014 +0000 +++ b/doc/web/source/howto/manage_domains.rst Mon Jun 09 18:12:03 2014 +0000 @@ -53,9 +53,22 @@ domaindelete ------------ +.. program:: vmm domaindelete + Syntax: - | **vmm domaindelete** *fqdn* [**‒‒force**] - | **vmm dd** *fqdn* [**‒‒force**] + | **vmm domaindelete** *fqdn* [**‒‒delete‒directory**] [**‒‒force**] + | **vmm dd** *fqdn* [**‒‒delete‒directory**] [**‒‒force**] + +.. option:: --delete-directory + + When this option is given, :command:`vmm` will delete the directory of + the given domain. + This overrides the *domain.delete_directory* setting of :file:`vmm.cfg`. + +.. option:: --force + + Use this option in oder to force the deletion of the domain, even if + there are accounts, aliases, catch-all accounts and/or relocated users. This subcommand deletes the domain specified by *fqdn*. @@ -63,7 +76,7 @@ domain, :command:`vmm` will abort the requested operation and show an error message. If you know, what you are doing, you can specify the optional argument -**‒‒force**. +:option:`--force`. If you really always know what you are doing, edit your :file:`vmm.cfg` and set the option *domain.force_deletion* to **true**. diff -r 8363ea6240a5 -r e99e4fc62a5f man/man1/vmm.1 --- a/man/man1/vmm.1 Mon Jun 09 17:37:36 2014 +0000 +++ b/man/man1/vmm.1 Mon Jun 09 18:12:03 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM" "1" "2014-06-08" "vmm 0.7" "vmm" +.TH "VMM" "1" "2014-06-09" "vmm 0.7" "vmm" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .\" ----------------------------------------------------------------------- @@ -442,8 +442,26 @@ .\" ------------------------------------ .SS domaindelete (dd) .BI "vmm domaindelete " fqdn +.RB [ \-\-delete\-directory ] .RB [ \-\-force ] .PP +.\" ------------------------------------ +.TP +.B \-\-delete\-directory +When this option is given, +.B vmm +will delete the directory of the given domain. +This overrides the +.I domain.delete_directory +setting of +.IR vmm.cfg . +.\" ------------------------------------ +.TP +.B \-\-force +Use this option in oder to force the deletion of the domain, even if there +are accounts, aliases, catch-all accounts and/or relocated users. +.\" ------------------------------------ +.PP This subcommand deletes the domain specified by .IR fqdn . .PP |
|
From: <nev...@us...> - 2014-06-09 18:56:01
|
details: http://hg.localdomain.org/vmm/rev/8363ea6240a5 changeset: 754:8363ea6240a5 user: Pascal Volk date: Mon Jun 09 17:37:36 2014 +0000 description: VMM/cli/subcommands: domaindelete: Added option --delete-directory. diffstat: VirtualMailManager/cli/subcommands.py | 21 +++++++++++++-------- 1 files changed, 13 insertions(+), 8 deletions(-) diffs (40 lines): diff -r 3f1cecdcdfca -r 8363ea6240a5 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Mon Jun 09 17:34:31 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Mon Jun 09 17:37:36 2014 +0000 @@ -179,7 +179,8 @@ def domain_delete(ctx): """delete the given domain and all its alias domains""" - ctx.hdlr.domain_delete(ctx.args.fqdn.lower(), ctx.args.force) + ctx.hdlr.domain_delete(ctx.args.fqdn.lower(), ctx.args.delete_directory, + ctx.args.force) def domain_info(ctx): @@ -721,15 +722,19 @@ dd = a('domaindelete', aliases=('dd',), help=_('delete the given domain and all its alias domains'), epilog=fill(_("This subcommand deletes the domain specified by " - "fqdn.\n\nIf there are accounts, aliases and/or relocated " - "users assigned to the given domain, vmm will abort the " - "requested operation and show an error message. If you know, " - "what you are doing, you can specify the optional argument " - "--force.\n\nIf you really always know what you are doing, " - "edit your vmm.cfg and set the option domain.force_deletion " - "to true.")), + "fqdn.\n\nWhen the --delete-directory option is given, vmm " + "will delete the directory of the given domain. This overrides " + "the domain.delete_directory setting of vmm.cfg.\n\nIf there " + "are accounts, aliases and/or relocated users assigned to the " + "given domain, vmm will abort the requested operation and show " + "an error message. If you know, what you are doing, you can " + "specify the optional argument --force.\n\nIf you really " + "always know what you are doing, edit your vmm.cfg and set the " + "option domain.force_deletion to true.")), formatter_class=RawDescriptionHelpFormatter) dd.add_argument('fqdn', help=_('a fully qualified domain name')) + dd.add_argument('--delete-directory', action='store_true', + help="delete the domain's directory recursively") dd.add_argument('--force', action='store_true', help=_('also delete all accounts, aliases and/or ' 'relocated users')) |
|
From: <nev...@us...> - 2014-06-09 18:55:47
|
details: http://hg.localdomain.org/vmm/rev/3f1cecdcdfca changeset: 753:3f1cecdcdfca user: Pascal Volk date: Mon Jun 09 17:34:31 2014 +0000 description: VMM/handler: Handler.domain_delete() Added parameter del_dir. diffstat: VirtualMailManager/handler.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (24 lines): diff -r 271bd82c05c0 -r 3f1cecdcdfca VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Jun 08 17:15:55 2014 +0000 +++ b/VirtualMailManager/handler.py Mon Jun 09 17:34:31 2014 +0000 @@ -452,8 +452,10 @@ dom = self._get_domain(domainname) dom.update_note(note) - def domain_delete(self, domainname, force=False): + def domain_delete(self, domainname, del_dir, force=False): """Wrapper around Domain.delete()""" + if not isinstance(del_dir, bool): + raise TypeError('del_dir must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') dom = self._get_domain(domainname) @@ -463,7 +465,7 @@ dom.delete(True) else: dom.delete(False) - if self._cfg.dget('domain.delete_directory'): + if del_dir or self._cfg.dget('domain.delete_directory'): self._delete_domain_dir(domdir, gid) def domain_info(self, domainname, details=None): |
|
From: <nev...@us...> - 2014-06-08 17:37:26
|
details: http://hg.localdomain.org/vmm/rev/bc796a554ca2 changeset: 749:bc796a554ca2 user: Pascal Volk date: Sun Jun 08 14:03:07 2014 +0000 description: merged changes from default(659c4476c57c). diffstat: po/de.po | 1531 ++++++++++++++++++++++++++++++++++++++++++++++--------------- po/fi.po | 630 ++++++++++++++----------- 2 files changed, 1506 insertions(+), 655 deletions(-) diffs (truncated from 3874 to 300 lines): diff -r ee3c6c826b42 -r bc796a554ca2 po/de.po --- a/po/de.po Sun Mar 23 20:38:45 2014 +0000 +++ b/po/de.po Sun Jun 08 14:03:07 2014 +0000 @@ -2,111 +2,106 @@ # Copyright (C) 2009 Free Software Foundation, Inc. # This file is distributed under the same license as the vmm package. # Pascal Volk <p....@ve...>, 2009. -# Mario Blättermann <mar...@gm...>, 2011. +# Mario Blättermann <mar...@gm...>, 2011, 2014. # msgid "" msgstr "" -"Project-Id-Version: vmm 0.6.0\n" +"Project-Id-Version: vmm 0.6.3-pre1\n" "Report-Msgid-Bugs-To: user+vmm/tp...@lo...\n" -"POT-Creation-Date: 2011-11-07 05:20+0100\n" -"PO-Revision-Date: 2011-11-07 12:57+0100\n" +"POT-Creation-Date: 2014-03-23 20:10+0000\n" +"PO-Revision-Date: 2014-03-24 18:14+0100\n" "Last-Translator: Mario Blättermann <mar...@gm...>\n" "Language-Team: German <tra...@li...>\n" -"Language: \n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Poedit-Language: German\n" -"X-Poedit-Country: GERMANY\n" +"X-Generator: Poedit 1.5.4\n" #. TP: Hm, what “quotation marks” should be used? #. If you are unsure have a look at: #. http://en.wikipedia.org/wiki/Quotation_mark,_non-English_usage -#: VirtualMailManager/account.py:58 VirtualMailManager/alias.py:35 -#: VirtualMailManager/domain.py:120 VirtualMailManager/relocated.py:38 +#: VirtualMailManager/account.py:60 VirtualMailManager/alias.py:35 +#: VirtualMailManager/catchall.py:44 VirtualMailManager/domain.py:131 +#: VirtualMailManager/relocated.py:39 #, python-format msgid "The domain '%s' does not exist." msgstr "Die Domain »%s« existiert nicht." -#: VirtualMailManager/account.py:106 +#: VirtualMailManager/account.py:123 #, python-format msgid "The mailbox format '%(mbfmt)s' requires Dovecot >= v%(version)s." msgstr "Das Postfachformat »%(mbfmt)s« benötigt Dovecot >= v%(version)s." -#: VirtualMailManager/account.py:113 VirtualMailManager/account.py:305 -#, python-format -msgid "Invalid transport '%(transport)s' for mailbox format '%(mbfmt)s'." -msgstr "Ungültiger Transport »%(transport)s« für Postfachformat »%(mbfmt)s«." - -#: VirtualMailManager/account.py:153 VirtualMailManager/cli/handler.py:93 -#: VirtualMailManager/handler.py:628 VirtualMailManager/handler.py:679 -#: VirtualMailManager/handler.py:705 VirtualMailManager/handler.py:716 -#: VirtualMailManager/handler.py:727 VirtualMailManager/handler.py:739 -#: VirtualMailManager/handler.py:753 +#: VirtualMailManager/account.py:166 VirtualMailManager/cli/handler.py:93 +#: VirtualMailManager/handler.py:683 VirtualMailManager/handler.py:789 +#: VirtualMailManager/handler.py:815 VirtualMailManager/handler.py:823 +#: VirtualMailManager/handler.py:831 VirtualMailManager/handler.py:839 +#: VirtualMailManager/handler.py:858 VirtualMailManager/handler.py:870 #, python-format msgid "The account '%s' does not exist." msgstr "Das Konto »%s« existiert nicht." -#: VirtualMailManager/account.py:204 VirtualMailManager/account.py:214 -#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:596 +#: VirtualMailManager/account.py:222 VirtualMailManager/account.py:243 +#: VirtualMailManager/cli/handler.py:77 VirtualMailManager/handler.py:651 #, python-format msgid "The account '%s' already exists." msgstr "Das Konto »%s« existiert bereits." -#: VirtualMailManager/account.py:207 VirtualMailManager/handler.py:701 +#: VirtualMailManager/account.py:225 VirtualMailManager/handler.py:811 #, python-format msgid "Could not accept password: '%s'" msgstr "Passwort konnte nicht akzeptiert werden: »%s«" -#: VirtualMailManager/account.py:217 +#: VirtualMailManager/account.py:246 #, python-format msgid "No password set for account: '%s'" msgstr "Kein Passwort festgelegt für Konto: »%s«" -#: VirtualMailManager/account.py:245 +#: VirtualMailManager/account.py:285 #, python-format msgid "Unknown field: '%s'" msgstr "Unbekanntes Feld: »%s«" -#: VirtualMailManager/account.py:267 VirtualMailManager/domain.py:292 +#: VirtualMailManager/account.py:307 VirtualMailManager/domain.py:331 msgid "PostgreSQL-based dictionary quota requires Dovecot >= v1.1.2." -msgstr "PostgreSQL-basierte Datenbank-Nutzungsbeschränkung benötigt Dovecot >= v1.1.2." +msgstr "PostgreSQL-basierte Kontingentbeschränkung benötigt Dovecot >= v1.1.2." #. TP: A service (e.g. pop3 or imap) may be enabled/usable or #. disabled/unusable for a user. -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "disabled" msgstr "deaktiviert" -#: VirtualMailManager/account.py:332 +#: VirtualMailManager/account.py:370 msgid "enabled" msgstr "aktiviert" -#: VirtualMailManager/account.py:343 +#: VirtualMailManager/account.py:409 #, python-format msgid "Could not fetch information for account: '%s'" msgstr "Informationen zum Konto konnten nicht geholt werden: »%s«" -#: VirtualMailManager/account.py:387 +#: VirtualMailManager/account.py:453 #, python-format msgid "There are %(count)d aliases with the destination address '%(address)s'." msgstr "Es gibt %(count)d Alias(e) mit der Zieladresse »%(address)s«." -#: VirtualMailManager/account.py:416 +#: VirtualMailManager/account.py:482 msgid "UID must be an int/long." msgstr "Die UID muss eine Ganzzahl sein." -#: VirtualMailManager/account.py:418 +#: VirtualMailManager/account.py:484 msgid "UID must be greater than 0." msgstr "Die UID muss größer als 0 sein." -#: VirtualMailManager/account.py:427 +#: VirtualMailManager/account.py:493 #, python-format msgid "There is no account with the UID: '%d'" msgstr "Es existiert kein Konto mit der UID »%d«." -#: VirtualMailManager/alias.py:60 +#: VirtualMailManager/alias.py:61 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -120,7 +115,7 @@ "unbenutzbar.\n" "Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." -#: VirtualMailManager/alias.py:67 +#: VirtualMailManager/alias.py:68 #, python-format msgid "" "Cannot add %(count_new)i new destination(s) to alias '%(address)s'.\n" @@ -134,16 +129,16 @@ "diesen Alias adressierten Nachrichten werden zurückgehalten.\n" "Hinweis: Löschen Sie einige Zieladressen." -#: VirtualMailManager/alias.py:142 VirtualMailManager/alias.py:154 -#: VirtualMailManager/alias.py:161 VirtualMailManager/handler.py:657 +#: VirtualMailManager/alias.py:155 VirtualMailManager/alias.py:172 +#: VirtualMailManager/alias.py:179 VirtualMailManager/handler.py:712 #, python-format msgid "The alias '%s' does not exist." msgstr "Der Alias »%s« existiert nicht." -#: VirtualMailManager/alias.py:145 +#: VirtualMailManager/alias.py:163 #, python-format -msgid "The address '%(addr)s' is not a destination of the alias '%(alias)s'." -msgstr "Die Adresse »%(addr)s« ist kein Ziel für den Alias »%(alias)s«." +msgid "No suitable destinations left to remove from alias '%s'." +msgstr "Aus dem Alias »%s« können keine weiteren Ziele mehr entfernt werden." #: VirtualMailManager/aliasdomain.py:50 #, python-format @@ -180,6 +175,46 @@ msgid "The alias domain '%(alias)s' is already assigned to the domain '%(domain)s'." msgstr "Die Alias-Domain »%(alias)s« ist bereits der Domain »%(domain)s« zugeordnet." +#: VirtualMailManager/catchall.py:69 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for\n" +"domain '%(domain)s'. Currently this alias expands into %(count)i/%(limit)i\n" +"recipients. %(count_new)i additional destination(s) will render this alias\n" +"unusable.\n" +"Hint: Increase Postfix' virtual_alias_expansion_limit" +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Gegenwärtig gilt dieser Alias für\n" +"%(count)i/%(limit)i Empfänger. Durch Hinzufügen von %(count_new)i Ziel(en)\n" +"wird dieser Alias unbenutzbar.\n" +"Hinweis: Erhöhen Sie den Wert für »virtual_alias_expansion_limit« in Postfix." + +#: VirtualMailManager/catchall.py:77 +#, python-format +msgid "" +"Cannot add %(count_new)i new destination(s) to catch-all alias for domain\n" +"'%(domain)s'. This alias already exceeds its expansion limit (%(count)i/%(limit)i).\n" +"So its unusable, all messages addressed to this alias will be bounced.\n" +"Hint: Delete some destination addresses." +msgstr "" +"%(count_new)i neu(e) Ziel(e) konnten nicht zum Catch-All-Alias für die\n" +"Domain »%(domain)s« hinzugefügt werden. Dieser Alias übersteigt bereits\n" +"die Begrenzung auf (%(count)i/%(limit)i). Daher wird er unbenutzbar, und\n" +"alle an diesen Alias adressierten Nachrichten werden zurückgehalten.\n" +"Hinweis: Löschen Sie einige Zieladressen." + +#: VirtualMailManager/catchall.py:151 VirtualMailManager/catchall.py:169 +#: VirtualMailManager/catchall.py:176 +#, python-format +msgid "There are no catch-all aliases defined for domain '%s'." +msgstr "Für die Domain »%s« sind keine Catch-All-Aliase definiert." + +#: VirtualMailManager/catchall.py:159 +#, python-format +msgid "No suitable destinations left to remove from the catch-all alias of domain '%s'." +msgstr "Für die Entfernung aus dem Catch-All-Alias für die Domain »%s« sind keine Ziele mehr verfügbar." + #. TP: Please preserve the trailing space. #: VirtualMailManager/cli/__init__.py:78 msgid "Enter new password: " @@ -192,7 +227,7 @@ #: VirtualMailManager/cli/__init__.py:85 VirtualMailManager/cli/config.py:53 msgid "Too many failures - try again later." -msgstr "Zu viele Fehlschläge - versuchen Sie es später erneut." +msgstr "Zu viele Fehlschläge – versuchen Sie es später erneut." #: VirtualMailManager/cli/__init__.py:91 msgid "Sorry, passwords do not match." @@ -202,6 +237,715 @@ msgid "Sorry, empty passwords are not permitted." msgstr "Entschuldigung, leere Passwörter sind nicht zulässig." +#. TP: There are some words enclosed within angle brackets '<'word'>'. They +#. are used to indicate replaceable arguments. Please do not translate them. +#. +#. The descriptions of subcommands may contain the both keywords 'domain' +#. and 'force', enclosed within single quotes. Please keep them as they are. +#. +#. TP: description of subcommand configget +#: VirtualMailManager/cli/clihelp.py:21 +msgid "" +"This subcommand is used to display the actual value\n" +"of the given configuration <option>." +msgstr "" +"Dieser Unterbefehl wird dazu verwendet, den derzeitigen\n" +"Wert der angegebenen Konfigurationsoption <option> anzuzeigen." + +#. TP: description of subcommand configset +#: VirtualMailManager/cli/clihelp.py:24 +msgid "" +"Use this subcommand to set or update a single\n" +"configuration option's value. <option> is the configuration option, <value>\n" +"is the <option>'s new value." +msgstr "" +"Verwenden Sie diesen Unterbefehl, um den Wert einer\n" +"einzelnen Konfigurationsoption festzulegen oder zu\n" +"aktualisieren. <option> ist die Konfigurationsoption,\n" +"<value> ist der neue Wert der Option." + +#: VirtualMailManager/cli/clihelp.py:27 VirtualMailManager/cli/clihelp.py:42 +msgid "" +"Note: This subcommand will create a new vmm.cfg without any comments.\n" +"Your current configuration file will be backed as vmm.cfg.bak." +msgstr "" +"Hinweis: Dieser Unterbefehl erzeugt eine neue vmm.cfg ohne\n" +"jegliche Kommentare. Ihre derzeitige Konfigurationsdatei\n" +"wird als vmm.cfg.bak gesichert." + +#. TP: description of subcommand configure +#: VirtualMailManager/cli/clihelp.py:30 +msgid "" +"Starts the interactive configuration for all\n" +"configuration sections." +msgstr "" +"Startet den interaktiven Konfigurationsmodus für\n" +"alle Konfigurationsabschnitte." + +#: VirtualMailManager/cli/clihelp.py:32 +msgid "" +"In this process the currently set value of each option will be displayed\n" +"in square brackets. If no value is configured, the default value of each\n" +"option will be displayed in square brackets. Press the return key, to accept\n" +"the displayed value." +msgstr "" +"In diesem Prozess wird der gegenwärtig für jede Option gesetzte Wert\n" +"in eckigen Klammern angezeigt. Falls kein Wert eingestellt ist, wird\n" +"der Vorgabewert jeder Option in eckigen Klammern angezeigt. Drücken Sie\n" +"die Eingabetaste, um die angezeigten Werte zu übernehmen." + +#: VirtualMailManager/cli/clihelp.py:36 +msgid "" +"If the optional argument <section> is given, only the configuration\n" +"options from the given section will be displayed and will be configurable.\n" +"The following sections are available:\n" +msgstr "" +"Falls das optionale Argument <section> angegeben wird, dann werden\n" |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/271bd82c05c0 changeset: 752:271bd82c05c0 user: Pascal Volk date: Sun Jun 08 17:15:55 2014 +0000 description: {man1,doc/web}: Added userdelete --delete-home's description. diffstat: doc/web/source/howto/manage_accounts.rst | 21 ++++++++++++++++++--- man/man1/vmm.1 | 23 ++++++++++++++++++++++- 2 files changed, 40 insertions(+), 4 deletions(-) diffs (76 lines): diff -r 9d739cd2f527 -r 271bd82c05c0 doc/web/source/howto/manage_accounts.rst --- a/doc/web/source/howto/manage_accounts.rst Sun Jun 08 17:11:55 2014 +0000 +++ b/doc/web/source/howto/manage_accounts.rst Sun Jun 08 17:15:55 2014 +0000 @@ -36,15 +36,30 @@ userdelete ---------- + +.. program:: vmm userdelete + Syntax: - | **vmm userdelete** *address* [**‒‒force**] - | **vmm ud** *address* [**‒‒force**] + | **vmm userdelete** *address* [**‒‒delete-home**] [**‒‒force**] + | **vmm ud** *address* [**‒‒delete-home**] [**‒‒force**] + +.. option:: --delete-home + + When this option is present, :command:`vmm` will also delete the account's + home directory. + This overrides the *account.delete_directory* setting of :file:`vmm.cfg`. + +.. option:: --force + + When this option is given, :command:`vmm` will delete the account, even if + there are aliases with the account's address as their destination. + Those aliases will be deleted too. Use this subcommand to delete the account with the given *address*. If there are one or more aliases with an identical destination address, :command:`vmm` will abort the requested operation and show an error message. -To prevent this, give the optional argument **‒‒force**. +To prevent this, give the optional argument :option:`--force`. userinfo -------- diff -r 9d739cd2f527 -r 271bd82c05c0 man/man1/vmm.1 --- a/man/man1/vmm.1 Sun Jun 08 17:11:55 2014 +0000 +++ b/man/man1/vmm.1 Sun Jun 08 17:15:55 2014 +0000 @@ -1,4 +1,4 @@ -.TH "VMM" "1" "2014-02-23" "vmm 0.7" "vmm" +.TH "VMM" "1" "2014-06-08" "vmm 0.7" "vmm" .SH NAME vmm \- command line tool to manage email domains/accounts/aliases .\" ----------------------------------------------------------------------- @@ -739,8 +739,29 @@ .\" ------------------------------------ .SS userdelete (ud) .BI "vmm userdelete" " address" +.RB [ \-\-delete\-home ] .RB [ \-\-force ] .PP +.\" ------------------------------------ +.TP +.B \-\-delete\-home +When this option is present, +.B vmm +will also delete the account\(aqs home directory. +This overrides the +.I account.delete_directory +setting of +.IR vmm.cfg . +.\" ------------------------------------ +.TP +.B \-\-force +When this option is given, +.B vmm +will delete the account, even if there are aliases with the account\(aqs +address as their destination. +Those aliases will be deleted too. +.\" ------------------------------------ +.PP Use this subcommand to delete the account with the given .IR address . .PP |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/9d739cd2f527 changeset: 751:9d739cd2f527 user: Pascal Volk date: Sun Jun 08 17:11:55 2014 +0000 description: VMM/cli/subcommands: userdelete: Added option --delete-home. diffstat: VirtualMailManager/cli/subcommands.py | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diffs (36 lines): diff -r 8931c6b8435e -r 9d739cd2f527 VirtualMailManager/cli/subcommands.py --- a/VirtualMailManager/cli/subcommands.py Sun Jun 08 17:08:35 2014 +0000 +++ b/VirtualMailManager/cli/subcommands.py Sun Jun 08 17:11:55 2014 +0000 @@ -348,7 +348,8 @@ def user_delete(ctx): """delete the specified user""" - ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.force) + ctx.hdlr.user_delete(ctx.args.address.lower(), ctx.args.delete_home, + ctx.args.force) def user_info(ctx): @@ -906,13 +907,18 @@ ud = a('userdelete', aliases=('ud',), help=_('delete the specified user'), epilog=fill(_('Use this subcommand to delete the account with the ' - 'given address.\n\nIf there are one or more aliases with an ' - 'identical destination address, vmm will abort the requested ' - 'operation and show an error message. To prevent this, ' - 'give the optional argument --force.')), + 'given address.\n\nWhen the --delete-home option is present, ' + 'vmm will also delete the account\'s home directory. This ' + 'overrides the account.delete_directory setting of vmm.cfg.\n\n' + 'If there are one or more aliases with an identical ' + 'destination address, vmm will abort the requested operation ' + 'and show an error message. To prevent this, give the optional ' + 'argument --force.')), formatter_class=RawDescriptionHelpFormatter) ud.add_argument('address', help=_("an account's e-mail address (local-part@fqdn)")) + ud.add_argument('--delete-home', action='store_true', + help=_("delete the account's home directory")) ud.add_argument('--force', action='store_true', help=_('also delete assigned alias addresses')) ud.set_defaults(func=user_delete, scmd='userdelete') |
|
From: <nev...@us...> - 2014-06-08 17:37:25
|
details: http://hg.localdomain.org/vmm/rev/8931c6b8435e changeset: 750:8931c6b8435e user: Pascal Volk date: Sun Jun 08 17:08:35 2014 +0000 description: VMM/handler: Handler.user_delete() Added parameter `delete_home'. diffstat: VirtualMailManager/handler.py | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (24 lines): diff -r bc796a554ca2 -r 8931c6b8435e VirtualMailManager/handler.py --- a/VirtualMailManager/handler.py Sun Jun 08 14:03:07 2014 +0000 +++ b/VirtualMailManager/handler.py Sun Jun 08 17:08:35 2014 +0000 @@ -624,8 +624,10 @@ self._warnings.append(_("The destination account/alias '%s' " "does not exist.") % destination) - def user_delete(self, emailaddress, force=False): + def user_delete(self, emailaddress, delete_home, force=False): """Wrapper around Account.delete(...)""" + if not isinstance(delete_home, bool): + raise TypeError('delete_home must be a bool') if not isinstance(force, bool): raise TypeError('force must be a bool') acc = self._get_account(emailaddress) @@ -637,7 +639,7 @@ dom_dir = acc.domain.directory acc_dir = acc.home acc.delete(force) - if self._cfg.dget('account.delete_directory'): + if delete_home or self._cfg.dget('account.delete_directory'): try: self._delete_home(dom_dir, uid, gid) except VMMError as err: |