Exemple #1
0
def emp_profile(request):
    """ display employer's profile """
    
    userinfo          = get_real_profile(request)
    offers_count      = userinfo.get_offers().count()
    application_count = Application.objects.filter(company = userinfo).count()
    alerts_count      = Alert.objects.filter(company = userinfo).count()

    if request.method == 'POST':
        
        form = Profile_emp(data=request.POST,  user=request.user)
        if form.is_valid():
            form.save()
            message = messages.add_message(request, messages.INFO, 'données enregistrées avec succée')
            return HttpResponseRedirect('/profile/')
        else:
            message = messages.add_message(request, messages.INFO, 'erreur durant la savegarde  ')
            return render_to_response('./profile/profile.html', locals(), context_instance=RequestContext(request))
    else:
        form = EmployerInfoForm(user=request.user)
        return render_to_response('./profile/profile_emp.html', locals(), context_instance=RequestContext(request))
Exemple #2
0
def company(request, num):
    """ display specified employer's profile """
    
    has_alerted       = False  
    candiate          = get_real_profile(request)
    userinfo          = Profile_emp.objects.get(user_id = num)

    # we use iterator to optimize queryset searching
    alerts_iterator = candiate.alert_set.all().iterator()         

    try:
        first_atom = next(alerts_iterator)
    except StopIteration:
        # No rows were found, so do nothing.
        pass
    else:
        # At least one row was found, so iterate over, all the rows, including the first one.
        for y in chain([first_atom], alerts_iterator):
            # test if candiate has alerted the company
            if userinfo == y.company:
                has_alerted = True
                break

    # leave the post method may be it weill be used later
    if request.method == 'POST':
        
        form = Profile_emp(data=request.POST,  user=request.user)
        if form.is_valid():
            form.save()
            message = messages.add_message(request, messages.INFO, 'données enregistrées avec succée')
            return HttpResponseRedirect('/profile/')
        else:
            message = messages.add_message(request, messages.INFO, 'erreur durant la savegarde  ')
            return render_to_response('./profile/profile.html', locals(), context_instance=RequestContext(request))
    else:
        form = EmployerInfoForm(user=request.user)
        return render_to_response('./profile/company.html', locals(), context_instance=RequestContext(request))