from django.contrib.auth.decorators import login_required
from django.core.urlresolvers import reverse
from django.db.models import Q
-from django.http import HttpResponse
+from django.http import HttpResponse, QueryDict
from django.shortcuts import render, get_object_or_404
from django.utils.http import urlencode
from django.utils.timezone import UTC
from openid.extensions import ax
from pyqcg import QCG
-from qcg.forms import FiltersForm, JobDescriptionForm, EnvFormSet
+from qcg.forms import FiltersForm, ColumnsForm, JobDescriptionForm, EnvFormSet
from qcg.utils import update_user_data, paginator_context
checked_status = {i: widget.is_checked() for i, widget in enumerate(filters['status'])}
- context = {'filters': filters, 'checked_status': checked_status, 'selected_filters': selected_filters}
+ if 'columns' in request.COOKIES:
+ columns = ColumnsForm(QueryDict(request.COOKIES.get('columns')))
+
+ if 'columns' not in request.COOKIES or not columns.is_valid():
+ columns = ColumnsForm(QueryDict('columns=1&columns=2&columns=3&columns=4&columns=5&columns=6'))
+ columns.is_valid()
+
+ context = {'filters': filters, 'checked_status': checked_status, 'selected_filters': selected_filters,
+ 'columns': ColumnsForm(initial={'columns': columns.cleaned_data['columns']}),
+ 'displayed': {int(c) for c in columns.cleaned_data['columns']}}
+
context.update(paginator_context(request, tasks))
return render(request, 'qcg/jobs.html', context)