def signup(request): form = OrgSignUpForm() if request.method == 'POST': form = OrgSignUpForm(request.POST) if form.is_valid(): user = User() user.email = form.cleaned_data.get('email').lower() user.username = form.cleaned_data.get('email').lower()[:30] # TODO: fix it in #135 user.set_password(form.cleaned_data.get('password')) user.save() org = Organization(name=form.cleaned_data.get('organization_name')) org.save() _orgmem = OrganizationMember(user=user, is_owner=True, organization=org).save() token = Token(user=user, type='signup') token.save() link = request.build_absolute_uri(reverse('activate-account', args=[token.token])) send_mail('Account activation', settings.ACCOUNT_ACTIVATION_EMAIL % (org.name, link,), '*****@*****.**', [user.email, ]) # messages.add_message(request, messages.SUCCESS, # _('Please click the activation link which was sent to your email')) _user = authenticate(email=form.cleaned_data['email'], password=form.cleaned_data['password']) if _user is not None: # TODO: only sign in users which activated their account login(request, _user) messages.add_message(request, messages.SUCCESS, _('Please update your profile')) return redirect('settings') return redirect('/') return render(request, 'app/signup.html', locals())
def test_save(self) -> None: db.session.add = Mock() db.session.commit = Mock() token = Token(id=123) token.save() db.session.add.assert_called_once_with(token) db.session.commit.assert_called_once_with()
def post(self, request): organization = request.user.organization userpic = request.FILES.get('userpic') notify = json.loads(request.POST.get('notify')) is_owner = json.loads(request.POST.get('is_owner')) user_data = json.loads(request.POST.get('user')) user_id = user_data.get('id') if user_id is not None: user = User.objects.get(pk=user_id) if user not in [m.user for m in organization.members]: return json_response({'error': 'wrong_user', 'error_text': 'This user doesn\'t belong to your organization'}, status=400) else: email = user_data.get('email') try: _u = User.objects.get(email=email) return json_response({'error': 'email_taken', 'error_text': 'This email was already taken'}, status=400) except User.DoesNotExist: pass user = User() user.email = email if userpic is not None: user.userpic = userpic user.name = user_data.get('name', '') user.public_email = user_data.get('public_email', '') user.public_phone = user_data.get('public_phone', '') user.city = user_data.get('city', '') user.country = user_data.get('country', '') user.bio = user_data.get('bio', '') user.save() try: membership = OrganizationMember.objects.get(user=user, organization=organization) except OrganizationMember.DoesNotExist: membership = OrganizationMember(user=user, organization=organization) membership.is_owner = is_owner membership.save() if notify: token = Token() token.user = user token.save() link = request.build_absolute_uri(reverse('reset-password-step1', args=[token.token])) send_mail('Set password', settings.ORG_MEMBER_CREATED_EMAIL % (organization.name, link,), '*****@*****.**', [token.user.email, ]) return json_response(membership.to_dict())
def reset_password_step0(request): form = ResetPasswordForm() if request.method == 'POST': form = ResetPasswordForm(request.POST) if form.is_valid(): token = Token() token.user = User.objects.get(email=form.cleaned_data.get('email')) token.save() link = request.build_absolute_uri(reverse('reset-password-step1', args=[token.token])) send_mail('Reset password', settings.RESET_PASSWORD_EMAIL % (link,), '*****@*****.**', [token.user.email, ]) messages.add_message(request, messages.SUCCESS, _('Please click the password reset link which was sent to your email')) return redirect('login_view') return render(request, 'app/reset-password/reset-password-step0.html', locals())
def token(request): user = BaseUser.objects.get(user=request.user) vendor = Vendor.objects.get(user=user) tokens = Token.objects.filter(vendor=vendor) code = request.POST.get('id', '') tokens_code = tokens.filter(code=code) if len(tokens_code) == 0: # dispositivo nuevo tok = Token(vendor=vendor, token=request.POST.get('token', ''), code=code) tok.save() else: # dispositivo ya registrado tok = tokens_code.first() tok.token = request.POST.get('token', '') tok.save() return JsonResponse({})
#%% from app.models import Token token1 = Token(access_token='AT', refresh_token='RT', realm_id='RI') token1.save() #%%