Editing a sandwich works fully.
[~kgodey/maayanwich.git] / views.py
index dc62977..b3ffff0 100644 (file)
--- a/views.py
+++ b/views.py
@@ -39,7 +39,7 @@ def add_sandwich(request):
                                for n in y:
                                        if n.isdigit():
                                                newsandwich.ingredients.add(Ingredient.objects.get(id=n))
-                                       else:
+                                       elif n[:4] == 'new:' and len(n) > 4:
                                                n = n.lstrip('new:')
                                                newingredient = Ingredient(name=n, slug=SlugifyUniquely(n, Ingredient))
                                                newingredient.save()
@@ -54,6 +54,7 @@ def add_sandwich(request):
                
 def edit_sandwich(request, slug):
        sedit = Sandwich.objects.get(slug=slug)
+       ingred = sedit.ingredients.all()
        if request.user.is_authenticated():
                if not sedit.user == request.user:
                        return HttpResponseRedirect(reverse('all_sandwiches'))
@@ -64,6 +65,8 @@ def edit_sandwich(request, slug):
                                        sedit.adjective = request.POST['adjective']
                                        sedit.date_made = request.POST['date_made']
                                        sedit.notes = request.POST['notes']
+                                       for ig in sedit.ingredients.all():
+                                               sedit.ingredients.remove(ig)
                                        if request.POST['picture']:
                                                sedit.picture = request.POST['picture']
                                        x = request.POST['ing']
@@ -72,7 +75,7 @@ def edit_sandwich(request, slug):
                                        for n in y:
                                                if n.isdigit():
                                                        sedit.ingredients.add(Ingredient.objects.get(id=n))
-                                               else:
+                                               elif n[:4] == 'new:' and len(n) > 4:
                                                        n = n.lstrip('new:')
                                                        newingredient = Ingredient(name=n, slug=SlugifyUniquely(n, Ingredient))
                                                        newingredient.save()
@@ -81,7 +84,7 @@ def edit_sandwich(request, slug):
                                        return HttpResponseRedirect(sedit.get_absolute_url())
                        else:
                                sform = SandwichForm(instance=sedit)
-                       return render_to_response('editsandwich.html', {'sform': sform, 's':sedit,}, context_instance=RequestContext(request))
+                       return render_to_response('editsandwich.html', {'sform': sform, 's':sedit, 'prepop': ingred, }, context_instance=RequestContext(request))
        else:
                return HttpResponseRedirect(reverse('login2'))