Editing a sandwich works fully.
authorKriti Godey <kriti.godey@gmail.com>
Fri, 19 Mar 2010 21:21:21 +0000 (17:21 -0400)
committerKriti Godey <kriti.godey@gmail.com>
Fri, 19 Mar 2010 21:21:21 +0000 (17:21 -0400)
templates/editsandwich.html
views.py

index 912b6bb..b90b5aa 100644 (file)
@@ -8,11 +8,17 @@
 <link rel="stylesheet" href="{{ media_url }}sandwiches/token-input.css" type="text/css" />
 <link rel="stylesheet" href="{{ media_url }}sandwiches/datePicker.css" type="text/css" />
 <script type="text/javascript">
+
 $(document).ready(function () {
   $("#id_ing").tokenInput("/ajaxfun/", {
        hintText: "Type an ingredient!",
        noResultsText: "No ingredients!",
-       searchingText: "Searching..."
+       searchingText: "Searching...",
+       prePopulate: [
+               {% for i in prepop %}
+                       {id: '{{i.pk}}', name: '{{i.name}}' },
+               {% endfor %}
+               ]
 });
 });
 </script>
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'))