Commit Graph

23 Commits

Author SHA1 Message Date
Stanko Krtalić eceb6c9b43 Add self-service account deletion (#2246)
* Add self-service account deletion

* Disable access to cancelled accounts & implement Stripe interactions

* Add tests

* Fix failing tests

* Remove cancelled accounts from lists

* Fix incorrect redirect

* Use _path instead of _url for consistency

* Don't track how far the inicieration job got

We still want the step tracking so that the job can be interrupted. But, since the scope is idempotent, we don't need to track how far it got.

* Specify the exact time when the data will be deleted

* Fix crash due to unadvancable cursor

* Rename up_for_incineration to due_for_incineration

* Regenrate the schema

* Fix incorrect path check

* Migrate the SQLite schema

* Only show the cancel button on cancellable accounts

* Check that a subscirption method exists before calling it

* Ignore job failures due to missing records when an account gets deleted

* Skip sending notifications on cancelled accounts

* Use collbacks to integrate

* Add a blank line between queue_as and discard_on

* Break checks into methods

* Inline methods

* Rename Account::IncinerateJob

* Run migrations

* Migrate SQLite
2026-01-12 14:21:05 +01:00
Mike Dalessio db51b616bb Handle notifs created before the current bundle starts_at 2025-11-22 22:38:23 -05:00
Mike Dalessio a29dd89683 Make sure Bundle#ends_at is set before validation
otherwise we risk creating overlapping bundles and not catching it.
2025-11-22 22:19:05 -05:00
Stanko K.R. cc41a42221 Fix missing avatars in notification bundle emails 2025-11-20 10:33:42 +01:00
Donal McBreen fc56ad9d7c Combine uuid-old and uuid branch changes
- Switch to binary 16 for UUID keys
- Remove AccountScopedRecord base class, all model use binary uuids now
- Fix the search sql to serialize uuids properly
- Patch the MySQL schema dumper to output binary lengths
2025-11-17 09:12:34 -05:00
Mike Dalessio e4011ef211 Update primary keys on customer data to UUIDs
- schema changes to primary and foreign keys
- fixture changes
- customer data models subclass AccountScopedRecord
- import script updated
2025-11-17 09:12:30 -05:00
Mike Dalessio b5197fe6d3 Fix notifications to use the user's account 2025-11-17 09:11:57 -05:00
Stanko K.R. ba3f6b188e Add account_id to everything 2025-11-17 09:11:42 -05:00
Jorge Manrubia 7f918ca73f Fix: use user timezone when delivering notification emails 2025-10-16 06:35:27 +02:00
Jorge Manrubia a6eb928688 Fix: update ends_at when flushing bundles
If not, it can happen that the bundlers remains in a delivered state
even when it is not covering its window anymore because it has been delivered.
2025-09-16 12:10:06 +02:00
Jorge Manrubia 0e3d25707c Debug the overlapping bundle 2025-09-15 14:01:57 +02:00
Jorge Manrubia b51af8b5da Extract method and make sure we don't deliver emails when notification setting is set to never
This should be prevented by the current design, but let's be a bit defensive here.
2025-09-01 12:17:13 +02:00
Jorge Manrubia 5fe66dd602 Fix job class 2025-08-28 17:37:35 +02:00
Jorge Manrubia c1c359f030 Review existing bundles when changing the pending bundles 2025-08-28 12:29:40 +02:00
Jorge Manrubia ccceeb1699 Add method for delivery job 2025-08-27 15:48:27 +02:00
Jorge Manrubia 47fb35948b It does not make sense to differentiate unread notifications 2025-08-26 18:15:08 +02:00
Jorge Manrubia d99a835184 Format 2025-08-26 17:41:04 +02:00
Jorge Manrubia bf63df7d4a Format 2025-08-26 17:02:51 +02:00
Jorge Manrubia 0126aed6d7 Make sure they don't overlap on creation 2025-08-26 16:59:01 +02:00
Jorge Manrubia 8ba6f5fe8e Validate we don't create overlapping bundles 2025-08-26 16:49:36 +02:00
Jorge Manrubia b47064b47e Don't expand bundles when adding cards. Leave the aggregation time fixed for now 2025-08-26 15:42:16 +02:00
Jorge Manrubia c1605b5972 Initial templates for notifications 2025-08-26 14:21:38 +02:00
Jorge Manrubia cfafc54a81 Deliver emails for bundled notifications (initial WIP) 2025-08-26 13:22:22 +02:00