Commit Graph

248 Commits

Author SHA1 Message Date
Lukáš Kucharczyk 0cf3411f63
Make ending session from session list faster
Django CI/CD / test (push) Successful in 1m16s Details
Django CI/CD / build-and-push (push) Successful in 1m40s Details
2024-01-10 15:12:45 +01:00
Lukáš Kucharczyk aa669710e1
Change update_session to template partial
Django CI/CD / test (push) Failing after 1m3s Details
Django CI/CD / build-and-push (push) Has been skipped Details
2024-01-10 14:10:13 +01:00
Lukáš Kucharczyk 242833f886
Make it possible to drop purchases, or consider them infinite
Django CI/CD / build-and-push (push) Blocked by required conditions Details
Django CI/CD / test (push) Has been cancelled Details
2024-01-03 22:35:39 +01:00
Lukáš Kucharczyk 0cdfd3c298
Stats: optimize
Django CI/CD / test (push) Successful in 56s Details
Django CI/CD / build-and-push (push) Successful in 1m33s Details
2024-01-03 21:35:47 +01:00
Lukáš Kucharczyk a98b4839dd
Fix wrong unfinished purchases calculation
Django CI/CD / test (push) Successful in 1m10s Details
Django CI/CD / build-and-push (push) Successful in 1m42s Details
2024-01-02 20:03:59 +01:00
Lukáš Kucharczyk 1999f13cf2
stats: add first and last play
Django CI/CD / test (push) Successful in 1m12s Details
Django CI/CD / build-and-push (push) Successful in 1m36s Details
2024-01-01 18:42:14 +01:00
Lukáš Kucharczyk 8466f67c86
Fix errors caused by empty values
Django CI/CD / test (push) Successful in 1m10s Details
Django CI/CD / build-and-push (push) Successful in 1m41s Details
2024-01-01 18:21:50 +01:00
Lukáš Kucharczyk d9fbb4b896
Add title to stats page
Django CI/CD / build-and-push (push) Blocked by required conditions Details
Django CI/CD / test (push) Has been cancelled Details
2023-12-15 10:58:15 +01:00
Lukáš Kucharczyk 4ff3692606
Remove duplicate block
Django CI/CD / test (push) Successful in 1m34s Details
Django CI/CD / build-and-push (push) Successful in 1m29s Details
2023-11-30 18:05:52 +01:00
Lukáš Kucharczyk fde93cb875
Organize better 2023-11-30 17:35:44 +01:00
Lukáš Kucharczyk d1c3ac6079
Revert "Move GraphQL to separata app"
This reverts commit 6ac4209492.
2023-11-30 17:35:44 +01:00
Lukáš Kucharczyk cb380814a7
Move GraphQL to separata app 2023-11-30 17:35:44 +01:00
Lukáš Kucharczyk 5ef8c07f30
Initial working API 2023-11-30 17:35:44 +01:00
Lukáš Kucharczyk 9573c3b8ff
Better formatting
Django CI/CD / test (push) Successful in 1m11s Details
Django CI/CD / build-and-push (push) Successful in 1m22s Details
2023-11-29 22:26:43 +01:00
Lukáš Kucharczyk a245b6ff0f
Fix longest session formatting
Django CI/CD / test (push) Successful in 1m1s Details
Django CI/CD / build-and-push (push) Successful in 1m24s Details
Put space between hours and minutes
2023-11-29 09:08:10 +01:00
Lukáš Kucharczyk 6329d380b7
Editions are unique if name, platform OR year is different
Django CI/CD / test (push) Successful in 1m25s Details
Django CI/CD / build-and-push (push) Successful in 1m20s Details
2023-11-28 14:44:11 +01:00
Lukáš Kucharczyk 76fbc39fed
Disable hx-boost
Django CI/CD / test (push) Successful in 1m1s Details
Django CI/CD / build-and-push (push) Successful in 1m17s Details
2023-11-28 14:29:56 +01:00
Lukáš Kucharczyk 4b6734c173
Add width, height, alt to images 2023-11-28 14:29:11 +01:00
Lukáš Kucharczyk b505b5b430
Stats: add highest session average
Django CI/CD / test (push) Successful in 1m2s Details
Django CI/CD / build-and-push (push) Successful in 1m23s Details
2023-11-21 21:57:17 +01:00
Lukáš Kucharczyk 87553ebdc5
Add djlint pre-commit hook
Django CI/CD / test (push) Successful in 1m13s Details
Django CI/CD / build-and-push (push) Successful in 1m15s Details
2023-11-21 18:19:25 +01:00
Lukáš Kucharczyk ba4fc0cac5
Do not trigger hx-boost for non-submit buttons
Django CI/CD / test (push) Successful in 1m7s Details
Django CI/CD / build-and-push (push) Successful in 1m20s Details
2023-11-21 18:12:58 +01:00
Lukáš Kucharczyk 8cb0276215
Use better way to find out if model record exists 2023-11-21 18:03:01 +01:00
Lukáš Kucharczyk f9a51ee83d
Remove experimental layout 2023-11-21 18:03:01 +01:00
Lukáš Kucharczyk c9deba7d65
Add stats for most sessions, longest session 2023-11-21 17:02:44 +01:00
Lukáš Kucharczyk 9fccdfbff0
Make links colorful 2023-11-20 23:07:11 +01:00
Lukáš Kucharczyk d78139a5b3
Display finished DLCs in stats better
Django CI/CD / test (push) Successful in 1m6s Details
Django CI/CD / build-and-push (push) Successful in 1m26s Details
2023-11-20 21:56:16 +01:00
Lukáš Kucharczyk 7dc43fbf77
Fix wrong export name 2023-11-20 21:54:51 +01:00
Lukáš Kucharczyk 5442926457
Allow DLC to have date_finished set
Django CI/CD / test (push) Successful in 1m6s Details
Django CI/CD / build-and-push (push) Successful in 1m35s Details
2023-11-20 21:42:23 +01:00
Lukáš Kucharczyk db4c635260
Remote JavaScript files 2023-11-20 21:25:21 +01:00
Lukáš Kucharczyk c35b539c42 Merge sessions and notes
Django CI/CD / build-and-push (push) Successful in 1m9s Details
2023-11-17 21:20:33 +01:00
Lukáš Kucharczyk bbe5e072b2 Don't display prices if zero 2023-11-17 21:10:56 +01:00
Lukáš Kucharczyk 6fc2f623dc Apply djlint 2023-11-17 21:06:57 +01:00
Lukáš Kucharczyk 45bb2681c7 Use isort on migrations 2023-11-17 09:15:06 +01:00
Lukáš Kucharczyk dbb8ec3f9a Handle empty edition_id 2023-11-17 09:14:25 +01:00
Lukáš Kucharczyk 206b5f6d46 Prevent HTMX from messing up the initial state
Django CI/CD / build-and-push (push) Successful in 1m15s Details
2023-11-16 20:33:56 +01:00
Lukáš Kucharczyk b7e14ecc83 Account for no sessions
Django CI/CD / build-and-push (push) Successful in 1m21s Details
2023-11-16 20:29:08 +01:00
Lukáš Kucharczyk 912e010729 Enable hx-boost everywhere
Django CI/CD / build-and-push (push) Successful in 1m18s Details
2023-11-16 19:56:08 +01:00
Lukáš Kucharczyk a485237456 Fix form not syncing due to HTMX
Django CI/CD / build-and-push (push) Successful in 2m38s Details
2023-11-16 19:03:16 +01:00
Lukáš Kucharczyk c6ed577fe3 Formatting
continuous-integration/drone/push Build is failing Details
2023-11-16 16:27:41 +01:00
Lukáš Kucharczyk f2bb15e669 Fix naive date 2023-11-16 16:27:41 +01:00
Lukáš Kucharczyk c49177d63c isort 2023-11-16 16:27:41 +01:00
Lukáš Kucharczyk bd8d30eac1 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-16 16:27:41 +01:00
Lukáš Kucharczyk c44d8bf427 Improve time-related stuff
continuous-integration/drone/push Build is passing Details
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-15 19:14:09 +01:00
Lukáš Kucharczyk 3f037b4c7c Only allow choosing purchases of selected edition
continuous-integration/drone/push Build is passing Details
2023-11-15 14:25:42 +01:00
Lukáš Kucharczyk 8783d1fc8e Name and related_purchase validation for non-games 2023-11-15 13:04:47 +01:00
Lukáš Kucharczyk 9a1d24dbfd Sort imports, remove cruft 2023-11-15 12:19:31 +01:00
Lukáš Kucharczyk 4720660cff Fix wrong playrange ordering 2023-11-15 10:40:52 +01:00
Lukáš Kucharczyk e158bc0623 Improve how editions and purchases are displayed
continuous-integration/drone/push Build is passing Details
2023-11-15 10:37:24 +01:00
Lukáš Kucharczyk 8982fc5086 Game View: order editions by year 2023-11-14 21:19:36 +01:00
Lukáš Kucharczyk 2b4683e489 Improve and cleanup ConditionalElementHandler 2023-11-14 21:09:43 +01:00
Lukáš Kucharczyk cce810e8cf Improve purchase __str__ 2023-11-14 19:55:56 +01:00
Lukáš Kucharczyk 62cd17f702 Disallow choosing non-game purchase as related purchase 2023-11-14 19:55:19 +01:00
Lukáš Kucharczyk a745d16ec3 Order purchases by date on game view 2023-11-14 19:30:19 +01:00
Lukáš Kucharczyk ae079e36ec Add purchase types 2023-11-14 19:27:00 +01:00
Lukáš Kucharczyk d211326c3f Make sure empty stats are 0
continuous-integration/drone/push Build is failing Details
2023-11-12 08:01:12 +01:00
Lukáš Kucharczyk 270a291f05 Change stats years to 2000 up to current year 2023-11-12 07:50:12 +01:00
Lukáš Kucharczyk 13b750ca92 Add stat for finished this year's games 2023-11-12 07:40:29 +01:00
Lukáš Kucharczyk 015b6db2f7 Fix detecting manual durations
continuous-integration/drone/push Build is failing Details
2023-11-11 15:02:28 +01:00
Lukáš Kucharczyk 4517ff2b5a Fix ordering
continuous-integration/drone/push Build is passing Details
2023-11-09 21:43:17 +01:00
Lukáš Kucharczyk 884ce13e26 Also prefill year between game and edition
continuous-integration/drone/push Build is passing Details
2023-11-09 21:20:12 +01:00
Lukáš Kucharczyk 60d29090a1 Adding new games is easier 2023-11-09 21:11:28 +01:00
Lukáš Kucharczyk 1bc3ca057b Refactor, remove cruft 2023-11-09 19:35:57 +01:00
Lukáš Kucharczyk c2c0886451 Add backlog decrease count 2023-11-09 19:15:49 +01:00
Lukáš Kucharczyk b0be7b5887 Fix sort names getting mangled
continuous-integration/drone/push Build is passing Details
2023-11-09 15:41:46 +01:00
Lukáš Kucharczyk 099d989f16 Pre-fill year when adding edition 2023-11-09 15:20:30 +01:00
Lukáš Kucharczyk a879360ebd UX improvements
continuous-integration/drone/push Build is passing Details
* 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-09 14:49:00 +01:00
Lukáš Kucharczyk 866f2526e6 Fix hardcoded year 2023-11-09 10:10:44 +01:00
Lukáš Kucharczyk ce3c4b55f0 Order devices alphabetically on new session form
continuous-integration/drone/push Build is passing Details
2023-11-09 10:09:32 +01:00
Lukáš Kucharczyk c52cd822ae Use safe_division in more places 2023-11-09 10:06:14 +01:00
Lukáš Kucharczyk cdc6ca1324 Fix potential division by zero
continuous-integration/drone/push Build is passing Details
2023-11-09 09:18:49 +01:00
Lukáš Kucharczyk e7ed349356 Add more stats
continuous-integration/drone/push Build is passing Details
* Finished (count)
* Unfinished (count)
* Refunded (count)
2023-11-08 18:13:48 +01:00
Lukáš Kucharczyk 5052ca7dbf Add more stats
continuous-integration/drone/push Build is passing Details
* All finished games
* All finished 2023 games
* All finished games that were purchased this year
* Total sessions
* Days played
2023-11-08 16:24:22 +01:00
Lukáš Kucharczyk f408bfd927 stats: change overall stats table layout 2023-11-08 15:48:06 +01:00
Lukáš Kucharczyk 666dee33ba Model changes
continuous-integration/drone/push Build is passing Details
* 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-06 19:48:12 +01:00
Lukáš Kucharczyk e0b09e051a simplify playtime range display 2023-11-06 12:05:39 +01:00
Lukáš Kucharczyk a614b51d29 Make some pages redirect back instead to session list 2023-11-05 15:09:51 +01:00
Lukáš Kucharczyk e67aa3fda1 Add more stats
continuous-integration/drone/push Build is passing Details
2023-11-02 20:12:32 +01:00
Lukáš Kucharczyk 8423fd02b4 Extend stats range to 2018
continuous-integration/drone/push Build is passing Details
2023-11-02 15:32:57 +01:00
Lukáš Kucharczyk 2bd07e5f2d Remove cruft
continuous-integration/drone/push Build is passing Details
2023-11-02 15:14:57 +01:00
Lukáš Kucharczyk 058b83522c Group by game instead of purchase 2023-11-02 15:14:50 +01:00
Lukáš Kucharczyk f13ed8a078 Reorder imports in views.py
continuous-integration/drone/push Build is passing Details
2023-11-02 09:53:28 +01:00
Lukáš Kucharczyk 02d5adcb3c Remove hardcoded year 2023-11-02 09:52:59 +01:00
Lukáš Kucharczyk d6fb16bb74 Make navigation more compact 2023-11-02 09:52:42 +01:00
Lukáš Kucharczyk 71b90b8202 Add stats link, year selector 2023-11-02 09:20:09 +01:00
Lukáš Kucharczyk 3ee36932c3 Limit stats of single year correctly 2023-11-02 09:17:08 +01:00
Lukáš Kucharczyk 57d4fd7212 Add yearly stats page
Fixes #15
2023-11-01 20:35:52 +01:00
Lukáš Kucharczyk a5b2854bf6 Add a button to start session from game overview
continuous-integration/drone/push Build is passing Details
Fix #62
2023-10-13 19:22:43 +02:00
Lukáš Kucharczyk 0e2113eefd Display durations in a consistent manner
Fixes #61
2023-10-13 16:32:12 +02:00
Lukáš Kucharczyk 4ce15c44fc Add edit buttons to game overview, notes 2023-10-09 20:55:31 +02:00
Lukáš Kucharczyk 11b9c602de Improve game overview
- add counts for each section
- add average hours per session
2023-10-09 00:00:45 +02:00
Lukáš Kucharczyk 9a332593f4 Fix playtime range not working with manual session
continuous-integration/drone/push Build is passing Details
Fixes #55
2023-10-08 21:13:32 +02:00
Lukáš Kucharczyk 22935721ca Remove unused chart functionality
continuous-integration/drone/push Build is passing Details
2023-10-08 21:08:03 +02:00
Lukáš Kucharczyk 3db1724e22 Fix session being wrongly considered in progress
continuous-integration/drone/push Build is passing Details
Fixes #58
2023-10-04 18:12:13 +02:00
Lukáš Kucharczyk d2a9630b04 Fix date range on game overview
continuous-integration/drone/push Build is passing Details
2023-10-01 21:51:32 +02:00
Lukáš Kucharczyk e3ee832d3f Adjust game edit URL
continuous-integration/drone/push Build is passing Details
2023-10-01 21:28:20 +02:00
Lukáš Kucharczyk 7467e2732d Add game overview page
Fixes #8
2023-10-01 21:28:02 +02:00
Lukáš Kucharczyk ab41222f3c Switch fonts to WOFF2 2023-10-01 19:53:07 +02:00
Lukáš Kucharczyk 29bf3b1946 Further improve session list
continuous-integration/drone/push Build is passing Details
2023-09-30 19:44:35 +02:00
Lukáš Kucharczyk b5ffb3586b Update base.css 2023-09-30 16:25:19 +02:00
Lukáš Kucharczyk 49cc3ea0cc Improve session list
continuous-integration/drone/push Build is passing Details
Fixes #53
2023-09-30 15:55:38 +02:00
Lukáš Kucharczyk 440e1cfb71 Focus important fields on forms
continuous-integration/drone/push Build is passing Details
2023-09-30 12:40:02 +02:00
Lukáš Kucharczyk 1cbd8c5c55 Update generated CSS
continuous-integration/drone/push Build is passing Details
2023-09-20 19:06:04 +02:00
Lukáš Kucharczyk bc81a0ee8e Add hacky way to not reload page when starting/ending session
continuous-integration/drone/push Build is passing Details
Partially fixes #52
2023-09-20 18:54:54 +02:00
Lukáš Kucharczyk c5653977ff Add time copy button, improve session editing
continuous-integration/drone/push Build is passing Details
2023-09-18 20:21:05 +02:00
Lukáš Kucharczyk f151730ab6 Fix bug when filtering only manual sessions (#51)
continuous-integration/drone/push Build is passing Details
2023-09-18 19:37:54 +02:00
Lukáš Kucharczyk f469a67d94 add robots.txt
continuous-integration/drone/push Build is passing Details
2023-09-17 17:58:22 +02:00
Lukáš Kucharczyk 104ffc9d03 disable deleting sessions in code
continuous-integration/drone/push Build is passing Details
2023-09-17 17:17:22 +02:00
Lukáš Kucharczyk 6b52c0d4c4 disable deleting sessions
continuous-integration/drone/push Build is passing Details
2023-09-17 13:28:15 +02:00
Lukáš Kucharczyk cdb3b89b08 do not filter out refunded games when adding session
continuous-integration/drone/push Build is passing Details
2023-09-16 18:18:03 +02:00
Lukáš Kucharczyk 0b7da3550c Change recent session view to current year
continuous-integration/drone/push Build is passing Details
2023-09-14 18:49:16 +02:00
Lukáš Kucharczyk e1655d6cfa input datetime-local needs day to also be two digits
continuous-integration/drone/push Build is passing Details
2023-03-02 21:33:07 +01:00
Lukáš Kucharczyk 29c41865d0 Exclude refunded purchases from start session form
continuous-integration/drone/push Build is passing Details
2023-03-01 22:07:49 +01:00
Lukáš Kucharczyk d21b461726 Update styles
continuous-integration/drone/push Build is passing Details
2023-02-21 23:51:07 +01:00
Lukáš Kucharczyk fa4f1c4810 Improve forms, add helper buttons on add session form 2023-02-21 23:49:57 +01:00
Lukáš Kucharczyk 366c25a1ff Register Edition, Device in the admin UI 2023-02-20 22:01:20 +01:00
Lukáš Kucharczyk a3042caa20 Use date and datetime inputs
continuous-integration/drone/push Build is passing Details
Properly implements 4d91a76513
2023-02-20 21:33:15 +01:00
Lukáš Kucharczyk 7997f9bbb2 Sort games by name on edition form 2023-02-20 20:17:42 +01:00
Lukáš Kucharczyk b78c4ba9c5
Sync game name and edition name fields for QOL
continuous-integration/drone/push Build is passing Details
2023-02-20 18:21:48 +01:00
Lukáš Kucharczyk 468d05a9e2
Sort games alphabetically on edition form 2023-02-20 17:37:14 +01:00
Lukáš Kucharczyk 2640a49734
Version 1.0.3
continuous-integration/drone/push Build is passing Details
2023-02-20 17:18:26 +01:00
Lukáš Kucharczyk 65c175afb2
Allow editing filtered entities from session list 2023-02-20 17:16:19 +01:00
Lukáš Kucharczyk 0814071a26
Improve display of editions on purchase form 2023-02-20 17:15:21 +01:00
Lukáš Kucharczyk 5f845f866e
Sort platforms alphabetically on edition form 2023-02-20 17:14:43 +01:00
Lukáš Kucharczyk c3d4697470
Add wikidata ID and year for editions 2023-02-20 17:13:35 +01:00
Lukáš Kucharczyk 77293f03e9 Add icons
continuous-integration/drone/push Build is passing Details
2023-02-19 17:20:57 +01:00
Lukáš Kucharczyk 1fa364e2ec Change timetracker icon 2023-02-19 16:35:04 +01:00
Lukáš Kucharczyk 4a6f4a2f9a Add icons for session filters
continuous-integration/drone/push Build is passing Details
2023-02-19 16:18:14 +01:00
Lukáš Kucharczyk 9590988b6a Fix error when generating charts with less than 2 entries
continuous-integration/drone/push Build is passing Details
2023-02-19 14:55:06 +01:00
Lukáš Kucharczyk 938c82a395 Allow filtering by game, edition, purchase from the session list 2023-02-19 14:36:12 +01:00
Lukáš Kucharczyk 33939f631c Fix form styling
continuous-integration/drone/push Build is passing Details
2023-02-18 22:36:26 +01:00
Lukáš Kucharczyk 51d8e953c0 Allow editing editions 2023-02-18 21:47:25 +01:00
Lukáš Kucharczyk 2eec677f41 Allow editing purchases 2023-02-18 21:44:19 +01:00
Lukáš Kucharczyk f2eb14d3ef Fix session starting 2023-02-18 21:43:51 +01:00
Lukáš Kucharczyk c337d2200f Fix ownership display
continuous-integration/drone/push Build is passing Details
2023-02-18 21:12:44 +01:00
Lukáš Kucharczyk 8a8b05b0bd Add support for device info
Closes #49
2023-02-18 21:12:18 +01:00
Lukáš Kucharczyk 9446065271 Add support for purchase ownership information
Closes #48
2023-02-18 20:57:03 +01:00
Lukáš Kucharczyk 755093845d Add support for prices on purchases 2023-02-18 20:56:23 +01:00
Lukáš Kucharczyk d4ab0596da Re-introduce index view
continuous-integration/drone/push Build is passing Details
2023-02-18 20:50:36 +01:00
Lukáš Kucharczyk 8dcbe2f0ad Fix displaying of "filterying by..." text 2023-02-18 20:50:19 +01:00
Lukáš Kucharczyk 25bc74eff1 Add support for game editions (#28) 2023-02-18 20:49:46 +01:00
Lukáš Kucharczyk 8296ebcf31
Fix redirect to index
continuous-integration/drone/push Build is passing Details
2023-02-06 17:23:44 +01:00
Lukáš Kucharczyk 04a4f2e0be Order homepage sessions from newest
continuous-integration/drone/push Build is passing Details
2023-01-31 16:37:44 +01:00
Lukáš Kucharczyk 4892218c83 Show only last 30 days on homepage
Fixes #47
2023-01-30 22:16:28 +01:00
Lukáš Kucharczyk feee9d6dac Make it possible to edit sessions
continuous-integration/drone/push Build is passing Details
Fixes #46
2023-01-30 17:38:44 +01:00
Lukáš Kucharczyk ca16345374 Fix start session button starting different game than it says
Fixes #44
2023-01-20 19:57:45 +01:00
Lukáš Kucharczyk 3a3045be91 Sort form fields alphabetically
continuous-integration/drone/push Build is passing Details
Fixes #39
Fixes #40
2023-01-20 18:27:30 +01:00
Lukáš Kucharczyk 18e8f93261
Additional fixes
continuous-integration/drone/push Build is passing Details
2023-01-20 15:06:42 +01:00
Lukáš Kucharczyk 56e5dfaa03 Rename project, part 2 (#42)
continuous-integration/drone/push Build is failing Details
Reviewed-on: #42
2023-01-20 13:37:46 +00:00