refactor todo packages a bit

This commit is contained in:
Dusty Phillips 2008-06-27 20:10:28 -04:00
parent acc6897713
commit fdaa35a938
3 changed files with 13 additions and 9 deletions

View File

@ -290,6 +290,15 @@ class Todolist(models.Model):
objects = TodolistManager()
def __str__(self):
return self.name
@property
def packages(self):
return TodolistPkg.objects.filter(list=self.id).order_by('pkg')
@property
def package_names(self):
return '\n'.join([p.pkg.pkgname for p in self.packages])
class Meta:
db_table = 'todolists'

View File

@ -44,7 +44,7 @@ <h2 class="title">ToDo List: {{ list.name }}</h2>
</tr>
</thead>
<tbody>
{% for pkg in pkgs %}
{% for pkg in list.packages %}
<tr class="{% cycle even,odd %}">
<td><a href="/packages/{{ pkg.pkg.id }}/">{{ pkg.pkg.pkgname }}</a></td>
<td>{{ pkg.pkg.arch.name }}</td>

View File

@ -41,11 +41,10 @@ def flag(request, listid, pkgid):
def view(request, listid):
list = get_object_or_404(Todolist, id=listid)
pkgs = TodolistPkg.objects.filter(list=list.id).order_by('pkg')
return render_response(
request,
'todolists/view.html',
{'list':list,'pkgs':pkgs})
{'list':list})
def list(request):
lists = Todolist.objects.order_by('-date_added')
@ -57,18 +56,14 @@ def list(request):
@permission_required('todolists.add_todolist')
def add(request):
if request.POST:
# create the list
form = TodoListForm(request.POST)
if form.is_valid():
todo = Todolist(
todo = Todolist.objects.create(
creator = request.user,
name = form.clean_data['name'],
description = form.clean_data['description'])
todo.save()
# now link in packages
for pkg in form.clean_data['packages']:
todopkg = TodolistPkg(list = todo, pkg = pkg)
todopkg.save()
TodolistPkg.objects.create(list = todo, pkg = pkg)
return HttpResponseRedirect('/todo/')
else:
form = TodoListForm()