userdesc = UserDesc(forlife, name, None, 0)
return (userdesc, perms, vhost)
else:
+ print "no user found for uid: %s, passwd: %s" % (uid, md5)
return None
################################################################################
@root: the handler requires site admin rights
"""
try:
+ print "calling method: %s" % method
if has_annotation(method, "root") and perms != "admin":
return 0
if has_annotation(method, "mlist"):
- listname = arg[0]
+ listname = str(arg[0])
arg = arg[1:]
mlist = MailList.MailList(vhost + VHOST_SEP + listname.lower(), lock=0)
if has_annotation(method, "admin") and not is_admin_on(userdesc, perms, mlist):
'nbsub': len(members)
}
return (details, members)
- return 0
+ return None
def get_options(userdesc, perms, mlist, opts):
""" Get the options of a list.
except:
continue
try:
- details = get_list_info(udesc, perms, mlist, (email is None and vhost == PLATAL_DOMAIN))[0]
- result.append(details)
+ details = get_list_info(udesc, perms, mlist, (email is None and vhost == PLATAL_DOMAIN))
+ if details is not None:
+ result.append(details[0])
except Exception, e:
sys.stderr.write('Can\'t get list %s: %s\n' % (name, str(e)))
continue
continue
return result
+def change_user_email(userdesc, perms, vhost, from_email, to_email):
+ """ Change the email of a user
+ @root
+ """
+ from_email = from_email.lower()
+ to_email = to_email.lower()
+ for list in Utils.list_names():
+ try:
+ mlist = MailList.MailList(list, lock=0)
+ except:
+ continue
+ try:
+ mlist.Lock()
+ mlist.ApprovedChangeMemberAddress(from_email, to_email, 0)
+ mlist.Save()
+ mlist.Unlock()
+ except:
+ mlist.Unlock()
+ return 1
+
+
def create_list(userdesc, perms, vhost, listname, desc, advertise, modlevel, inslevel, owners, members):
""" Create a new list.
@root
# create + del
server.register_function(get_all_lists)
server.register_function(get_all_user_lists)
+server.register_function(change_user_email)
server.register_function(create_list)
server.register_function(delete_list)
# utilisateurs.php