Exemplo n.º 1
0
    def handle(self, *args, **options):
        username = options['username']
        if username is None:
            raise CommandError("Username not specified.")

        try:
            user_properties = get_ldap_user_properties(username)
            if user_properties is None:
                self.stderr.write('LDAP user "%s" properties incomplete' %
                                  username)
                return
        except ldap.NO_SUCH_OBJECT:
            self.stderr.write("User %s does not exist in LDAP" % username)
            return

        try:
            user = User.objects.get(username=username)
            self.stderr.write('User "%s" exists, not overwriting' % username)
        except User.DoesNotExist:
            user = User.objects.create(username=username)
            user.email = user_properties.get("mail", "")
            user.last_name = user_properties.get("sn", "")
            user.first_name = user_properties.get("given_name", "")
            superuser_msg = ""
            if options["superuser"]:
                user.is_staff = True
                user.is_superuser = True
                superuser_msg = "with superuser status"
            user.save()
            self.stdout.write('User "%s" added %s' % (username, superuser_msg))
Exemplo n.º 2
0
    def handle(self, *args, **options):
        if len(args) > 0:
            username = args[0]
        else:
            self.stderr.write("Username not specified")
            sys.exit(2)

        try:
            user_properties = get_ldap_user_properties(username)
            if user_properties is None:
                self.stderr.write('LDAP user "%s" properties incomplete'
                                  % username)
                return
        except ldap.NO_SUCH_OBJECT:
            self.stderr.write("User %s does not exist in LDAP" % username)
            return

        try:
            user = User.objects.get(username=username)
            self.stderr.write('User "%s" exists, not overwriting' % username)
        except User.DoesNotExist:
            user = User.objects.create(username=username)
            user.email = user_properties.get("mail", "")
            user.last_name = user_properties.get("sn", "")
            user.first_name = user_properties.get("given_name", "")
            user.save()
            self.stdout.write('User "%s" added' % username)
Exemplo n.º 3
0
    def handle(self, *args, **options):
        username = options['username']
        if username is None:
            self.stderr.write("Username not specified.")
            sys.exit(2)

        try:
            user_properties = get_ldap_user_properties(username)
            if user_properties is None:
                self.stderr.write('LDAP user "%s" properties incomplete'
                                  % username)
                return
        except ldap.NO_SUCH_OBJECT:
            self.stderr.write("User %s does not exist in LDAP" % username)
            return

        try:
            user = User.objects.get(username=username)
            self.stderr.write('User "%s" exists, not overwriting' % username)
        except User.DoesNotExist:
            user = User.objects.create(username=username)
            user.email = user_properties.get("mail", "")
            user.last_name = user_properties.get("sn", "")
            user.first_name = user_properties.get("given_name", "")
            superuser_msg = ""
            if options["superuser"]:
                user.is_staff = True
                user.is_superuser = True
                superuser_msg = "with superuser status"
            user.save()
            self.stdout.write('User "%s" added %s' % (username, superuser_msg))
Exemplo n.º 4
0
    def handle(self, *args, **options):
        lava_user = old_lava_user = options['lava_user']
        if lava_user is None:
            self.stderr.write("LAVA username not specified.")
            sys.exit(2)

        ldap_user = options['ldap_user']
        if ldap_user is None:
            self.stderr.write("LDAP username not specified.")
            sys.exit(2)

        try:
            ldap_user = User.objects.get(username=ldap_user)
            if ldap_user:
                self.stderr.write('LAVA user with the same ldap username ie., '
                                  '"%s", already exists, hence cannot merge' %
                                  ldap_user)
                return
        except User.DoesNotExist:
            self.stdout.write('LDAP user "%s", unavailable in LAVA, proceeding'
                              ' with the merge ...' % ldap_user)

        try:
            user_properties = get_ldap_user_properties(ldap_user)
            if user_properties is None:
                self.stderr.write('LDAP user "%s" properties incomplete'
                                  % ldap_user)
                return
        except ldap.NO_SUCH_OBJECT:
            self.stderr.write("User %s does not exist in LDAP" % ldap_user)
            return
        try:
            lava_user = User.objects.get(username=lava_user)
            lava_user.username = ldap_user
            lava_user.email = user_properties.get("mail", "")
            lava_user.last_name = user_properties.get("sn", "")
            lava_user.first_name = user_properties.get("given_name", "")
            lava_user.save()
            self.stdout.write('User "%s" merged with "%s"' % (ldap_user,
                                                              old_lava_user))
        except User.DoesNotExist:
            self.stderr.write('User "%s" does not exist in LAVA' % lava_user)
Exemplo n.º 5
0
    def handle(self, *args, **options):
        lava_user = old_lava_user = options['lava_user']
        if lava_user is None:
            self.stderr.write("LAVA username not specified.")
            sys.exit(2)

        ldap_user = options['ldap_user']
        if ldap_user is None:
            self.stderr.write("LDAP username not specified.")
            sys.exit(2)

        try:
            ldap_user = User.objects.get(username=ldap_user)
            if ldap_user:
                self.stderr.write('LAVA user with the same ldap username ie., '
                                  '"%s", already exists, hence cannot merge' %
                                  ldap_user)
                return
        except User.DoesNotExist:
            self.stdout.write('LDAP user "%s", unavailable in LAVA, proceeding'
                              ' with the merge ...' % ldap_user)

        try:
            user_properties = get_ldap_user_properties(ldap_user)
            if user_properties is None:
                self.stderr.write('LDAP user "%s" properties incomplete' %
                                  ldap_user)
                return
        except ldap.NO_SUCH_OBJECT:
            self.stderr.write("User %s does not exist in LDAP" % ldap_user)
            return
        try:
            lava_user = User.objects.get(username=lava_user)
            lava_user.username = ldap_user
            lava_user.email = user_properties.get("mail", "")
            lava_user.last_name = user_properties.get("sn", "")
            lava_user.first_name = user_properties.get("given_name", "")
            lava_user.save()
            self.stdout.write('User "%s" merged with "%s"' %
                              (ldap_user, old_lava_user))
        except User.DoesNotExist:
            self.stderr.write('User "%s" does not exist in LAVA' % lava_user)