parent
8918df1dfd
commit
791203c2dc
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
* Make it possible to edit sessions (https://git.kucharczyk.xyz/lukas/timetracker/issues/46)
|
* Make it possible to edit sessions (https://git.kucharczyk.xyz/lukas/timetracker/issues/46)
|
||||||
* Show markers on smaller graphs to make it clearer which dates the session belong to
|
* Show markers on smaller graphs to make it clearer which dates the session belong to
|
||||||
|
* Show only last 30 days on the homepage (https://git.kucharczyk.xyz/lukas/timetracker/issues/47)
|
||||||
|
|
||||||
## 1.0.0 / 2023-01-20 19:54+01:00
|
## 1.0.0 / 2023-01-20 19:54+01:00
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<div class="dark:bg-gray-800 min-h-screen">
|
<div class="dark:bg-gray-800 min-h-screen">
|
||||||
<nav class="mb-4 bg-white dark:bg-gray-900 border-gray-200 rounded">
|
<nav class="mb-4 bg-white dark:bg-gray-900 border-gray-200 rounded">
|
||||||
<div class="container flex flex-wrap items-center justify-between mx-auto">
|
<div class="container flex flex-wrap items-center justify-between mx-auto">
|
||||||
<a href="{% url 'index' %}" class="flex items-center">
|
<a href="{% url 'list_sessions_recent' %}" class="flex items-center">
|
||||||
<span class="text-4xl">⌚</span>
|
<span class="text-4xl">⌚</span>
|
||||||
<span class="self-center text-xl font-semibold whitespace-nowrap text-white">Timetracker</span>
|
<span class="self-center text-xl font-semibold whitespace-nowrap text-white">Timetracker</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{% extends 'base.html' %}
|
{% extends 'base.html' %}
|
||||||
|
|
||||||
{% block title %}Sessions{% endblock title %}
|
{% block title %}{{ title }}{% endblock title %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="text-center text-xl mb-4 dark:text-slate-400">
|
<div class="text-center text-xl mb-4 dark:text-slate-400">
|
||||||
|
|
|
@ -3,7 +3,7 @@ from django.urls import path
|
||||||
from games import views
|
from games import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("", views.index, name="index"),
|
path("", views.list_sessions, {"filter": "recent"}, name="list_sessions_recent"),
|
||||||
path("add-game/", views.add_game, name="add_game"),
|
path("add-game/", views.add_game, name="add_game"),
|
||||||
path("add-platform/", views.add_platform, name="add_platform"),
|
path("add-platform/", views.add_platform, name="add_platform"),
|
||||||
path("add-session/", views.add_session, name="add_session"),
|
path("add-session/", views.add_session, name="add_session"),
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
from zoneinfo import ZoneInfo
|
from zoneinfo import ZoneInfo
|
||||||
|
|
||||||
from common.plots import playtime_over_time_chart
|
from common.plots import playtime_over_time_chart
|
||||||
|
@ -73,6 +73,7 @@ def delete_session(request, session_id=None):
|
||||||
|
|
||||||
def list_sessions(request, filter="", purchase_id="", platform_id="", game_id=""):
|
def list_sessions(request, filter="", purchase_id="", platform_id="", game_id=""):
|
||||||
context = {}
|
context = {}
|
||||||
|
context["title"] = "Sessions"
|
||||||
|
|
||||||
if filter == "purchase":
|
if filter == "purchase":
|
||||||
dataset = Session.objects.filter(purchase=purchase_id)
|
dataset = Session.objects.filter(purchase=purchase_id)
|
||||||
|
@ -83,6 +84,11 @@ def list_sessions(request, filter="", purchase_id="", platform_id="", game_id=""
|
||||||
elif filter == "game":
|
elif filter == "game":
|
||||||
dataset = Session.objects.filter(purchase__game=game_id)
|
dataset = Session.objects.filter(purchase__game=game_id)
|
||||||
context["game"] = Game.objects.get(id=game_id)
|
context["game"] = Game.objects.get(id=game_id)
|
||||||
|
elif filter == "recent":
|
||||||
|
dataset = Session.objects.filter(
|
||||||
|
timestamp_start__gte=datetime.now() - timedelta(days=30)
|
||||||
|
)
|
||||||
|
context["title"] = "Last 30 days"
|
||||||
else:
|
else:
|
||||||
# by default, sort from newest to oldest
|
# by default, sort from newest to oldest
|
||||||
dataset = Session.objects.all().order_by("-timestamp_start")
|
dataset = Session.objects.all().order_by("-timestamp_start")
|
||||||
|
@ -139,10 +145,3 @@ def add_platform(request):
|
||||||
context["form"] = form
|
context["form"] = form
|
||||||
context["title"] = "Add New Platform"
|
context["title"] = "Add New Platform"
|
||||||
return render(request, "add.html", context)
|
return render(request, "add.html", context)
|
||||||
|
|
||||||
|
|
||||||
def index(request):
|
|
||||||
context = {}
|
|
||||||
context["total_duration"] = Session().duration_sum
|
|
||||||
context["title"] = "Index"
|
|
||||||
return render(request, "index.html", context)
|
|
||||||
|
|
|
@ -73,8 +73,8 @@ router.register(r"sessions", SessionViewSet)
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("api/", include(router.urls)),
|
path("", RedirectView.as_view(url="/tracker")),
|
||||||
path("api-auth/", include("rest_framework.urls", namespace="rest_framework")),
|
path("tracker/", include("games.urls")),
|
||||||
]
|
]
|
||||||
|
|
||||||
if settings.DEBUG:
|
if settings.DEBUG:
|
||||||
|
|
Loading…
Reference in New Issue