def list_entries( request, feed_pk=None, unread=True, saved=False, template="yarr/list_entries.html", ): """ Display a list of entries Takes optional arguments to determine which entries to list: feed_pk Primary key for a Feed unread If true, show only unread unsaved entries saved If true, show only saved entries; priority over unread Note: an entry can only either be unread or saved, not both """ # Get entries queryset qs, feed = get_entries(request, feed_pk, unread, saved) # Paginate entries, pagination = utils.paginate(request, qs) # Base title if saved: title = 'Saved items' elif unread: title = 'Unread items' else: title = 'All items' # Tag feed to title if feed: title = '%s: %s' % (feed.title, title) return render_to_response(template, RequestContext(request, { 'title': title, 'entries': entries, 'pagination': pagination, 'feed': feed, 'saved': saved, 'unread': unread, 'yarr_settings': { 'control_fixed': settings.CONTROL_FIXED, 'add_jquery': settings.ADD_JQUERY, }, }))
def list_entries(request, feed_pk=None, unread=True, saved=False, template="yarr/list_entries.html"): """ Display a list of entries Takes optional arguments to determine which entries to list: feed_pk Primary key for a Feed unread If true, show only unread unsaved entries saved If true, show only saved entries; priority over unread Note: an entry can only either be unread or saved, not both """ # Saved has priority over unread if saved: unread = False # Get entries queryset qs, feed = get_entries(request, feed_pk, unread, saved) # Make list of available pks for this page available_pks = qs.values_list("pk", flat=True) # Paginate entries, pagination = utils.paginate(request, qs) # Base title if saved: title = "Saved items" elif unread: title = "Unread items" else: title = "All items" # Add tag feed to title if feed: title = "%s - %s" % (feed.title, title) # Get list of feeds for feed list feeds = models.Feed.objects.filter(user=request.user) # Determine current view for reverse current_view = "yarr-list_unread" if saved: current_view = "yarr-list_saved" elif not unread: current_view = "yarr-list_all" return render_to_response( template, RequestContext( request, { "title": title, "entries": entries, "available_pks": available_pks, "pagination": pagination, "feed": feed, "feeds": feeds, "saved": saved, "unread": unread, "current_view": current_view, "yarr_settings": { "control_fixed": settings.LAYOUT_FIXED, "add_jquery": settings.ADD_JQUERY, "api_page_length": settings.API_PAGE_LENGTH, }, }, ), )
def list_entries( request, feed_pk=None, unread=True, saved=False, template="yarr/list_entries.html", ): """ Display a list of entries Takes optional arguments to determine which entries to list: feed_pk Primary key for a Feed unread If true, show only unread unsaved entries saved If true, show only saved entries; priority over unread Note: an entry can only either be unread or saved, not both Takes a single querystring argument: order If "asc", order chronologically (otherwise reverse-chronologically). """ # Saved has priority over unread if saved: unread = False # Get entries queryset qs, feed = get_entries(request, feed_pk, unread, saved) ascending_by_date = request.GET.get('order', 'dsc') == 'asc' if ascending_by_date: qs = qs.order_by('date') else: qs = qs.order_by('-date') # Default ordering. # Make list of available pks for this page available_pks = qs.values_list('pk', flat=True) # Paginate entries, pagination = utils.paginate(request, qs) # Base title if saved: title = 'Saved items' elif unread: title = 'Unread items' else: title = 'All items' # Add tag feed to title if feed: title = '%s - %s' % (feed.title, title) # Get list of feeds for feed list feeds = models.Feed.objects.filter(user=request.user) # Determine current view for reverse current_view = 'yarr-list_unread' if saved: current_view = 'yarr-list_saved' elif not unread: current_view = 'yarr-list_all' return render(request, template, { 'title': title, 'entries': entries, 'available_pks': available_pks, 'pagination': pagination, 'feed': feed, 'feeds': feeds, 'saved': saved, 'unread': unread, 'ascending_by_date': ascending_by_date, 'current_view': current_view, 'yarr_settings': { 'layout_fixed': settings.LAYOUT_FIXED, 'add_jquery': settings.ADD_JQUERY, 'api_page_length': settings.API_PAGE_LENGTH, }, })
def list_entries( request, feed_pk=None, state=None, template="yarr/list_entries.html", ): """ Display a list of entries Takes optional arguments to determine which entries to list: feed_pk Primary key for a Feed state The state of entries to list; one of: None All entries ENTRY_UNREAD Unread entries ENTRY_SAVED Saved entries Takes a single querystring argument: order If "asc", order chronologically (otherwise reverse-chronologically). Note: no built-in url calls this with state == ENTRY_READ, but support exists for a custom url. """ # Get entries queryset qs, feed = get_entries(request, feed_pk, state) order = request.GET.get('order', ORDER_DESC) if order == ORDER_ASC: qs = qs.order_by('date') else: qs = qs.order_by('-date') # Make list of available pks for this page available_pks = list(qs.values_list('pk', flat=True)) # Paginate entries, pagination = utils.paginate(request, qs) # Base title if state is None: title = 'All items' elif state == ENTRY_UNREAD: title = 'Unread items' elif state == ENTRY_SAVED: title = 'Saved items' else: raise ValueError('Cannot list entries in unknown state') # Add tag feed to title if feed: title = '%s - %s' % (feed.title, title) # Get list of feeds for feed list feeds = models.Feed.objects.filter(user=request.user) # Determine current view for reverse if state is None: current_view = 'yarr-list_all' elif state == ENTRY_UNREAD: current_view = 'yarr-list_unread' elif state == ENTRY_SAVED: current_view = 'yarr-list_saved' return render( request, template, { 'title': title, 'entries': entries, 'pagination': pagination, 'feed': feed, 'feeds': feeds, 'state': state, 'order_asc': order == ORDER_ASC, 'constants': constants, 'current_view': current_view, 'yarr_settings': { 'add_jquery': settings.ADD_JQUERY, # JavaScript YARR_CONFIG variables 'config': utils.jsonEncode({ 'api': reverse('yarr-api_base'), 'con': '#yarr_con', 'initial_state': state, 'initial_order': order, 'initial_feed': feed_pk, 'layout_fixed': settings.LAYOUT_FIXED, 'api_page_length': settings.API_PAGE_LENGTH, 'title_template': settings.TITLE_TEMPLATE, 'title_selector': settings.TITLE_SELECTOR, 'available_pks': available_pks, 'url_all': { None: reverse('yarr-list_all'), ENTRY_UNREAD: reverse('yarr-list_unread'), ENTRY_SAVED: reverse('yarr-list_saved'), }, 'url_feed': { None: reverse('yarr-list_all', kwargs={'feed_pk': '00'}), ENTRY_UNREAD: reverse('yarr-list_unread', kwargs={'feed_pk': '00'}), ENTRY_SAVED: reverse('yarr-list_saved', kwargs={'feed_pk': '00'}), } }), }, })
def list_entries( request, feed_pk=None, state=None, template="yarr/list_entries.html", ): """ Display a list of entries Takes optional arguments to determine which entries to list: feed_pk Primary key for a Feed state The state of entries to list; one of: None All entries ENTRY_UNREAD Unread entries ENTRY_SAVED Saved entries Takes a single querystring argument: order If "asc", order chronologically (otherwise reverse-chronologically). Note: no built-in url calls this with state == ENTRY_READ, but support exists for a custom url. """ # Get entries queryset qs, feed = get_entries(request, feed_pk, state) order = request.GET.get('order', ORDER_DESC) if order == ORDER_ASC: qs = qs.order_by('date') else: qs = qs.order_by('-date') # Make list of available pks for this page available_pks = list(qs.values_list('pk', flat=True)) # Paginate entries, pagination = utils.paginate(request, qs) # Base title if state is None: title = 'All items' elif state == ENTRY_UNREAD: title = 'Unread items' elif state == ENTRY_SAVED: title = 'Saved items' else: raise ValueError('Cannot list entries in unknown state') # Add tag feed to title if feed: title = '%s - %s' % (feed.title, title) # Get list of feeds for feed list feeds = models.Feed.objects.filter(user=request.user) # Determine current view for reverse if state is None: current_view = 'yarr-list_all' elif state == ENTRY_UNREAD: current_view = 'yarr-list_unread' elif state == ENTRY_SAVED: current_view = 'yarr-list_saved' return render(request, template, { 'title': title, 'entries': entries, 'pagination': pagination, 'feed': feed, 'feeds': feeds, 'state': state, 'order_asc': order == ORDER_ASC, 'constants': constants, 'current_view': current_view, 'yarr_settings': { 'add_jquery': settings.ADD_JQUERY, # JavaScript YARR_CONFIG variables 'config': utils.jsonEncode({ 'api': reverse('yarr-api_base'), 'con': '#yarr_con', 'initial_state': state, 'initial_order': order, 'initial_feed': feed_pk, 'layout_fixed': settings.LAYOUT_FIXED, 'api_page_length': settings.API_PAGE_LENGTH, 'title_template': settings.TITLE_TEMPLATE, 'title_selector': settings.TITLE_SELECTOR, 'available_pks': available_pks, 'url_all': { None: reverse('yarr-list_all'), ENTRY_UNREAD: reverse('yarr-list_unread'), ENTRY_SAVED: reverse('yarr-list_saved'), }, 'url_feed': { None: reverse('yarr-list_all', kwargs={'feed_pk':'00'}), ENTRY_UNREAD: reverse('yarr-list_unread', kwargs={'feed_pk':'00'}), ENTRY_SAVED: reverse('yarr-list_saved', kwargs={'feed_pk':'00'}), } }), }, })