e8d865d0ab
Wire up events for creating new public reports
...
This involved moving a lot of stuff to the platform layer since I don't
want event interfaces leaking out.
Also this includes a fix to the user authentication which I had
previously broken by making a platform-layer user object independent of
the database layer.
2026-03-13 17:56:24 +00:00
44c4f17f32
Massive rework of platform layer user/organization
...
The goal of this rework is to make it so I can pass around platform.User
instead of a pair of models.Organization and models.User. This is useful
for reason I kind of forget now, but it started with working on
notifications and ballooned massively from there into refactoring a
number of things that were bugging me.
This also includes a tiny amount of work on server-side events (SSE).
* background stuff lives inside the platform now, which I need for
having it push updates through SSE
* userfile now lives in the platform, under file, so other platform
functions can safely use it
* oauth is broken into pieces and inside platform because other stuff
was calling it already, but badly.
* notifications go into the platform as well
2026-03-12 23:49:16 +00:00
e09c412139
Make it possible to handle null reporter_contact_consent
2026-03-11 23:00:06 +00:00
182fd7d229
Fix quoting in insertFlyover
...
I didn't know I could do this when I wrote it.
2026-03-11 22:54:22 +00:00
3ccc05d4c5
Save tiles to the database to make empty tile load faster
2026-03-11 17:01:47 +00:00
3743d63692
Add proxy for managing tiles
2026-03-11 14:28:59 +00:00
741b60485c
Add some files I missed in earlier commits
2026-03-09 23:26:44 +00:00
ce6c6c1cc1
Initial render of standing water reports from the public
2026-03-09 22:59:21 +00:00
f6ce5f91a2
Match up distance from reporter in UI and API
2026-03-09 22:18:24 +00:00
93d767c9d6
Reference new distance from report for photos
2026-03-09 22:10:15 +00:00
4cd0e05996
Add distance from report to image data
2026-03-09 22:09:35 +00:00
1be8c24235
Serialize EXIF data for images
2026-03-09 19:24:02 +00:00
7c98a52133
Provide time-of-day as fully expanded in JSON
2026-03-09 19:23:34 +00:00
d1f542efe9
Fix image entities getting passed to frontend
2026-03-09 19:09:59 +00:00
d2eecdef90
Create address records from nuisance report data if provided
2026-03-09 19:09:42 +00:00
66beb30d93
Properly encode lat/lng on location
2026-03-09 18:29:03 +00:00
e932c2c473
Rework publicreport addressing
...
This adds the ability to link a proper address in the database to the
report and harmonizes the field names with the address table. It also
migrates away from mapbox entirely.
And I fixed the "pool" naming for the publicreports, which are supposed
to be the more generic 'water'.
2026-03-09 18:02:22 +00:00
884634a2d7
Split apart comms logic into platform-lever funcs
2026-03-09 15:03:01 +00:00
e1bcbf79b1
Add tile cache and relationship to organization map layer
2026-03-06 21:13:32 +00:00
4494bd97cf
Rename address.geom to address.location
...
It's a better name.
2026-03-06 19:46:41 +00:00
3bc5b1c945
Add missing organization links in pool commit logic
2026-03-06 19:00:47 +00:00
527e82031e
Remove a bunch of generated bob, add feature and review tasks
2026-03-06 18:56:30 +00:00
1a22b9233d
Get much more data about signals to send to the planning dash
2026-03-05 03:17:45 +00:00
78a35e5d1f
Make parcels attached to addresses optional
2026-03-05 02:30:12 +00:00
5fa4be483b
Move uploads to 'committing' when we start comitting them
2026-03-05 02:24:51 +00:00
9345412f73
Make it possible to fail to find parcels for an address
2026-03-05 02:24:10 +00:00
dcafb14238
Fix reference to number column in address
2026-03-05 02:21:13 +00:00
31c6bf3a64
Make sure to commit the transaction when committing the CSV
2026-03-05 02:20:45 +00:00
eb03cb5857
Initialize stadia maps client on startup
2026-03-05 02:14:24 +00:00
60344e3c30
Relate compliance report requests through leads
2026-03-05 01:22:21 +00:00
a28377d8f8
Fix outside district count
2026-03-04 22:04:22 +00:00
9c3d2ba3df
Remove organization from fileupload.pool table, fix in district logic
2026-03-04 20:59:57 +00:00
8e00d3e04b
Fix setting the file to "parsed" when starting parse job
2026-03-04 19:27:33 +00:00
daa8cb1748
Push geocoding down a layer
...
This makes it possible to always save address information from our
geocoder.
2026-03-04 18:29:52 +00:00
6a5a59f8b8
Merge aerial flyover and pool CSV row datatypes
...
They are extremely similar, having both was just extra work.
2026-03-04 14:52:34 +00:00
ff2ec0ad14
Split out ability to upload flyover data from pool uploads
...
Tons of changes here, all in the name of quickly getting to where I can
create test compliance letters.
2026-03-02 18:49:02 +00:00
89eda187be
Get map images working
2026-03-01 20:33:16 +00:00
7def74d2c3
Fix parsing envelope out of the database
2026-02-28 23:27:13 +00:00
985a2ab186
Add new platform functions for image tile and parcel
2026-02-28 23:16:43 +00:00
2bb4a134b2
Add centroid information when geocoding
...
I would use the boundary rect, but I'm getting a 500-level error from
stadia maps
2026-02-25 16:08:32 +00:00
8feabbc489
Add bulk geocoding by goroutine worker
...
This is nearly as fast, and doesn't require the corp-only license from
stadia map which is 10x the cost.
2026-02-25 14:57:28 +00:00
d375105de4
Remove chatty debug log line
2026-02-24 20:34:56 +00:00
4e8cb0568e
Translate "empty" as "dry" in pool conditions
2026-02-24 20:34:46 +00:00
efbef12080
Only show CSV as parse after geocoding.
2026-02-24 20:34:32 +00:00
1a98039264
Add missing upload platform source file
2026-02-24 20:08:57 +00:00
6180860ac0
Fix update of file upload statistics
2026-02-24 20:07:39 +00:00
c8f5408f27
Add link from root upload page to upload pool detail page.
2026-02-24 20:02:44 +00:00
9cbb81f347
Wire up sudo email form to send emails
...
Probably.
2026-02-18 08:50:49 +00:00
5a7c9fd090
Move data out of import.district and in to organization
...
Then get the organization settings page to work again.
Tons of other stuff is broken now.
2026-02-17 05:33:12 +00:00
a65f1e0776
Fix up attaching errors to rows
2026-02-16 17:59:18 +00:00