Beispiel #1
0
def _add_user(line, groups):
    firstname, lastname = line[0], line[1]
    if len(line) > 2:
        mail = line[2]
        uname = mail.split('@')[0]
    else:
        uname = _strip_accents(firstname + lastname).lower()
        mail = '*****@*****.**' % uname
    if len(line) > 3:
        passwd = line[3]
    else:
        passwd = uname

    if not User.objects.filter(username=uname).exists():
        u = User(username=uname,
                 first_name=firstname, last_name=lastname,
                 email=mail)
        u.rawpwd = passwd
        u.set_password(passwd)
        u.save()

        for g in groups:
            u.groups.add(g)
        u.save()
        return True
    else:
        u = User.objects.get(username=uname)
        save = False
        for g in groups:
            if g not in u.groups.all():
                u.groups.add(g)
                save = True
        if save:
            u.save()
        return False