Exemplo n.º 1
0
    def authenticate(self, request, username=None, password=None, *args, **kwargs):
        print('inside custom auth:')
        if username.endswith('a'):
            print(f'До:{username}')
            username = username[:-1]
            print(f'После: {username}')

        user_auth = Auth(login=username, password=password)
        ''' Если пользователь есть в AD, то проверяем есть ли он в БД приложения и если нет, то создаём.'''
        if user_auth.ldap_correct():
            try:
                user = CustomUser.objects.get(email=user_auth.mail)
                # profile = Profile.objects.get(shop_num=user_auth.shop)
                # print(user_auth.displayName)
            except CustomUser.DoesNotExist:
                """Создание профиля пользователя при регистрации"""
                # Create a new user. There's no need to set a password
                # because only the password from settings.py is checked.
                user = CustomUser(email=user_auth.mail)
                user.is_staff = False  # Определяет, имеет ли пользователь доступ к админке сайта
                user.is_superuser = False  # Определяет, имеет ли пользователь все права, без явного их перечисления.
                user.shop_num = user_auth.shop_number
                user.save()
                # user = User.objects.get(username=username)
                # profile = Profile.objects.create(user=user, shop_num=user_auth.shop)
                # profile.save()
            # print(f'Авторизован как {user_auth.login}, {user_auth.displayName}')
            return user
        # Нет его в AD:
        else:

            print(f'Не верный ldap или пароль:{user_auth.login}')
            print(f'{user_auth.password}')
            return None
Exemplo n.º 2
0
    def _link_groups_and_permissions(self, user: CustomUser) -> CustomUser:
        """Links a 'CustomUser' object to its specified groups and permissions"""

        groups, permissions = self.data_groups, self.data_user_permissions
        groups, permissions = [groups] if isinstance(
            groups, str) else groups, [permissions] if isinstance(
                permissions, str) else permissions

        try:
            if groups is not None:
                if len(groups) > 0 and len(groups[0]) > 0:
                    user.groups.set([
                        Group.objects.get_by_natural_key(group)
                        for group in groups
                    ])
                else:
                    user.groups.set([])

            if permissions is not None:
                if len(permissions) > 0 and len(permissions[0]) > 0:
                    user.user_permissions.set([
                        Permission.objects.get(codename=permission)
                        for permission in permissions
                    ])
                else:
                    user.user_permissions.set([])

        except ObjectDoesNotExist as error:
            raise ObjectNotFound(_(str(error)))

        user.save()
        return user
Exemplo n.º 3
0
def validate_activation_code(user: CustomUser, code: str) -> bool:
    if PasswordResetTokenGenerator().check_token(user, code):
        user.is_active = True
        user.is_email_verified = True
        user.save()
        return True
    else:
        return False
Exemplo n.º 4
0
    def _set_password(self, user: CustomUser) -> CustomUser:
        """Uses Django's 'AbstractBaseUser' model's 'set_password' method to hash the given password"""

        if self.data_password is not None:
            user.set_password(self.data_password)
            user.save()

        return user
Exemplo n.º 5
0
 def save(self):
     user = User(email=self.validated_data['email'])
     password = self.validated_data['password']
     password2 = self.validated_data['password2']
     if password != password2:
         raise serializers.ValidationError(
             {"password": "******"})
     user.set_password(password)
     user.save()
     return user
Exemplo n.º 6
0
def superuser(request):
    superuser = CustomUser.objects.values()
    print(superuser)
    record = CustomUser()
    record.id = 0
    record.username = "******"
    record.is_superuser = True
    record.is_staff = True
    record.is_active = True
    record.password = make_password("adminpass", "WD2kFWBW5ya6")
    record.save()
    return redirect(to='/admin')
