def profile_detail(request, username): """ Build a list of projects that matches, if possible, the language of the viewer. If not possible, fall back to english, and if not available, first language. """ user = get_object_or_404(User, username__iexact=username) project_translation_list = get_project_translations_from_parents( user.projects.all().distinct()[:3], language_code=translation.get_language()) project_translation_ct = ContentType.objects.get_for_model( I4pProjectTranslation) # FIXME : UGLY AND DOESN'T WORK ! version_ids = [ int(id["object_id"]) for id in Version.objects.filter(content_type=project_translation_ct, revision__user=user).values( 'object_id').distinct()[:30] ] project_contrib_list = I4pProjectTranslation.objects.filter( id__in=version_ids) return userena_views.profile_detail( request, username, template_name='userena/profile_detail.html', extra_context={ 'project_translation_list': project_translation_list, 'project_contrib_list': project_contrib_list })
def profile_detail(request, username): """ Build a list of projects that matches, if possible, the language of the viewer. If not possible, fall back to english, and if not available, first language. """ user = get_object_or_404(User, username__iexact=username) project_translation_list = get_project_translations_from_parents( user.projects.all().distinct()[:3], language_code=translation.get_language() ) project_translation_ct = ContentType.objects.get_for_model(I4pProjectTranslation) # FIXME : UGLY AND DOESN'T WORK ! version_ids = [ int(id["object_id"]) for id in Version.objects.filter(content_type=project_translation_ct, revision__user=user) .values("object_id") .distinct()[:30] ] project_contrib_list = I4pProjectTranslation.objects.filter(id__in=version_ids) return userena_views.profile_detail( request, username, template_name="userena/profile_detail.html", extra_context={ "project_translation_list": project_translation_list, "project_contrib_list": project_contrib_list, }, )
def homepage(request): """ I4P Homepage """ cache_key = 'project_slider' res = cache.get(cache_key, None) if not res: 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()) res = project_sheets, project_translations cache.set(cache_key, res, 3600) else: project_sheets, project_translations = res 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 } return render_to_response(template_name='pages/homepage.html', dictionary=context, context_instance=RequestContext(request))
def homepage(request): """ I4P Homepage """ cache_key = 'project_slider' res = cache.get(cache_key, None) if not res: 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() ) res = project_sheets, project_translations cache.set(cache_key, res, 3600) else: project_sheets, project_translations = res 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} return render_to_response(template_name='pages/homepage.html', dictionary=context, context_instance=RequestContext(request) )
def slider_most_commented(request): """ Get the most commented projects """ count = int(request.GET.get('count', 14)) site = Site.objects.get_current() current_language_code = translation.get_language() i4pprojecttranslation_type = ContentType.objects.get_for_model( I4pProjectTranslation) comment_model = comments.get_model() req = comment_model.objects.filter( content_type__pk=i4pprojecttranslation_type.id).values( 'object_pk').annotate( comment_count=Count('object_pk')).order_by("-comment_count") parent_projects = site.projects.filter( id__in=[x['object_pk'] for x in req]) project_translations = get_project_translations_from_parents( parents_qs=parent_projects, language_code=current_language_code) return render_to_response( template_name='pages/home-blocks/slider.html', dictionary={'project_translations': project_translations}, context_instance=RequestContext(request))
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 get_custom(self, request, projects, **kwargs): self.define_language_code(request) localized_latest_projects = get_project_translations_from_parents(projects, self.language_code, "en", True) bundles = [self.build_bundle(obj=obj, request=request) for obj in localized_latest_projects] to_be_serialized = [self.full_dehydrate(bundle, for_list=True) for bundle in bundles] to_be_serialized = self.alter_list_data_to_serialize(request, to_be_serialized) return self.create_response(request, to_be_serialized)
def _slider_make_response(request, queryset): count = int(request.GET.get('count', 14)) project_translations = get_project_translations_from_parents(parents_qs=queryset[:count], language_code=request.LANGUAGE_CODE) return render_to_response(template_name='pages/home-blocks/slider.html', dictionary={'project_translations': project_translations}, context_instance=RequestContext(request))
def _slider_make_response(request, queryset): count = int(request.GET.get('count', 14)) project_translations = get_project_translations_from_parents( parents_qs=queryset[:count], language_code=request.LANGUAGE_CODE) return render_to_response( template_name='pages/home-blocks/slider.html', dictionary={'project_translations': project_translations}, context_instance=RequestContext(request))
def get_context_data(self, **kwargs): context = super(PartnerDetailView, self).get_context_data(**kwargs) partner = context['partner'] language_code = translation.get_language() context['partner_projects'] = get_project_translations_from_parents(parents_qs=partner.projects.all(), language_code=language_code, fallback_language='en', fallback_any=True) return context
def get_custom(self, request, projects, **kwargs): self.define_language_code(request) localized_latest_projects = get_project_translations_from_parents( projects, self.language_code, "en", True) bundles = [ self.build_bundle(obj=obj, request=request) for obj in localized_latest_projects ] to_be_serialized = [ self.full_dehydrate(bundle, for_list=True) for bundle in bundles ] to_be_serialized = self.alter_list_data_to_serialize( request, to_be_serialized) return self.create_response(request, to_be_serialized)
def slider_most_commented(request): """ Get the most commented projects """ count = int(request.GET.get('count', 14)) site = Site.objects.get_current() current_language_code = translation.get_language() i4pprojecttranslation_type = ContentType.objects.get_for_model(I4pProjectTranslation) comment_model = comments.get_model() req = comment_model.objects.filter(content_type__pk=i4pprojecttranslation_type.id).values('object_pk').annotate(comment_count=Count('object_pk')).order_by("-comment_count") parent_projects = site.projects.filter(id__in=[x['object_pk'] for x in req]) project_translations = get_project_translations_from_parents(parents_qs=parent_projects, language_code=current_language_code) return render_to_response(template_name='pages/home-blocks/slider.html', dictionary={'project_translations': project_translations}, 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 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) )