Esempio n. 1
0
def edit(request, app_id):

    user = request.user
    app = Application.objects.get(pk=app_id)

    if app.user == user:

        form = ApplicationForm(request.POST or None, instance=app)

        if request.method == 'POST':

            if form.is_valid():

                obj = form.save(commit=False)

                obj.save()

                return HttpResponseRedirect('/tracker/user/{0}/'.format(user.username))

            else:

                print form.errors

        else:

            form = ApplicationForm(instance=app)

    else:
        return HttpResponse('User mismatch, permission denied.')

    content = { 'form': form, 'app': app }

    return render(request, 'tracker/edit.html', content)
Esempio n. 2
0
def edit(request, app_id):

    user = request.user
    app = Application.objects.get(pk=app_id)

    if app.user == user:

        form = ApplicationForm(request.POST or None, instance=app)

        if request.method == 'POST':

            if form.is_valid():

                obj = form.save(commit=False)

                obj.save()

                return HttpResponseRedirect('/tracker/user/{0}/'.format(
                    user.username))

            else:

                print form.errors

        else:

            form = ApplicationForm(instance=app)

    else:
        return HttpResponse('User mismatch, permission denied.')

    content = {'form': form, 'app': app}

    return render(request, 'tracker/edit.html', content)
Esempio n. 3
0
def addAplication(request):
    if request.method == 'POST':
        form = ApplicationForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('getbills:thankyou'))
    else:
        form = ApplicationForm()
    return render(request, 'getbills/index.html', {'form': form})
Esempio n. 4
0
def apply(request):
    if request.method == 'POST':
        form = ApplicationForm(request.POST)
        if form.is_valid():
            application = form.save(commit=False)
            application.user = request.user
            application.save()
            return HttpResponseRedirect(reverse('applications'))
    else:
        form = ApplicationForm()
    return render(request, 'sok/apply.html', {'form': form})
Esempio n. 5
0
def register(request):
    if request.method == 'POST':
        form = ApplicationForm(request.POST)

        if form.is_valid():
            new_application = form.save()

            return render(request, 'thankyou.html')            
    else:
        form = ApplicationForm()

    return render(request, 'register.html', {'form': form, 'now' : datetime.now(), 'close' : datetime(2013, 9, 16)})
