def homepage(request): """ I4P Homepage """ project_sheets = I4pProject.on_site.filter(best_of=True).order_by('?')[:14] project_translations = get_project_translations_from_parents(project_sheets, language_code=translation.get_language() ) latest_members = list(User.objects.filter(is_active=True).order_by('-date_joined')[:7]) random.shuffle(latest_members) data = request.GET context = {'project_sheets': project_sheets, 'project_translations': project_translations, 'last_members': latest_members, 'about_tab_selected' : True} filter_forms, extra_context = build_filters_and_context(data) context.update(filter_forms) context.update(extra_context) return render_to_response(template_name='pages/homepage.html', dictionary=context, context_instance=RequestContext(request) )
def search_form(request): additions = { 'search_form': SearchForm(), } filter_forms, extra_context = build_filters_and_context(request.GET) additions.update(extra_context) additions.update(filter_forms) return additions
def homepage(request): """ I4P Homepage """ project_sheets = I4pProject.objects.filter(best_of=True).order_by('?')[:14] project_translations = get_project_translations_from_parents( project_sheets, language_code=translation.get_language()) data = request.GET context = { 'project_sheets': project_sheets, 'project_translations': project_translations, 'about_tab_selected': True } filter_forms, extra_context = build_filters_and_context(data) context.update(filter_forms) context.update(extra_context) return render_to_response(template_name='homepage.html', dictionary=context, context_instance=RequestContext(request))
def homepage(request): """ I4P Homepage """ project_sheets = I4pProject.objects.filter(best_of=True).order_by('?')[:14] project_translations = get_project_translations_from_parents(project_sheets, language_code=translation.get_language() ) data = request.GET context = {'project_sheets': project_sheets, 'project_translations': project_translations, 'about_tab_selected' : True} filter_forms, extra_context = build_filters_and_context(data) context.update(filter_forms) context.update(extra_context) return render_to_response(template_name='homepage.html', dictionary=context, context_instance=RequestContext(request) )
def project_sheet_list(request): """ Display a listing of all projects """ language_code = translation.get_language() data = request.GET.copy() filter_forms_dict, extra_context = build_filters_and_context(data) ordered_project_sheets = I4pProjectTranslation.objects.none() filters = FilterSet(filter_forms_dict.values()) if filters.is_valid(): # First pass to filter project filtered_projects = filters.apply_to(queryset=I4pProject.objects.all(), model_class=I4pProject) # Second pass to select language project_sheet_ids = [] for project in filtered_projects: project_sheet = get_project_translation_from_parent(project, language_code, fallback_language='en', fallback_any=True) project_sheet_ids.append(project_sheet.id) i18n_project_sheets = I4pProjectTranslation.objects.filter(id__in=project_sheet_ids) # Third pass to filter sheet filtered_project_sheets = filters.apply_to(queryset=i18n_project_sheets, model_class=I4pProjectTranslation) # Fourth pass to order sheet if data.get("order") == "creation": ordered_project_sheets = filtered_project_sheets.order_by('-project__created') extra_context["order"] = "creation" elif data.get("order") == "modification": ordered_project_sheets = filtered_project_sheets.order_by('-modified') extra_context["order"] = "modification" else: ordered_project_sheets = filtered_project_sheets.order_by('-project__best_of', 'slug') if data.has_key('page'): del data["page"] extra_context["getparams"] = data.urlencode() extra_context["orderparams"] = extra_context["getparams"]\ .replace("order=creation", "")\ .replace("order=modification", "") extra_context["selected_tags"] = [int(t.id) for t in filter_forms_dict["themes_filter"].cleaned_data["themes"]] extra_context.update(filter_forms_dict) extra_context["filters_tab_selected"] = True return object_list(request, template_name='project_sheet/project_list.html', queryset=ordered_project_sheets, # paginate_by=12, allow_empty=True, template_object_name='project_translation', extra_context=extra_context)