@@ -279,6 +279,12 @@ def render(template_name, override_theme=None, **kwargs):
279279 if x != 'general'
280280 and x in nonblocked_categories)
281281
282+ if 'all_categories' not in kwargs:
283+ kwargs['all_categories'] = ['general']
284+ kwargs['all_categories'].extend(x for x in
285+ sorted(categories.keys())
286+ if x != 'general')
287+
282288 if 'selected_categories' not in kwargs:
283289 kwargs['selected_categories'] = []
284290 for arg in request.args:
@@ -286,11 +292,13 @@ def render(template_name, override_theme=None, **kwargs):
286292 c = arg.split('_', 1)[1]
287293 if c in categories:
288294 kwargs['selected_categories'].append(c)
295+
289296 if not kwargs['selected_categories']:
290297 cookie_categories = request.cookies.get('categories', '').split(',')
291298 for ccateg in cookie_categories:
292299 if ccateg in categories:
293300 kwargs['selected_categories'].append(ccateg)
301+
294302 if not kwargs['selected_categories']:
295303 kwargs['selected_categories'] = ['general']
296304