Example #1
0
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)
Example #2
0
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))
Example #3
0
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)