#Ajouter / Editer @user_passes_test(lambda u: not u.is_anonymous() , login_url='/cefinban/non_authorise') def manage_recette(request, r_slug=None): #decide between edit mode or add mode if r_slug: print "EDITER" try: manipulator = recettes.ChangeManipulator(r_slug) except recettes.RecetteDoesNotExist: raise Http404 else: manipulator = recettes.AddManipulator(r_slug) #11 being image_file manipulator.fields[12].validator_list.append(isValideImageWeight) if request.POST: new_data = request.POST.copy() new_data.update(request.FILES) # This has to be added #encode the receipt title as a slug like key new_data.appendlist('slug', slugify_fr(new_data['nom'])) #owner id new_data.appendlist('owner', request.user.id) #print new_data # If data was POSTed, we're trying to create a new Place. # Check for errors. errors = manipulator.get_validation_errors(new_data) if not errors: # image new_data.update(request.FILES) # No errors. This means we can save the data! manipulator.do_html2python(new_data) new_recette = manipulator.save(new_data) return HttpResponseRedirect("/cefinban/recettes/%s/%s/" % (slugify_fr(CATEGORY_CHOICES[int(new_recette.categorie)-1][1]), new_recette.slug)) else: # No POST, so we want a brand new form without any data or errors. errors = new_data = {} # Create the FormWrapper, template, context, response. form = formfields.FormWrapper(manipulator, new_data, errors) return render_to_response('recettes/add_recette', {'form': form, 'section':'ajouter'}, context_instance=DjangoContext(request))