Example #1
0
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
        })
Example #2
0
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,
        },
    )
Example #3
0
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))
Example #4
0
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)
                              )
Example #5
0
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))
Example #6
0
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))
Example #9
0
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))
Example #10
0
    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
Example #11
0
    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))
Example #13
0
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))
Example #14
0
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)
                              )