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
Lukáš Kucharczyk
7781efd849
Add more stats
...
* All finished games
* All finished 2023 games
* All finished games that were purchased this year
* Total sessions
* Days played
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
9fa95758bf
stats: change overall stats table layout
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
b81989a352
Model changes
...
* More fields are now optional. This is to make it easier to add new items in bulk.
* Game: Wikidata ID
* Edition: Platform, Year
* Purchase: Platform
* Platform: Group
* Session: Device
* New fields:
* Game: Year Released
* To record original year of release
* Upon migration, this will be set to a year of any of the game's edition that has it set
* Purchase: Date Finished
* Editions are now unique combination of name and platform
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
5e6a5a4024
simplify playtime range display
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
288bf65afb
Version 1.3.0
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
1d0bafd72d
Make some pages redirect back instead to session list
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
db9ac2edeb
Add more stats
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
2076fe20d1
Extend stats range to 2018
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
ff30962ce9
Remove cruft
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
d06e284426
Group by game instead of purchase
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
1f36a32b3d
Reorder imports in views.py
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
e87f985cb3
Remove hardcoded year
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
8ca62f32e3
Make navigation more compact
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
5bc04c463a
Add stats link, year selector
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
0130ab0059
Limit stats of single year correctly
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
df5e605582
Version 1.2.0
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
ade8a47c86
Add yearly stats page
...
Fixes #15
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
4dd6f13160
Add a button to start session from game overview
...
Fix #62
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
50f0571144
Add more time tests for fractional numbers
2023-11-18 09:22:25 +01:00
Lukáš Kucharczyk
3fae309ff2
Do not format as float if no precision specified
2023-11-18 09:22:25 +01:00