mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] Remove YAGNI code. Do not morph maildrop into mail-forward (who cares?)
This commit is contained in:
parent
78aa5ddf83
commit
0da0b07e19
2 changed files with 6 additions and 67 deletions
|
@ -240,21 +240,6 @@ alias:
|
||||||
configuration:
|
configuration:
|
||||||
authenticate: all
|
authenticate: all
|
||||||
authenticator: ldap-anonymous
|
authenticator: ldap-anonymous
|
||||||
arguments:
|
|
||||||
--fields:
|
|
||||||
help: fields to fetch
|
|
||||||
nargs: "+"
|
|
||||||
-f:
|
|
||||||
full: --filter
|
|
||||||
help: LDAP filter used to search
|
|
||||||
-l:
|
|
||||||
full: --limit
|
|
||||||
help: Maximum number of alias fetched
|
|
||||||
type: int
|
|
||||||
-o:
|
|
||||||
full: --offset
|
|
||||||
help: Starting number for alias fetching
|
|
||||||
type: int
|
|
||||||
|
|
||||||
### alias_create()
|
### alias_create()
|
||||||
create:
|
create:
|
||||||
|
|
|
@ -28,54 +28,16 @@ import errno
|
||||||
|
|
||||||
from moulinette.core import MoulinetteError
|
from moulinette.core import MoulinetteError
|
||||||
|
|
||||||
def alias_list(auth, fields=None, filter=None, limit=None, offset=None):
|
def alias_list(auth):
|
||||||
"""
|
"""
|
||||||
List aliases
|
List aliases
|
||||||
|
|
||||||
Keyword argument:
|
|
||||||
filter -- LDAP filter used to search
|
|
||||||
offset -- Starting number for alias fetching
|
|
||||||
limit -- Maximum number of alias fetched
|
|
||||||
fields -- fields to fetch
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
_ensure_ldap_ou_is_created(auth)
|
_ensure_ldap_ou_is_created(auth)
|
||||||
|
ldap_filter = '(&(objectclass=mailAccount)(objectclass=mailAlias))'
|
||||||
alias_attrs = { 'mail': 'alias',
|
ldap_attrs = [ 'mail', 'maildrop' ]
|
||||||
'maildrop': 'mail-forward' }
|
result = auth.search('ou=aliases,dc=yunohost,dc=org', ldap_filter, ldap_attrs)
|
||||||
attrs = []
|
return { 'alias' : result }
|
||||||
result_list = []
|
|
||||||
|
|
||||||
# Set default arguments values
|
|
||||||
if offset is None:
|
|
||||||
offset = 0
|
|
||||||
if limit is None:
|
|
||||||
limit = 1000
|
|
||||||
if filter is None:
|
|
||||||
filter = '(&(objectclass=mailAccount)(objectclass=mailAlias))'
|
|
||||||
if fields:
|
|
||||||
keys = alias_attrs.keys()
|
|
||||||
for attr in fields:
|
|
||||||
if attr in keys:
|
|
||||||
attrs.append(attr)
|
|
||||||
else:
|
|
||||||
raise MoulinetteError(errno.EINVAL,
|
|
||||||
m18n.n('field_invalid', attr))
|
|
||||||
else:
|
|
||||||
attrs = [ 'mail', 'maildrop' ]
|
|
||||||
|
|
||||||
result = auth.search('ou=aliases,dc=yunohost,dc=org', filter, attrs)
|
|
||||||
|
|
||||||
if len(result) > offset and limit > 0:
|
|
||||||
for alias in result[offset:offset+limit]:
|
|
||||||
entry = {}
|
|
||||||
for attr, values in alias.items():
|
|
||||||
try:
|
|
||||||
entry[alias_attrs[attr]] = values[0:]
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
result_list.append(entry)
|
|
||||||
return { 'alias' : result_list }
|
|
||||||
|
|
||||||
|
|
||||||
def alias_create(auth, alias, mailforward):
|
def alias_create(auth, alias, mailforward):
|
||||||
|
@ -162,15 +124,7 @@ def alias_info(auth, alias):
|
||||||
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown'))
|
raise MoulinetteError(errno.EINVAL, m18n.n('alias_unknown'))
|
||||||
|
|
||||||
alias = result[0]
|
alias = result[0]
|
||||||
|
return alias
|
||||||
result_dict = {
|
|
||||||
'alias': alias['mail'][0]
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(alias['maildrop']) > 0:
|
|
||||||
result_dict['mail-forward'] = alias['maildrop'][0:]
|
|
||||||
|
|
||||||
return result_dict
|
|
||||||
|
|
||||||
def _ensure_ldap_ou_is_created(auth):
|
def _ensure_ldap_ou_is_created(auth):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Reference in a new issue