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
Jorge Manrubia
f58a1aeb31
Use a dedicated resource for showing cards in draft mode
...
Mobile team needs this. Also, this lets us get rid from some conditionals for handling
both modes with a single template.
https://3.basecamp.com/2914079/buckets/44843469/messages/9437287330
2026-01-08 10:40:21 +01:00
Mike Dalessio
a7c9b7479c
saas: move log_level setting into an environment variable
2026-01-07 11:24:22 -05:00
Jeremy Daer
0634ddaebd
Fix 1Password account ID (was user UUID) ( #2278 )
2025-12-31 13:58:01 -08:00
Jeremy Daer
cda4f93e4a
Switch 1Password account to 37signals.1password.com ( #2276 )
2025-12-31 10:15:39 -08:00
Andy Smith
4ca13516be
Add padding to upgrade message on larger screens
2025-12-29 13:54:43 -06:00
Jason Zimdars
d977d51501
This link is reduntant if you're over the limits
...
No need to show this link and the big upgrade button. The subtle footer
link is for people who *want* to ugprade but don't *need* to.
2025-12-23 12:30:37 -06:00
Jason Zimdars
2f9d6bf7cd
Add obvious upgrade button when you're out of storage
2025-12-23 12:28:15 -06:00
Jason Zimdars
0875d7369c
Merge pull request #2241 from basecamp/improve-account-admin
...
Internaly only view
2025-12-23 12:21:19 -06:00
Andy Smith
fdcdd5b542
Merge pull request #2214 from basecamp/billing-decimals
...
Ensure 2 decimal precision when dealing with currency decimals
2025-12-23 12:18:19 -06:00
Jason Zimdars
472b1a1cad
Internaly only view
...
Adds plan name and indicates when overrides exceed limits; cleans up UI
at bit
2025-12-23 12:02:18 -06:00
Andy Smith
64970feb24
Better name for helper method
2025-12-23 10:53:00 -06:00
Fernando Álvarez
037559fb25
Set beta site automatically in deployment
2025-12-23 12:27:03 +01:00
Fernando Álvarez
78d3a72cc4
Update script to configure betas load balancers
2025-12-23 12:27:03 +01:00
Fernando Álvarez
dbb8113080
Extend the number of Beta environments
2025-12-23 12:27:03 +01:00
Fernando Álvarez
43dd149ff2
Cleanup beta deployment
...
Current beta runs in Chicago only.
2025-12-23 10:17:30 +01:00
Andy Smith
1f16936b2e
Move currency helper to existing subscriptions helpers file
2025-12-19 15:47:04 -06:00
Andy Smith
43b67e92ad
Ensure 2 decimal precision when dealing with currency decimals
2025-12-19 15:43:49 -06:00
Jorge Manrubia
766cde4775
Tidy up test
2025-12-19 15:15:00 +01:00
Mike Dalessio
28250b340c
Move the :fatal log setting into the SaaS config
...
This should only be set if the app is using the
rails-structured-logging gem, which means it should only be set in the
SAAS config. I think this is just something we missed in one of the
decoupling exercises we did.
2025-12-19 09:09:40 -05:00
Jorge Manrubia
5ab6b1299e
Restoring kamal secrets we lost when moving back to Fizzy
2025-12-19 10:49:16 +01:00
Jason Zimdars
dd59771c94
Use current plan because you might be on the extra storage plan
2025-12-18 07:25:20 -06:00
Jorge Manrubia
b44b7ba992
Add method to locate plans by the stripe price id
2025-12-18 10:05:13 +01:00
Jorge Manrubia
d9ce1577c0
Fix upgrade/downgrade buttons
...
- Remove old buttons I had added before the UI work.
- Fix: make new upgrade button use the dedicated action.
- Add symmetric downgrade button.
2025-12-18 10:05:13 +01:00
Jorge Manrubia
7bf701095c
Fix tests after the UI/copy changes
2025-12-18 10:05:13 +01:00
Jorge Manrubia
0f9d1df31b
Format
2025-12-18 10:05:13 +01:00
Jason Zimdars
8bb59f507b
Cherry-pick changes in b87ae1494a
2025-12-18 10:05:13 +01:00
Jason Zimdars
d8b3485812
Copy edits for limit notices
2025-12-18 10:04:15 +01:00
Jason Zimdars
b1a65bd698
Consistency
2025-12-18 10:04:15 +01:00
Jason Zimdars
cfd2033d15
Design paid plan screen
2025-12-18 10:04:15 +01:00
Jason Zimdars
95bfc40392
Tweak plan name
2025-12-18 10:04:15 +01:00
Jason Zimdars
5f4330cbcc
Update free plan partial to include storage limits
2025-12-18 10:04:15 +01:00
Jorge Manrubia
b326f78d02
More idiomatic
2025-12-18 10:04:15 +01:00
Jorge Manrubia
3b99aa5dcf
Remove unused method
2025-12-18 10:04:15 +01:00
Jorge Manrubia
00cab8ad7a
Add tests for subscription-related messaging
2025-12-18 10:04:15 +01:00
Jorge Manrubia
4e6274d59a
Consider storage when preventing backend card creation and publishing too
2025-12-18 10:04:15 +01:00
Jorge Manrubia
68cec74436
Extract parent class, validate plans can be downgraded/upgraded
2025-12-18 10:04:15 +01:00
Jorge Manrubia
c56dbb5f1e
Add upgrade/downgrade options
2025-12-18 10:04:15 +01:00
Jorge Manrubia
9c8c56cdb8
Comped plans use the extra storage variant
2025-12-18 10:04:15 +01:00
Jorge Manrubia
61c2277362
Place nearing variant above for consistency
2025-12-18 10:04:15 +01:00
Jorge Manrubia
fc2848ea89
Initial storage notices
2025-12-18 10:04:15 +01:00
Jorge Manrubia
823cf9fbb9
Add some methods to deal with storage limits
2025-12-18 10:04:15 +01:00
Jorge Manrubia
8205823588
Add button to buy extra-storage subscriptions
2025-12-18 10:04:15 +01:00
Jorge Manrubia
a1a67c65f5
Extract partials
2025-12-18 10:04:15 +01:00
Jorge Manrubia
611e1cc97e
Add additional plan for extra storage
2025-12-18 10:04:15 +01:00
Mike Dalessio
605f4ed2a4
Move deploy broadcast to the saas gem
2025-12-17 12:46:00 -05:00
Andy Smith
caefa72748
Remove testing logic
2025-12-17 11:26:59 -06:00
Andy Smith
b87ae1494a
Better upgrde footer on mobile
2025-12-17 11:26:37 -06:00
Andy Smith
2956ea3f90
Fix divider above subscription footer
2025-12-17 11:07:38 -06:00
Jeremy Daer
c691d39ecf
Integrate fizzy-saas as vendored gem at saas/
...
- Update Gemfile.saas to use path: "saas" instead of GitHub source
- Update config/database.yml to reference local saas/ directory
- Update bin/setup to source saas/bin/setup directly
- Remove redundant dotfiles (ruby-version, gitignore, rubocop, github workflows)
- Add saas/db exclusions to root rubocop config
2025-12-16 12:25:22 -08:00