def profile(request): # Delete our expired keys ApiKey.delete_expired(user=request.user) # Get a list of the users API Keys keys = ApiKey.objects.filter(user=request.user) try: backup_tokens = request.user.staticdevice_set.all()[0].token_set.count() except IndexError: backup_tokens = 0 # Get a list of the users current sessions sessions = request.user.session_set.filter(expire_date__gt=now()) # Get the current session key session_key = request.session.session_key # Process the form if we have data coming in if request.method == 'POST': form = UserProfileForm(request.POST, instance=request.user.profile) if form.is_valid(): form.save() else: form = UserProfileForm(instance=request.user.profile) # Show the template return render(request, 'account_profile.html', { 'keys': keys, 'sessions': sessions, 'session_key': session_key, 'form': form, 'user': request.user, 'default_device': default_device(request.user), 'backup_tokens': backup_tokens, })
def get_key(self, user, api_key): try: ApiKey.delete_expired(user=user) ApiKey.objects.get(user=user, key=api_key) except ApiKey.DoesNotExist: return self._unauthorized() return True
def done(self, form_list, **kwargs): login(self.request, self.get_user()) ApiKey.delete_expired(user=self.request.user) newkey = ApiKey(user=self.request.user, active=True, expires=timezone.now() + timedelta(minutes=5)) form = ApiKeyForm({"name": uuid.uuid1()}, instance=newkey) if form.is_valid(): form.save() res = HttpResponse(newkey.key) res.status_code = 200 return res