Exemplo n.º 7
0
    def save(self,commit=True):
        CustomUser = super(UserCreationForm, self).save(commit = False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.phone_number = self.cleaned_data['phone_number']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.password = make_password(password = self.clean_password2(), salt=None, hasher='pbkdf2_sha256')

        if commit:
            CustomUser.save()

        return CustomUser
Exemplo n.º 8
0
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.birth_date = self.cleaned_data['birth_date']
        CustomUser.image_path = self.cleaned_data['username'] + ".jpg"
        CustomUser.password = self.clean_password2()

        if commit:
            CustomUser.save()

        return CustomUser
Exemplo n.º 9
0
 def create(self, validated_data):
     first_name = validated_data['first_name']
     last_name = validated_data['last_name']
     username = validated_data['username']
     password = validated_data['password']
     user_type = validated_data['user_type']
     user_obj = CustomUser(username=username,
                           first_name=first_name,
                           last_name=last_name,
                           user_type=user_type)
     user_obj.set_password(password)
     user_obj.save()
     return validated_data
Exemplo n.º 10
0
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data["email"]
        CustomUser.first_name = self.cleaned_data["first_name"]
        CustomUser.last_name = self.cleaned_data["last_name"]
        CustomUser.birth_date = self.cleaned_data["birth_date"]
        CustomUser.image_path = self.cleaned_data["username"] + ".jpg"
        CustomUser.password = self.clean_password2()

        if commit:
            CustomUser.save()

        return CustomUser
Exemplo n.º 11
0
def registermodal(request, pk):
    route = TravelRoute.objects.get(pk=pk)
    if request.method == "POST":
        full_name = request.POST["full_name"]
        email = request.POST["email"]
        mobile_number = request.POST["mobile_number"]
        password = request.POST["password"]
        password2 = request.POST["password2"]

        if password == password2:
            if CustomUser.objects.filter(mobile_number=mobile_number).exists():
                messages.error(request, "That mobile number is already in use")
                route = TravelRoute.objects.get(pk=pk)
                return redirect("accounts:registermodal", route.pk)
            else:
                if CustomUser.objects.filter(email=email).exists():
                    messages.error(request, "That email is already taken")
                    route = TravelRoute.objects.get(pk=pk)
                    return redirect("accounts:registermodal", route.pk)
                else:
                    # Looks good
                    user = CustomUser()
                    user.full_name = full_name
                    user.email = email
                    user.mobile_number = mobile_number
                    user.password = password

                    user = CustomUser.objects.create_user(
                        full_name=full_name,
                        email=email,
                        mobile_number=mobile_number,
                        password=password,
                    )
                    user.save()

                    # Login after register
                    auth.login(request, user)
                    messages.success(request, "You are now logged in")

                    route = TravelRoute.objects.get(pk=pk)
                    return redirect("bookings:make_a_booking", route.pk)
        else:
            messages.error(request, "Passwords do not match")
            route = TravelRoute.objects.get(pk=pk)
            return redirect("accounts:registermodal", route.pk)
    else:
        route = TravelRoute.objects.get(pk=pk)
        context = {
            "route": route,
        }
        return render(request, "bookings/booking.html", context)
Exemplo n.º 12
0
    def save(self, commit=True):
        CustomUser = super(UserCreationForm, self).save(commit=False)
        CustomUser.email = self.cleaned_data['email']
        CustomUser.phone_number = self.cleaned_data['phone_number']
        CustomUser.first_name = self.cleaned_data['first_name']
        CustomUser.last_name = self.cleaned_data['last_name']
        CustomUser.password = make_password(password=self.clean_password2(),
                                            salt=None,
                                            hasher='pbkdf2_sha256')

        if commit:
            CustomUser.save()

        return CustomUser
Exemplo n.º 13
0
def main():
    eguard = EntranceGuard()
    doors = Entrance.objects.all()
    for door in doors:
        perm_users = eguard.getEntranceUsers( door.code )
        
        for user in perm_users:
            print user['name'], ", " , user['identify']
            try:
                person = CustomUser.objects.get( surname=user['name'], identify=user['identify'] )
            except CustomUser.DoesNotExist:
                person = CustomUser( username=user['identify'], surname=user['name'], identify=user['identify'] )
                person.save()

            if person.is_expired():
                eguard.doEntranceUserDeleted( person.identify, door.code )
            else:
                door.user.add( person )
Exemplo n.º 14
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d" % i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d" % i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating=self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test",
                                          diff=diff,
                                          motivation="Motivation")
        self.proposal.save()