Esempio n. 6
0
def application_form(request, application_id):
    application = get_object_or_404(Application, project__owner=request.user, pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(application.project, request.POST, instance=application, prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(application.project, instance=application, prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(application.project, instance=application, prefix='app_%d_' % application.id)
    context.update({'application_form': form,
                    'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 7
0
def __save_record(request):
    # create a new one
    form = ApplicationForm(request.POST)
    if form.is_valid():
        user = request.user
        application = form.save(commit=False)
        application.user = user
        if not application.date:
            application.date = datetime.date.today()
        application.save()
        app_list = JobApplication.objects.filter(user=user)
        return render(request, 'applications/applications.html', {'app_list': app_list})
    else:
        return render(request, 'applications/new_record.html', {'form': form})
Esempio n. 8
0
def TutorApplication(request, template = 'tutors/tutor_application.html'):
    if not settings.OPEN_SIGNUP:
        return HttpResponseRedirect('/')

    if request.method == 'POST':
        user_creation_form = EmailUserCreationForm(request.POST)
        profile_creation_form = ApplicationForm(request.POST)

        if user_creation_form.is_valid() and profile_creation_form.is_valid():
            # Create the user
            user_data = user_creation_form.cleaned_data
            user = create_user(user_data[ 'email' ], user_data[ 'password1' ])

            try:
                tutors_group = Group.objects.get(name = 'Tutors')
            except Group.DoesNotExist:
                tutors_group = Group.objects.create(name = 'Tutors')

            user.is_staff = False
            user.groups.add(tutors_group)

            profile_data = profile_creation_form.cleaned_data
            user.first_name = profile_data[ 'first_name' ][ 0 ].upper() + profile_data[ 'first_name' ][ 1: ].lower()
            user.last_name = profile_data[ 'last_name' ][ 0 ].upper() + profile_data[ 'last_name' ][ 1: ].lower()
            user.save()

            # Fill the tutor profile
            tutor = Tutor.objects.get(auth=user)
            tutor.name = user.get_full_name()
            tutor.email = user.email
            tutor.phone = profile_data[ 'phone' ]
            tutor.qualifications = profile_data[ 'qualifications' ]
            tutor.rate = profile_data[ 'rate' ]

            for course in profile_data[ 'taught_courses' ]:
                tutor.taught_courses.add(course)
            tutor.save()

            messages.add_message(request, messages.INFO,
                                 'Your application has been successfully received and is pending approval. Thank you '
                                 'for applying for Skule Tutors.')
            return HttpResponseRedirect('/')
    else:
        user_creation_form = EmailUserCreationForm()
        profile_creation_form = ApplicationForm()

    return render_to_response(template,
                              dict(user_creation_form = user_creation_form,
                                   profile_creation_form = profile_creation_form),
                              context_instance = RequestContext(request))
Esempio n. 9
0
def application_form(request, application_id):
    application = get_object_or_404(Application,
                                    project__owner=request.user,
                                    pk=application_id)
    context = {}
    if request.method == "POST":
        form = ApplicationForm(application.project,
                               request.POST,
                               instance=application,
                               prefix='app_%d_' % application.id)
        if form.is_valid():
            application = form.save()
            context['saved'] = True
            form = ApplicationForm(application.project,
                                   instance=application,
                                   prefix='app_%d_' % application.id)
    else:
        form = ApplicationForm(application.project,
                               instance=application,
                               prefix='app_%d_' % application.id)
    context.update({'application_form': form, 'application': application})
    return render_response(request, 'application_form.html', context)
Esempio n. 10
0
def addapp(request):

    if request.method == 'POST':

        app = Application(user=request.user)

        form = ApplicationForm(request.POST, instance=app)

        if form.is_valid():
            form.save(commit=True)

            return HttpResponseRedirect('/tracker/user/{0}/'.format(request.user.username))

        else:
            print form.errors

    else:

        form = ApplicationForm()

    content = { 'form': form }

    return render(request, 'tracker/addapp.html', content)
Esempio n. 11
0
def addapp(request):

    if request.method == 'POST':

        app = Application(user=request.user)

        form = ApplicationForm(request.POST, instance=app)

        if form.is_valid():
            form.save(commit=True)

            return HttpResponseRedirect('/tracker/user/{0}/'.format(
                request.user.username))

        else:
            print form.errors

    else:

        form = ApplicationForm()

    content = {'form': form}

    return render(request, 'tracker/addapp.html', content)
Esempio n. 12
0
def ajax_add_application(request): #TODO: ajax prefix not needed
    form = ApplicationForm(request.POST, request.project)
    if form.is_valid():
        form.save()
        return {}
    return HttpResponse(unicode(form.errors))
Esempio n. 13
0
def add_application(request):
  context = {}

  # A HTTP POST?
  size_error=False #boolean to indicate if the exceed max size
  has_uploaded=True #boolean to indicate if the resume is uploaded or not
  if request.method == 'POST':
    form = ApplicationForm(request.POST, request.FILES)
    
    #print request.FILES
    form.fields['netID'].required = True
    form.fields['resume'].required = True
    form.fields['project_multiselect'].required=False
    form.fields['role_multiselect'].required=False
    print (form.is_valid())
    # Have we been provided with a valid form?
    if form.is_valid():
        #first create a new role in the opening database
        #and then add a record to the relation
        application=Application()
        application.netID=form.cleaned_data['netID']
      
        if 'resume' in request.FILES:
          if request.FILES['resume'].size < MAX_UPLOAD_SIZE:
            application.resume = request.FILES['resume']
            application.save()
          else:
            print "The size is too big!"
            size_error=True
        else:
          has_uploaded=False  #boolean to indicate if the resume is uploaded or not

        for role_id in form.cleaned_data['role_multiselect']:
          role=Opening.objects.get(pk=role_id)
          if role:
            application.roles.add(role)
          else:
              print "application_form_handler: role specified by primary key does not exist"
        for project_id in form.cleaned_data['project_multiselect']:
          project=Posting.objects.get(pk=project_id)
          if project:
            application.projects.add(project)
          else:
              print "application_form_handler: project specified by primary key does not exist"

        application.save()

        # The user will be shown the homepage.
        #return HttpResponseRedirect("https://docs.google.com/forms/d/1z_U_r4fsO2PAWWIBkzUQ50Y92RjJwMxvXeMfGy4UO6Y/viewform?edit_requested=true") #add some pop up window for confirmation of save 
    	return HttpResponseRedirect("http://goo.gl/forms/W3J0WYUxEM")
    else:
        # The supplied form contained errors - just print them to the terminal and redirect to application site 
        print ('error is: %s' %form.errors)
        #return HttpResponseRedirect("/application/add_application/")

  else:
      # If the request was not a POST, display the form to enter details.
    form = ApplicationForm()
    all_role_choices = [(role.pk, role.title) for role in Opening.objects.all()]
    all_projects_choices = [(project.pk, project.name) for project in Posting.objects.filter(posting_type="project", published=True)]
    
    form.fields['role_multiselect'].choices = all_role_choices
    form.fields['project_multiselect'].choices = all_projects_choices

  context = {
      'form': form,
      'projects': Posting.objects.filter(posting_type='project', published=True).order_by('-rank'),
      'role_types': Posting.objects.filter(posting_type='role_type', published=True)
  }

  # Render the form with error messages (if any).
  return render(request, 'add_application.html', context)