Major redesign #73
|
@ -1,7 +1,7 @@
|
|||
from django import forms
|
||||
from django.urls import reverse
|
||||
from common.utils import safe_getattr
|
||||
|
||||
from common.utils import safe_getattr
|
||||
from games.models import Device, Edition, Game, Platform, Purchase, Session
|
||||
|
||||
custom_date_widget = forms.DateInput(attrs={"type": "date"})
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends 'base.html' %}
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
|
@ -15,7 +15,7 @@
|
|||
hx-target=".responsive-table tbody"
|
||||
onClick="document.querySelector('#last-session-start').classList.add('invisible')"
|
||||
class="{% if last.timestamp_end == null %}invisible{% endif %}">
|
||||
{% include 'components/button_start.html' with text=last.purchase title="Start session of last played game" only %}
|
||||
{% include "components/button_start.html" with text=last.purchase title="Start session of last played game" only %}
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -100,12 +100,16 @@
|
|||
{% if edition.wikidata %}
|
||||
<span class="hidden sm:inline">
|
||||
<a href="https://www.wikidata.org/wiki/{{ edition.wikidata }}">
|
||||
<img class="inline mx-2 w-6" src="{% static 'icons/wikidata.png' %}" />
|
||||
<img class="inline mx-2 w-6"
|
||||
width="48"
|
||||
height="48"
|
||||
alt="Wikidata Icon"
|
||||
src="{% static 'icons/wikidata.png' %}" />
|
||||
</a>
|
||||
</span>
|
||||
{% endif %}
|
||||
{% url 'edit_edition' edition.id as edit_url %}
|
||||
{% include 'components/edit_button.html' with edit_url=edit_url %}
|
||||
{% include "components/edit_button.html" with edit_url=edit_url %}
|
||||
</li>
|
||||
<ul>
|
||||
{% for purchase in edition.game_purchases %}
|
||||
|
@ -113,14 +117,14 @@
|
|||
{{ purchase.get_ownership_type_display }}, {{ purchase.date_purchased | date:"Y" }}
|
||||
{% if purchase.price != 0 %}({{ purchase.price }} {{ purchase.price_currency }}){% endif %}
|
||||
{% url 'edit_purchase' purchase.id as edit_url %}
|
||||
{% include 'components/edit_button.html' with edit_url=edit_url %}
|
||||
{% include "components/edit_button.html" with edit_url=edit_url %}
|
||||
</li>
|
||||
<ul>
|
||||
{% for related_purchase in purchase.nongame_related_purchases %}
|
||||
<li class="sm:pl-12 flex items-center">
|
||||
{{ related_purchase.name }} ({{ related_purchase.get_type_display }}, {{ purchase.platform }}, {{ related_purchase.date_purchased | date:"Y" }}, {{ related_purchase.price }} {{ related_purchase.price_currency }})
|
||||
{% url 'edit_purchase' related_purchase.id as edit_url %}
|
||||
{% include 'components/edit_button.html' with edit_url=edit_url %}
|
||||
{% include "components/edit_button.html" with edit_url=edit_url %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
@ -151,7 +155,7 @@
|
|||
{% if session.timestamp_end %}-{{ session.timestamp_end | date:"H:i" }}{% endif %}
|
||||
({{ session.device.get_type_display | default:"Unknown" }}, {{ session.duration_formatted }})
|
||||
{% url 'edit_session' session.id as edit_url %}
|
||||
{% include 'components/edit_button.html' with edit_url=edit_url %}
|
||||
{% include "components/edit_button.html" with edit_url=edit_url %}
|
||||
{% if not session.timestamp_end %}
|
||||
{% url 'view_game_end_session' session.id as end_session_url %}
|
||||
<a class="flex bg-green-600 rounded-full px-2 w-7 h-4 text-white justify-center items-center"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import markdown
|
||||
from django import template
|
||||
from django.utils.safestring import mark_safe
|
||||
import markdown
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
|
|
@ -2,17 +2,7 @@ from datetime import datetime
|
|||
from typing import Any, Callable
|
||||
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
from django.db.models import (
|
||||
Avg,
|
||||
Count,
|
||||
ExpressionWrapper,
|
||||
F,
|
||||
Prefetch,
|
||||
Q,
|
||||
Sum,
|
||||
fields,
|
||||
)
|
||||
from django.db.models import Avg, Count, ExpressionWrapper, F, Prefetch, Q, Sum, fields
|
||||
from django.db.models.functions import TruncDate, TruncMonth
|
||||
from django.http import (
|
||||
HttpRequest,
|
||||
|
@ -20,10 +10,9 @@ from django.http import (
|
|||
HttpResponseBadRequest,
|
||||
HttpResponseRedirect,
|
||||
)
|
||||
from django.shortcuts import redirect, render
|
||||
from django.shortcuts import get_object_or_404, redirect, render
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from common.time import format_duration
|
||||
from common.utils import safe_division, safe_getattr
|
||||
|
|
|
@ -13,6 +13,7 @@ Including another URLconf
|
|||
1. Import the include() function: from django.urls import include, path
|
||||
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
|
||||
"""
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib import admin
|
||||
from django.contrib.auth import views as auth_views
|
||||
|
|
Loading…
Reference in New Issue