f4756637d6
Tell the user when they don't give us an address
...
Issue: #25
2026-05-24 21:27:16 +00:00
e3cc1e99d1
Update storage of reporter in contact
...
I failed to retrieve the data correctly before as part of the changeover
to contact records.
Issue: #13
2026-05-21 23:12:36 +00:00
d120ed05f2
Emit communication updated events when reports change
/ golint (push) Failing after 10s
2026-05-21 04:26:07 +00:00
5e103f46a0
Fix populating water report from ID, make ContactSimple
...
ContactSimple is the replacement for ContactReporter, which was the
simplified form of a contact from a report. I made the name more generic
and use it in the general report structures for consistency.
2026-05-21 03:23:10 +00:00
75d0283453
Emit communication creation event for submitting compliance reports
2026-05-20 23:55:45 +00:00
66dc3a171e
Create communication creation events for non-compliance reports
2026-05-20 23:53:52 +00:00
7237f5f666
Move internal references to new source hosting
/ golint (push) Failing after 3m50s
2026-05-19 15:33:57 +00:00
3cafca6cbd
Set contact ID when creating a report
...
/ golint (push) Failing after 3m51s
For now we just set it to the empty contact, which is a bit weird, and
wrong until we fix the update logic.
2026-05-19 00:39:53 +00:00
f1fe8b4d2b
Add contacts, rework comms schema
...
This in a pretty huge change. At a high level we're adding the concept
of a 'contact' which is a person or organization that has zero or more
contact methods (email, phone). This ended up cascading a number of
changes, including critically to the publicreprt schema. In the end it
seemed safer to get to the point where I'm confident we aren't using any
of the old fields for storing reporter information (though I haven't
deleted the columns yet) so I removed the code for defining those
columns.
At this point I think it's not possible for me to regenerate the bob
schema due to the interdependencies between my various schemas, so the
migration is well-and-truly happening.
2026-05-15 16:58:28 +00:00
93510e4b2e
Properly insert nuisance and water public reports
2026-05-11 23:22:07 +00:00
7270de2937
lint: fix remaining errcheck issues across multiple files
...
- Fix renderShim errcheck in district.go, image.go
- Fix txn.Rollback/Commit in publicreport.go, notification, review, signal, upload
- Fix addError calls in csv/flyover.go, csv/pool.go
- Fix cW/write calls in logger.go, recoverer.go, voipms.go
- Fix resendInitialText, handleWaitingTextJobs, setPhoneStatus in text/send.go, text.go
- Fix populateDistrictURI/populateReportURI in resource files
2026-05-09 03:06:56 +00:00
935800e334
Switch to using the Gleipnir fork of jet
...
Because we need those sweet, sweet geometry columns
2026-05-09 01:48:56 +00:00
d1ba2f53fa
Fix setting address on compliance reports
...
This error was subtle. First, we want to set the GID and raw content
directly using the updater instead of doing two round trips because we
can. Second, we want to do some geocoding if the address isn't already
in the system. Likely it is, because the frontend would have requested a
geocode, but it's possible that it isn't.
2026-05-08 22:43:57 +00:00
24a3610c4c
Correctly build updaters with New
...
Otherwise we have nil columns
2026-05-08 22:22:52 +00:00
f2585c569c
Woops, actually set all columns on compliance because it doesn't have a serial key
2026-05-08 01:08:06 +00:00
61ad3fbe45
Remove string-based queries for public report data
...
Use the new jet hotness
2026-05-07 23:22:50 +00:00
fcd95f1a25
Get back to compiling, but using new jet for publicreport
...
This was an epically long change, and a terrible idea, but it compiles.
This was essentially a cascade that came about because I can't blend jet
and bob in the same transaction. In for a penny, I guess...
2026-05-07 10:39:17 +00:00
67c99436d1
Properly set submitted on PUT, return new status properties on comms
2026-05-02 00:41:31 +00:00
431435f8bd
Set the organization on inserted communications
2026-05-02 00:38:38 +00:00
57dc2023cd
Remove unused submit function
2026-05-02 00:38:12 +00:00
7f71ff9a2e
Send submit PUT on compliance report flow, create communication then
...
This makes it so that people don't see compliance reports as they're
being formulated in the communication workbench
2026-05-01 21:27:17 +00:00
a82732a49c
Return communication database rows from communication API
...
This is a pretty big refactor of how communication works to start moving
us in the direction we want to go long-term. This adds the new
communication row and migrates existing reports to add rows for
communication.
There's also a bunch of automatic fixes from the new linter. I should
have added them separately, but whatever.
2026-05-01 21:00:23 +00:00
a1b2d580a8
Return nil through on by id compliance
2026-04-29 20:37:36 +00:00
c6cb645453
Don't error out on missing report
2026-04-29 20:24:41 +00:00
2fbceb11e3
Don't bail on district match early, check address
...
This is the other half of doing proper district match via raw address -
we have to use the address if available for looking up a district.
2026-04-29 15:01:35 +00:00
524353bfa1
Geocode address if we only have a raw value
...
This will help with matching when the user does not select a suggested
address.
2026-04-29 13:55:10 +00:00
8bdd18649d
Separate out a public and non-public halves to publicreport APIs
...
This prevents us from leaking text messaging details on public
endpoints.
2026-04-28 06:36:55 +00:00
be8d92d7ae
Add 'submitted' field to compliance reports
2026-04-27 16:23:16 +00:00
a8819c907e
Add concern page to mailer compliance flow
2026-04-22 21:22:03 +00:00
fe2041f22b
Add an evidence field to compliance reports
...
This allows us to show a page with information about what the district
is concerned about when asking the user to fill a report.
2026-04-21 21:35:40 +00:00
f927b0a911
Split out ComplianceDistrict view for creating new compliance reports
...
The idea here is that we'll make compliance reports two different ways,
The first is if the user navigates to /district/:slug/compliance, the
second if they open a QR code from a mailer. In both cases we create the
report then feed them into a flow for updating the data on that report.
2026-04-21 14:35:13 +00:00
ffd424df12
Save the organization with the compliance report on creation
...
This avoids the problem of having to assign the compliance report later
when we get location data and image data.
2026-04-20 16:21:08 +00:00
2ea47f03f4
Start wiring together request for a mailer to database
2026-04-16 10:15:28 +00:00
fe41df3e16
Make publicreport by ID base redirect to detailed information
2026-04-14 16:07:17 +00:00
083c4ddae9
Save access information to database
2026-04-13 20:42:03 +00:00
ba76c8b1db
Return full compliance report on PUT
2026-04-13 19:32:22 +00:00
ffedae0373
Update address foreign key when updating the address
2026-04-13 19:22:41 +00:00
dcab2e1f8f
Fix failing to find matching address with publicreport
2026-04-13 17:19:20 +00:00
1a031f16bd
Update event types to include compliance reports
2026-04-13 16:59:11 +00:00
6f5b8f5575
Add implementation of insertAddresses
2026-04-12 19:42:37 +00:00
9ba99d5ceb
Remove now-empty report address fields
...
We'll instead create address rows and reference those
2026-04-12 18:33:41 +00:00
5306f8ba62
Populate nuisance and water public reports by ID
2026-04-12 18:02:42 +00:00
ae10e4fee8
Initial pattern for populating different report types
2026-04-12 17:53:25 +00:00
c8f74d3c26
Consistently use 'public' prefix for reports
2026-04-12 17:07:14 +00:00
a3c340f787
Split public report URIs by type
...
This allows us to have different signatures for the different types
2026-04-12 17:01:30 +00:00
4735734404
Helper functions for parsing geocode data
2026-04-10 22:34:34 +00:00
4060e7ddcd
Upload images on compliance report
2026-04-10 22:34:14 +00:00
12aedaf543
Update the address when provided on a report
2026-04-10 20:30:22 +00:00
bac55774f8
Switch address to contain an embedded location, start saving compliance
2026-04-10 16:59:29 +00:00
b23fc6edc5
Fix dodgy creation of compliance report in database
2026-04-10 15:38:05 +00:00