Exemplo n.º 15
0
def register(request):
    if request.method == 'POST':
        # Get form values
        full_name = request.POST['full_name']
        email = request.POST['email']
        mobile_number = request.POST['mobile_number']
        password = request.POST['password']
        password2 = request.POST['password2']

        if password == password2:
            if CustomUser.objects.filter(mobile_number=mobile_number).exists():
                messages.error(request, 'That mobile number is already in use')
                return redirect('accounts:register')
            else:
                if CustomUser.objects.filter(email=email).exists():
                    messages.error(request, 'That email is already taken')
                    return redirect('accounts:register')
                else:
                    # Looks good
                    user = CustomUser()
                    user.full_name = full_name
                    user.email = email
                    user.mobile_number = mobile_number
                    user.password = password

                    user = CustomUser.objects.create_user(
                        full_name=full_name,
                        email=email,
                        mobile_number=mobile_number,
                        password=password)
                    user.save()

                    # Login after register
                    auth.login(request, user)
                    messages.success(request, 'You are now logged in')
                    return redirect('accounts:dashboard')
        else:
            messages.error(request, 'Passwords do not match')
            return redirect('accounts:register')
    else:
        return render(request, 'accounts/register.html')
Exemplo n.º 16
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d"%i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d"%i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating = self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test", diff=diff, motivation="Motivation")
        self.proposal.save()
Exemplo n.º 17
0
def register(request):
    if request.method != "POST":
        return render(request, "accounts/register.html")
    # Get form values
    full_name = request.POST["full_name"]
    email = request.POST["email"]
    mobile_number = request.POST["mobile_number"]
    password = request.POST["password"]
    password2 = request.POST["password2"]

    if password == password2:
        if CustomUser.objects.filter(mobile_number=mobile_number).exists():
            messages.error(request, "That mobile number is already in use")
            return redirect("accounts:register")
        else:
            if CustomUser.objects.filter(email=email).exists():
                messages.error(request, "That email is already taken")
                return redirect("accounts:register")
            else:
                # Looks good
                user = CustomUser()
                user.full_name = full_name
                user.email = email
                user.mobile_number = mobile_number
                user.password = password

                user = CustomUser.objects.create_user(
                    full_name=full_name,
                    email=email,
                    mobile_number=mobile_number,
                    password=password,
                )
                user.save()

                # Login after register
                auth.login(request, user)
                messages.success(request, "You are now logged in")
                return redirect("accounts:dashboard")
    else:
        messages.error(request, "Passwords do not match")
        return redirect("accounts:register")
Exemplo n.º 18
0
def Userregistration(request):
    if request.method == "POST":
        email = request.POST.get("email")
        if request.POST.get('first_name') and request.POST.get(
                'last_name') and request.POST.get(
                    'email') and request.POST.get(
                        'password') and request.POST.get('username'):
            saverecord = CustomUser()
            saverecord.first_name = request.POST.get('first_name')
            saverecord.last_name = request.POST.get('last_name')
            saverecord.username = request.POST.get('username')
            saverecord.email = request.POST.get('email')
            saverecord.password = make_password(request.POST.get('password'))
            saverecord.save()
            messages.success(request, "Registered")
            return render(request, 'registration.html')

        else:
            messages.error(request,
                           "Unsuccessful registration. Invalid Information")
    else:
        messages.error(request,
                       "Unsuccessful registration. Invalid Information")
        return render(request, 'registration.html')
Exemplo n.º 19
0
def accounts(num=5):
    for _ in range(num):
        city_name = nr.romanize_text(f.city_name())
        street_name = nr.romanize_text(f.street_address())
        postcode = f.postcode()

        name = '{} {}'.format(
            nr.romanize_text(f.first_name()).capitalize(),
            nr.romanize_text(f.last_name()).capitalize())
        email = name.replace(' ', '_') + '@gmail.com'
        addr = '{}, {}-{}'.format(street_name, city_name, postcode)
        phone_number = '+91' + str(f.random_number(10))
        print(name, phone_number, email)
        print(addr)

        obj = CustomUser(
            email=email,
            password='******',
            name=name,
            mobile_number=phone_number,
            job='NA',
            address=addr,
        )
        obj.save()
Exemplo n.º 20
0
 def make_user(username, **kwargs):
     u = CustomUser(username=username, email="{}@test.org".format(username), **kwargs)
     u.save()
     self.users[username] = u