def activateConfirmView(request, encoded): invalid_template_name = "users/activate/invalid.html" delegate_template_name = "users/activate/confirm/delegate.html" template_name = invalid_template_name context = dict() decoded = hashid_decode(encoded, salt=imp.user_activation_urls["salt"], min_length=imp.user_activation_urls["min_length"]) if decoded: try: temp = User.objects.get(pk=decoded) delegate = Delegate.objects.get(user=temp) if not temp.activated: template_name = delegate_template_name context["delegate"] = temp context["encoded"] = encoded context["form"] = ConfirmDelegateForm(instance=delegate) if request.method == "POST": context["form"] = ConfirmDelegateForm(request.POST, request.FILES, instance=delegate) if context["form"].is_valid(): context["form"].save() return redirect('sign-in-confirmed') context["error"] = True except ObjectDoesNotExist: pass return render(request, template_name, context)
def post(self, request, encoded): context = dict() decoded = hashid_decode(encoded) if decoded: current_round = Round.objects.get(pk=decoded) submissions = Submission.objects.all().filter( asc_team=request.user.delegate.team).filter( asc_round_file__asc_round=current_round).order_by( 'latest').order_by('-submitted_at') accepted_files = AcceptedRoundFile.objects.all().filter( asc_round=current_round) context["encoded_url"] = encoded if current_round.visible: context["round"] = current_round context["submissions"] = submissions if current_round.active and accepted_files: context["form"] = RoundUploadForm( request.POST, request.FILES, instance=current_round, team=request.user.delegate.team) if context["form"].is_valid(): context["form"].save(team=request.user.delegate.team, user_id=request.user.pk) return redirect('rounds-upload-success', encoded=encoded) return render(request, self.template_name, context)
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) decoded_round = hashid_decode(self.kwargs['encoded']) try: context["round"] = Round.objects.get(pk=decoded_round) except: context["round"] = False return context
def get_queryset(self): decoded_round = hashid_decode(self.kwargs['encoded']) try: rubric = (Round.objects.get(pk=decoded_round)).rubric if not rubric.release: return list() return Assessment.objects.filter( judge=self.request.user.judge).filter( rubric=rubric).order_by('submitted') except: return list()
def activateInformationView(request, encoded): invalid_template_name = "users/activate/invalid.html" delegate_template_name = "users/activate/information/delegate.html" template_name = invalid_template_name context = dict() decoded = hashid_decode(encoded, salt=imp.user_activation_urls["salt"], min_length=imp.user_activation_urls["min_length"]) if decoded: try: temp = User.objects.get(pk=decoded) if not temp.activated: template_name = delegate_template_name context["delegate"] = True context["first_name"] = temp.first_name context["encoded"] = encoded except ObjectDoesNotExist: pass return render(request, template_name, context)