Exemple #1
0
def view_your_flowgrams_thumb(request, enc, user, sort_criterion, prpusort, page):
    controller.record_stat(request, 'view_browse_userFGs_website', '0',
                               'FGs owner user id = ' + str(user.id))

    users_flowgrams = models.Flowgram.objects.filter(owner=user)

    fgs = {}

    page_owner = request.user == user
    if page_owner:
        active = 'you'
        activesecondary = 'viewall'

        if prpusort == 'private':
            fgs = users_flowgrams.filter(public=False)
        elif prpusort == 'public':
            fgs = users_flowgrams.filter(public=True)
        else:
            fgs = users_flowgrams

        fgs = fgs.order_by(helpers.convert_sort_criterion(sort_criterion, '-modified_at'))
    else:
        #TODO(cyap) figure out multiple views on this for owner/non-owners
        active = 'browse'
        activesecondary = 'viewalluser'

        fgs = users_flowgrams.filter(public=True)\
                  .order_by(helpers.convert_sort_criterion(sort_criterion, '-modified_at'))

    helpers.delete_blank_flowgrams(fgs)
        
    args = {'template_name': 'flowgram/view_your_flowgrams_thumb.html',
            'template_object_name': 'flowgram',
            'paginate_by': 14, 
            'allow_empty': True,
            'page': page,
            'extra_context': {
                'user': request.user,
                'u': user,
                'profile': user.get_profile(),
                'active': active,
                'subs_active': localsettings.FEATURE['subscriptions_fw'],
                'activesecondary': activesecondary,
                'pageowner': page_owner,
                'mostviewed': cached_sets.most_viewed()[:6],
                'display_mode': request.COOKIES.get('flowgram_results_filter_type', 'grid'),
                'num_favs': len(models.Favorite.objects.filter(owner=user)),
                'sort_criterion': sort_criterion,
                'pub_priv': prpusort,
                'multiple_owners': False,
                'sortable': True,
                'send_to_details': localsettings.FEATURE['send_to_details'],
                'posts': webhelpers.get_latest_fg_blog_posts(),
                },
            'queryset': fgs}
    return object_list(request, **args)
def view_favorites(request, enc, user, sort_criterion, prpusort):
    favs = models.Favorite.objects.filter(owner=user)
    
    controller.record_stat(request,
                           'view_favorites_website',
                           '0',
                           'fave owner user id = ' + str(user.id))
    
    fav_fgs = []
    for favorite in favs:
        flowgram = favorite.flowgram
        is_public_str = 'public' if flowgram.public else 'private'

        if request.user == user:
            if prpusort == 'all' or prpusort == is_public_str:
                fav_fgs.append(flowgram)
        elif flowgram.public:
            fav_fgs.append(flowgram)
    
    (page_owner, active) = (True, 'you') if request.user == user else (False, 'browse')
    
    fav_fgs = helpers.sort_flowgrams(fav_fgs,
                                     helpers.convert_sort_criterion(sort_criterion, '-modified_at'))
    
    extra_context = {
        'u': user,
        'profile': user.get_profile(),
        'fgs': fav_fgs,
        'active': active,
        'subs_active': localsettings.FEATURE['subscriptions_fw'],
        'activesecondary': 'favorites',
        'mostviewed': cached_sets.most_viewed()[:6],
        'pageowner': page_owner,
        'num_favs': len(fav_fgs),
        'sort_criterion': sort_criterion,
        'pub_priv': prpusort,
        'multiple_owners': True,
        'sortable': True,
        'send_to_details': localsettings.FEATURE['send_to_details'],
        'posts': webhelpers.get_latest_fg_blog_posts(),
    }
    
    return webhelpers.flowgram_lister(request,
                                      enc='html',
                                      queryset=fav_fgs,
                                      template_name='flowgram/view_favorites.html',
                                      extra_context=extra_context)