Exemplo n.º 1
0
    def post(self, request, *args, **kwargs):
        new_application = True
        try:
            form = forms.ApplicationForm(request.POST,
                                         request.FILES,
                                         instance=request.user.application)
            new_application = False
        except:
            form = forms.ApplicationForm(request.POST, request.FILES)
        if form.is_valid():
            application = form.save(commit=False)
            application.user = request.user
            application.save()
            if new_application:
                messages.success(
                    request, 'We have now received your application. '
                    'Processing your application will take some time, so please be patient.'
                )
            else:
                messages.success(request,
                                 'Application changes saved successfully!')

            return HttpResponseRedirect(reverse('root'))
        else:
            c = self.get_context_data()
            c.update({'form': form})
            return render(request, self.template_name, c)
Exemplo n.º 2
0
    def post(self, request, *args, **kwargs):
        new_application = False
        try:
            form = forms.ApplicationForm(request.POST,
                                         request.FILES,
                                         instance=request.user.application)
            new_application = ('submit' in request.POST) and (
                request.user.application.status == models.APP_SAVED)
        except:
            form = forms.ApplicationForm(request.POST, request.FILES)
        if form.is_valid():
            application = form.save(commit=False)
            application.user = request.user
            if 'submit' in request.POST:
                application.status = models.APP_PENDING
            application.save()
            if new_application:
                m = emails.create_application_email(application)
                m.send()
                messages.success(
                    request, 'We have now received your application. '
                    'Processing your application will take some time, so please be patient.'
                )
            else:
                messages.success(request,
                                 'Application changes saved successfully!')

            return HttpResponseRedirect(reverse('application'))
        else:
            c = self.get_context_data()
            c.update({'form': form})
            return render(request, self.template_name, c)
Exemplo n.º 3
0
 def get_context_data(self, **kwargs):
     context = super(HackerApplication, self).get_context_data(**kwargs)
     application = get_object_or_404(models.Application, user=self.request.user)
     deadline = get_deadline(application)
     context.update(
         {'invite_timeleft': deadline - timezone.now(), 'form': forms.ApplicationForm(instance=application)})
     return context
Exemplo n.º 4
0
def save_draft(request):
    d = models.DraftApplication()
    d.user = request.user
    form_keys = set(dict(forms.ApplicationForm().fields).keys())
    valid_keys = set([field.name for field in models.Application()._meta.get_fields()])
    d.save_dict(dict((k, v) for k, v in request.POST.items() if k in valid_keys.intersection(form_keys) and v))
    d.save()
    return JsonResponse({'saved': True})
Exemplo n.º 5
0
    def post(self, request, *args, **kwargs):
        try:
            form = forms.ApplicationForm(request.POST, request.FILES, instance=request.user.application)
        except:
            form = forms.ApplicationForm(request.POST, request.FILES)
        if form.is_valid():
            application = form.save(commit=False)
            application.user = request.user
            application.save()

            messages.success(request, 'Application changes saved successfully!')

            return HttpResponseRedirect(reverse('application'))
        else:
            c = self.get_context_data()
            c.update({'form': form})
            return render(request, self.template_name, c)
Exemplo n.º 6
0
    def get_context_data(self, **kwargs):
        context = super(HackerDashboard, self).get_context_data(**kwargs)
        try:
            draft = models.DraftApplication.objects.get(user=self.request.user)
            form = forms.ApplicationForm(instance=models.Application(**draft.get_dict()))
        except:
            form = forms.ApplicationForm()
        context.update({'form': form})
        try:
            application = models.Application.objects.get(user=self.request.user)
            deadline = get_deadline(application)
            context.update({'invite_timeleft': deadline - timezone.now()})
        except:
            # We ignore this as we are okay if the user has not created an application yet
            pass

        return context