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))
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))