Esempio n. 1
0
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()
Esempio n. 3
0
    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())
Esempio n. 4
0
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())
Esempio n. 5
0
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()

#%%