def commande(request): class RequiredFormSet(BaseFormSet): def __init__(self, *args, **kwargs): super(RequiredFormSet, self).__init__(*args, **kwargs) for form in self.forms: form.empty_permitted = False TodoItemFormSet = formset_factory(CommandePizzaForm, max_num=10, formset=RequiredFormSet) if request.method == 'POST': # If the form has been submitted... todo_list_form = CommandeForm(request.POST) # A form bound to the POST data # Create a formset from the submitted data todo_item_formset = TodoItemFormSet(request.POST, request.FILES) if todo_list_form.is_valid() and todo_item_formset.is_valid(): todo_list = todo_list_form.save() for form in todo_item_formset.forms: todo_item = form.save(commit=False) todo_item.list = todo_list todo_item.save() return HttpResponseRedirect('thanks') # Redirect to a 'success' page else: print 'error' else: todo_list_form = CommandeForm() todo_item_formset = TodoItemFormSet() # For CSRF protection # See http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ c = {'todo_list_form': todo_list_form, 'todo_item_formset': todo_item_formset, } c.update(csrf(request)) return render_to_response('commande.html', c)
def caddie(request, page=1): """ Affiche le contenu du caddie """ page = int(page) util = request.user.utilisateur nbre_pages = math.ceil( GestionCommandes.NbreProduitsCaddie(util.login) / GestionCommandes.ARTICLES_PAGE ) if not 0 < page <= nbre_pages: page = 1 cps, total = _cadie_produits_total(util, page) adresses = GestionUtilisateurs.Adresses(util.login) if request.method == 'POST': # Passer commande form = CommandeForm(adresses, request.POST) if form.is_valid(): data = form.cleaned_data try: print(form.cleaned_data['adresse']) GestionCommandes.PasserCommande( request.user.utilisateur.login, form.cleaned_data['adresse'] ) return redirect('commandes') except: return redirect('caddie') else: form = CommandeForm(adresses) return render_to_response("caddie.html", { 'caddie_produits': cps, 'total': total, 'en_stock': GestionCommandes.CaddieEnStock(util.login), 'page': page, 'page_precedente': page-1 if page > 1 else False, 'page_suivante': page+1 if page < nbre_pages else False, 'form': form, }, context_instance=RequestContext(request))
def commande(request): class RequiredFormSet(BaseFormSet): def __init__(self, *args, **kwargs): super(RequiredFormSet, self).__init__(*args, **kwargs) for form in self.forms: form.empty_permitted = False TodoItemFormSet = formset_factory(CommandePizzaForm, max_num=10, formset=RequiredFormSet) if request.method == 'POST': # If the form has been submitted... todo_list_form = CommandeForm( request.POST) # A form bound to the POST data # Create a formset from the submitted data todo_item_formset = TodoItemFormSet(request.POST, request.FILES) if todo_list_form.is_valid() and todo_item_formset.is_valid(): todo_list = todo_list_form.save() for form in todo_item_formset.forms: todo_item = form.save(commit=False) todo_item.list = todo_list todo_item.save() return HttpResponseRedirect( 'thanks') # Redirect to a 'success' page else: print 'error' else: todo_list_form = CommandeForm() todo_item_formset = TodoItemFormSet() # For CSRF protection # See http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ c = { 'todo_list_form': todo_list_form, 'todo_item_formset': todo_item_formset, } c.update(csrf(request)) return render_to_response('commande.html', c)