Commit Graph

78 Commits

Author SHA1 Message Date
801017f316 doorcontrol: Add permissions requirements for assigning NFC cards
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 5m50s
2024-12-12 11:14:44 -05:00
638db1c0b7 doorcontrol: Add interface for adding/assigning UniFi Access NFC Cards
All checks were successful
Ruff / ruff (push) Successful in 1m2s
Test / test (push) Successful in 6m25s
2024-12-11 13:03:37 -05:00
df4abbbe2f doorcontrol: Add syncing of members and policies with UniFi Access 2024-12-11 13:03:05 -05:00
86b1ac42b2 doorcontrol: Fix setting is_26bit in hid.Credential.from_code() 2024-12-06 02:09:50 -05:00
b4329a5b77 doorcontrol: Keep better track of which cards are 26 bit
Some checks failed
Ruff / ruff (push) Successful in 34s
Test / test (push) Failing after 3m31s
2024-12-03 18:58:52 -05:00
64d8d1fcfb Allow assigning arbitrary NFC card numbers to members on HID doors
All checks were successful
Ruff / ruff (push) Successful in 1m53s
Test / test (push) Successful in 4m50s
2024-12-03 11:54:07 -05:00
de36c6844c doorcontrol: Convert HIDEvent.raw_card_number to TextField
Turns out that those are not just representing a uint, and can be much
longer. Also Text fields in Postgres doesn't have any performance
penalty.
2024-09-03 11:05:32 -04:00
b056eb04ed doorcontrol: Add some more debug logging in update_doors task
All checks were successful
Ruff / ruff (push) Successful in 1m14s
Test / test (push) Successful in 3m48s
2024-09-01 21:36:24 -04:00
ee48d286c2 doorcontrol: Fix Credential odd parity calculation
whoops!
2024-09-01 21:36:11 -04:00
bde7828865 doorcontrol: Show hex value in hid.Credential exceptions 2024-09-01 09:47:50 -04:00
33b01af78a doorcontrol: Explicity cast Credential.bits to Bits, as Bitstream is not hashable
All checks were successful
Ruff / ruff (push) Successful in 36s
Test / test (push) Successful in 3m7s
2024-09-01 02:21:34 -04:00
f29010469a doorcontrol: Define Credential as frozen to allow hashing
All checks were successful
Ruff / ruff (push) Successful in 32s
Test / test (push) Successful in 3m11s
2024-09-01 02:09:09 -04:00
5e6ae8ee75 doorcontrol: Fix divide by zero in access report deltas 2024-08-29 21:45:56 -04:00
ee61451759 Convert from MariaDB to PostgreSQL
MariaDB has become far too annoying/buggy, and there are some neat
features only available in PostgreSQL
2024-08-29 21:45:56 -04:00
97b746ba3a doorcontrol: Add basic unit tests for Credential 2024-08-29 21:45:56 -04:00
cbe684d918 doorcontrol: Move HID card number decoding out of database query
Not really needed, and hard to make portable
2024-08-29 21:45:56 -04:00
32a91315ef doorcontrol: Improve pagination behavior of DoorController.get_records()
Use `DR` method to get total count of elements then paginate by
defined page size, instead of hacky bad automatically sized pagination
2024-08-29 21:45:56 -04:00
e4c6fab011 doorcontrol: Simplify querystring handling using new querystring tag
Some checks failed
Ruff / ruff (push) Successful in 1m4s
Test / test (push) Failing after 5m1s
2024-08-17 00:26:22 -04:00
996331c7a0 doorcontrol: Remove broken hid tests 2024-08-09 01:47:32 -04:00
20fcac99a8 Apply Ruff's flake8-bugbear (B) rules 2024-08-09 01:47:32 -04:00
7b3dfef732 Apply Ruff's flake8-type-checking (TCH) rules 2024-08-09 01:47:32 -04:00
bef0191e12 Apply Ruff's flake8-no-pep420 (INP) rules 2024-08-09 01:47:32 -04:00
ab25da0aa1 Apply Ruff's flake8-builtins (A) rules 2024-08-09 01:47:32 -04:00
12271ef327 doorcontrol: Grant instructors access for ~1 hour around their class times
All checks were successful
Ruff / ruff (push) Successful in 57s
Test / test (push) Successful in 4m59s
Also the required foundation for #14
2024-06-07 09:42:40 -04:00
d8e6a69719 Apply ruff lint rule DJ012 for model internals ordering 2024-06-07 09:36:49 -04:00
eeb83388e1 Directly use q_task_group name in django-q2 ensure_scheduled helper
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 3m55s
2024-05-23 23:23:35 -04:00
4404223350 doorcontrol: Add "granted access" count to "detail by day" report
All checks were successful
Ruff / ruff (push) Successful in 29s
Test / test (push) Successful in 4m25s
2024-05-13 00:38:01 -04:00
007253cdfd doorcontrol: Add management command to scrape HID events 2024-05-13 00:30:47 -04:00
0944dd7992 Fix various type issues 2024-05-04 18:03:22 -04:00
029b4dff28 Split tables out of view modules into tables 2024-04-18 11:30:18 -04:00
5aadcccb2c doorcontrol: Fix typo in Door.card_formats
All checks were successful
Ruff / ruff (push) Successful in 1m25s
Test / test (push) Successful in 6m53s
2024-03-07 10:49:28 -05:00
b6280d701f doorcontrol: Migrate door updater over from memberPlumbing
All checks were successful
Ruff / ruff (push) Successful in 2m1s
Test / test (push) Successful in 7m20s
2024-02-23 18:39:41 -05:00
a660a73e96 doorcontrol: Switch initial migration to managed 2024-02-16 11:11:36 -05:00
9c071750f5 doorcontrol: Add min-width to "items per page" to fix Safari styling
All checks were successful
Ruff / ruff (push) Successful in 22s
2024-02-10 00:17:22 -05:00
d8b275fe74 doorcontrol: Add unique member count to "busiest..." reports
All checks were successful
Ruff / ruff (push) Successful in 22s
2024-02-09 12:23:55 -05:00
02080206c6 doorcontrol: Add "detail by day" access report 2024-02-09 12:23:55 -05:00
66b41e1448 doorcontrol: Store cardholder_id->member per door for correct stats 2024-02-09 12:23:55 -05:00
222f28de16 doorcontrol: Use less vertical space for filters in xs breakpoint
All checks were successful
Ruff / ruff (push) Successful in 21s
2024-02-08 10:49:43 -05:00
b582caebff doorcontrol: Add filtering by door to access reports
All checks were successful
Ruff / ruff (push) Successful in 22s
2024-02-08 10:47:32 -05:00
37feea9623 doorcontrol: Fix size of "items per page" input in reports 2024-02-08 10:45:08 -05:00
26514e60fb dashboard: Add more flexible Link Card dashboard fragment
with support for tooltips and accordions
2024-02-06 00:42:14 -05:00
8961542d14 Use decorator to keep track of group names for django-q2 tasks 2024-02-01 11:10:22 -05:00
0eab482893 Allow empty lines in templates 2024-01-26 14:13:46 -05:00
240ebc710d Apply missed djlint format 2024-01-26 14:03:46 -05:00
9f732d9b43 doorcontrol: Use input group for start date/end date in access reports 2024-01-26 14:00:30 -05:00
968a47c723 doorcontrol: Use django-filters for date range filter in access reports 2024-01-26 14:00:27 -05:00
5f59aac67e Use more generic location for table download component
All checks were successful
Ruff / ruff (push) Successful in 23s
2024-01-24 00:20:12 -05:00
8317ae83c2 doorcontrol: Use django-tables2 for access reports
All checks were successful
Ruff / ruff (push) Successful in 23s
2024-01-24 00:03:57 -05:00
4561e317b8 Enable/apply ruff's "flake6-simplify" rules 2024-01-19 15:16:47 -05:00
37cb41af1b Enable ruff's "pylint" rules 2024-01-18 14:21:36 -05:00