Filter out unnecessary columns in history table
This commit is contained in:
@@ -2,7 +2,7 @@ import django_tables2 as tables
|
||||
|
||||
from pprint import pprint
|
||||
from login.models import User
|
||||
from api.models import History, Track
|
||||
from api.models import History
|
||||
|
||||
class HistoryTable(tables.Table):
|
||||
class Meta:
|
||||
@@ -12,13 +12,6 @@ class HistoryTable(tables.Table):
|
||||
track_name = tables.Column(accessor='get_track_name', orderable=False)
|
||||
artists = tables.Column(accessor='get_artists', orderable=False)
|
||||
|
||||
# def render_track_name(self, record):
|
||||
# return record.track.name
|
||||
# return record.user
|
||||
|
||||
# def render_user(self, value):
|
||||
# return ''
|
||||
|
||||
def get_secret_context(user_secret):
|
||||
"""Return user_secret in context for graph pages.
|
||||
|
||||
@@ -27,30 +20,3 @@ def get_secret_context(user_secret):
|
||||
|
||||
"""
|
||||
return { 'user_secret': user_secret, }
|
||||
|
||||
|
||||
def get_user_history(user_secret):
|
||||
"""Return all stored history for corresponding User to user_secret.
|
||||
|
||||
:user_secret: User secret to get history for.
|
||||
:returns: list of lists of song history plus information.
|
||||
|
||||
"""
|
||||
user_id = get_user_id_from_secret(user_secret)
|
||||
history_fields = [field.name for field in History._meta.get_fields()]
|
||||
# don't need ordering bc. django-tables2?
|
||||
user_history = History.objects.filter(user__exact=user_id).order_by('-timestamp')
|
||||
# user_history = History.objects.filter(user__exact=user_id).order_by('-timestamp')
|
||||
user_history_table = HistoryTable(user_history)
|
||||
return { 'user_id': user_id,
|
||||
'history_fields': history_fields,
|
||||
'user_history_table': user_history_table, }
|
||||
|
||||
def get_user_id_from_secret(user_secret):
|
||||
"""Retrieve corresponding user_id for user_secret.
|
||||
|
||||
:user_secret:
|
||||
:returns: user_id
|
||||
|
||||
"""
|
||||
return User.objects.get(secret=user_secret).id
|
||||
|
||||
@@ -13,6 +13,7 @@ from datetime import datetime
|
||||
from django.shortcuts import render, redirect
|
||||
from .utils import *
|
||||
from django_tables2 import RequestConfig
|
||||
from api.models import History
|
||||
|
||||
# }}} imports #
|
||||
|
||||
@@ -49,8 +50,14 @@ def display_history_table(request, user_secret):
|
||||
:param user_secret: user secret used for identification
|
||||
:return: renders the user history page
|
||||
"""
|
||||
context = get_secret_context(user_secret)
|
||||
context.update(get_user_history(user_secret))
|
||||
RequestConfig(request).configure(context['user_history_table'])
|
||||
user_id = User.objects.get(secret=user_secret).id
|
||||
user_history = History.objects.filter(user__exact=user_id).order_by('-timestamp')
|
||||
history_table = HistoryTable(user_history)
|
||||
history_table.exclude = ('id', 'user', 'track', )
|
||||
RequestConfig(request).configure(history_table)
|
||||
|
||||
context = { 'user_history_table': history_table,
|
||||
'user_id': user_id, }
|
||||
|
||||
return render(request, "graphs/user_history.html", context)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user