Lukáš Kucharczyk
cabcaebead
Fix form not syncing due to HTMX
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
047f67c4cb
Fix error
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
34118e1319
Re-instance gitea actions
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
bd07f19939
Update .drone.yml testing
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
78a50739a8
Formatting
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
a579ef7d7d
Move static files in prod
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
8ab2dcc950
Fix docker-compose.yml
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
ee4efae594
Improve Dockerfile
...
Major inspiration (aka direct theft) from https://github.com/wemake-services/wemake-django-template
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
b3eed84e1b
Fix .dockerignore
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
eb53a5983c
Remove Django admin
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
023736d544
Update dependencies
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
4a990bb6c6
Fix naive date
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
af85607ada
isort
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
978714125b
Improve time-related stuff
...
Add created_at to all models
Add modified_at to Session
Get rid of custom now() function
Make sure aware datetime is used everywhere
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
51ba5cfa20
Improve time-related stuff
...
Add created_at to all models
Add modified_at to Session
Get rid of custom now() function
Make sure aware datetime is used everywhere
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
a7dd0c5556
Only allow choosing purchases of selected edition
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
7b2dba7483
Name and related_purchase validation for non-games
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
250fa0ee9d
Sort imports, remove cruft
2023-11-18 09:22:26 +01:00
Lukáš Kucharczyk
952961a3ad
Fix wrong playrange ordering
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
1f9b3d5682
Improve how editions and purchases are displayed
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
c8e8ba8c8e
Game View: order editions by year
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
ab9c1d61dd
Version 1.5.1
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
d64ad125ff
Improve and cleanup ConditionalElementHandler
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
410f20acea
Improve purchase __str__
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
d280fa3798
Disallow choosing non-game purchase as related purchase
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
29d6cb8a4a
Version 1.5.0
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
c4fdefadb0
Order purchases by date on game view
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
7ba212e718
Add purchase types
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
7b459a2735
CI: run migrations before tests
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
f0822ff221
Make sure empty stats are 0
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
200819ceb0
Change stats years to 2000 up to current year
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
8a433616c4
Add stat for finished this year's games
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
809e8e2d7c
Fix detecting manual durations
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
528b7d78a1
Remove deprecated USE_L10N
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
5270525fc2
Add more tests
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
09faa8e6fd
Fix edge case in format_duration
...
Fixes #65
```python
def test_specific_precise_if_unncessary(self):
delta = timedelta(hours=2, minutes=40)
result = format_duration(delta, "%02.0H:%02.0m")
self.assertEqual(result, "02:40")
```
This test fails by returning "03:40" instead. The problem is in the way `format_duration` handles fractional hours.
To fix it, we need to switch between using hours and fractional hours
depending on if minutes are present in the formatted string.
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
87f50cedd2
Fix ordering
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
cbf872d21f
Also prefill year between game and edition
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
881e5df3d1
Version 1.4.0
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
fa6ac21b42
Adding new games is easier
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
01ce582b74
Refactor, remove cruft
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
827279fb3d
Add backlog decrease count
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
fa2b9b5c88
Fix sort names getting mangled
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
55ff3cd1a9
Pre-fill year when adding edition
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
68d1bfc2b9
UX improvements
...
* ignore English articles when sorting names
* added a new sort_name field that gets automatically created
* automatically fill certain values in forms:
* new game: name and sort name after typing
* new edition: name and sort name when selecting game
* new purchase: platform when selecting edition
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
4112d593f6
Fix hardcoded year
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
553030c08e
Order devices alphabetically on new session form
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
06a4319623
Use safe_division in more places
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
cb99d8b656
Fix potential division by zero
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
b8df870cca
Add more stats
...
* Finished (count)
* Unfinished (count)
* Refunded (count)
2023-11-18 09:22:25 +01:00