fix select all

This commit is contained in:
rolux 2011-12-19 17:20:06 +00:00
commit 80f90420db
3 changed files with 30 additions and 10 deletions

View file

@ -75,8 +75,11 @@ class List(models.Model):
l.item = item
l.save()
def remove(self, item):
ListItem.objects.all().filter(item=item, list=self).delete()
def remove(self, item=None, items=None):
if item:
ListItem.objects.all().filter(item=item, list=self).delete()
if items:
ListItem.objects.all().filter(item__itemId__in=items, list=self).delete()
def __unicode__(self):
return self.get_id()

View file

@ -4,6 +4,7 @@ from __future__ import division
import os
from django.db.models import Max, Sum
from django.db import transaction
from django.http import HttpResponseForbidden, Http404
from django.conf import settings
from ox.utils import json
@ -139,8 +140,9 @@ def addListItems(request):
list = get_list_or_404_json(data['list'])
if 'items' in data:
if list.editable(request.user):
for item in Item.objects.filter(itemId__in=data['items']):
list.add(item)
with transaction.commit_on_success():
for item in Item.objects.filter(itemId__in=data['items']):
list.add(item)
response = json_response(status=200, text='items added')
else:
response = json_response(status=403, text='not allowed')
@ -170,8 +172,7 @@ def removeListItems(request):
list = get_list_or_404_json(data['list'])
if 'items' in data:
if list.editable(request.user):
for item in list.items.filter(itemId__in=data['items']):
list.remove(item)
list.remove(items=data['items'])
response = json_response(status=200, text='items removed')
else:
response = json_response(status=403, text='not allowed')