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())