Tim Abbott
f83871c182
corporate: Consistently use delivery_email for billing.
...
This is yet another corner case where EMAIL_ADDRESS_VISIBILITY_ADMINS
broke existing code.
2019-11-18 17:02:57 -08:00
Anders Kaseorg
93b1c3d94b
settings: Extract config file functions to a module.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-11-13 12:38:45 -08:00
Anders Kaseorg
cafac83676
request: Tighten type checking on REQ.
...
Then, find and fix a predictable number of previous misuses.
With a small change by tabbott to preserve backwards compatibility for
sending `yes` for the `forged` field.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-11-13 12:35:55 -08:00
Rishi Gupta
0b39263ec0
billing: Rename get_seat_count to get_latest_seat_count.
...
This will help as our billing system becomes more async to accommodate
on-prem billing.
2019-10-21 16:06:18 -07:00
Mateusz Mandera
bbf2474bd0
tests: setUp overrides should call super().setUp().
...
MigrationsTestCase is intentionally omitted from this, since migrations
tests are different in their nature and so whatever setUp()
ZulipTestCase may do in the future, MigrationsTestCase may not
necessarily want to replicate.
2019-10-19 17:27:01 -07:00
Rishi Gupta
e10361a832
models: Replace is_guest and is_realm_admin with UserProfile.role.
...
This new data model will be more extensible for future work on
features like a primary administrator.
2019-10-06 16:24:37 -07:00
Anders Kaseorg
7494f1600c
templates: Move page_params from an inline script to the <body> dataset.
...
This sidesteps tricky escaping issues, and will make it easier to
build a strict Content-Security-Policy.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-09-17 16:06:33 -07:00
Vishnu Ks
d472d30c28
requirements: Upgrade stripe pip package from 2.21.0 to 2.35.0.
2019-08-19 11:09:33 -07:00
Vishnu KS
6c8d837401
stripe: Don't check value of realm_id directly in tests.
...
Value of realm_id varies from one development environment
to another from time to time. So we will just check whether
realm_id is a number instead.
2019-08-19 11:09:33 -07:00
Mateusz Mandera
d3d62f99e4
tests: Adjust to new changes in populate_db.
2019-07-31 16:01:37 -07:00
Wyatt Hoodes
45e37d16c3
corporate/views: Fix typing errors.
2019-07-29 15:23:52 -07:00
Greg Price
de66b3b0f1
corporate: Add a /jobs page, with job posts for mobile/fullstack.
...
With various edits from Rishi and Tim.
2019-05-22 22:20:58 -07:00
Anders Kaseorg
9a9de156c3
lint: Fix calls to _() on computed strings.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-04-23 15:23:03 -07:00
Rishi Gupta
1a7a449572
billing: Add backend support for downgrading.
2019-04-11 23:27:42 -07:00
Rishi Gupta
babaaf82fe
billing: Update json endpoints test to allow more flexibility.
...
Slight loss in functionality, but doing the mocks correctly for every view
will be more work than the test is worth.
2019-04-11 23:20:29 -07:00
Rishi Gupta
a529080f01
billing: Rename add_plan_renewal_to_license_ledger_if_needed.
2019-04-11 23:20:29 -07:00
Rishi Gupta
03d21c6317
billing: Refactor renewal_amount to return 0 instead of None.
2019-04-11 23:20:29 -07:00
Rishi Gupta
447ae77b24
billing: Add another live CustomerPlan.status.
...
Only CustomerPlan.ACTIVE is being used in the code / in production, so don't
need a db migration to move the other CustomerPlan.status constants around.
2019-04-11 23:20:29 -07:00
Rishi Gupta
4430f78aa3
billing: Rename next_renewal_date to start_of_next_billing_cycle.
2019-04-11 23:20:29 -07:00
Rishi Gupta
2270d4d192
billing: Try paying invoices when user puts a new card on file.
...
Previously, when users got a "payment failed" email from Stripe (e.g. if
their card failed on renewal), they would enter in a new card on
/billing#payment-method, and wouldn't find out if the card worked till
Stripe retried the payment 4 days later.
2019-04-05 13:36:03 -07:00
Rishi Gupta
5d970cc09b
billing: Upgrade to Stripe API version 2019-03-14.
...
No breaking changes.
2019-04-05 11:24:45 -07:00
Rishi Gupta
28a586e502
billing: Add default value for event_time in invoice_plans_as_needed.
2019-04-05 11:24:45 -07:00
Vishnu Ks
ca1276961d
billing: Create get_discount_for_realm function.
2019-03-11 12:01:11 -07:00
Anders Kaseorg
f5197518a9
analytics/zilencer/zproject: Remove unused imports.
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-02-02 17:31:45 -08:00
Anders Kaseorg
4e21cc0152
views: Remove unused imports.
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-02-02 17:23:43 -08:00
Rishi Gupta
8f7e38c559
billing: Remove deprecated billing tables and fields from corporate/models.
2019-01-31 15:12:43 -08:00
Rishi Gupta
55179f913c
billing: Remove references to Customer.has_billing_relationship.
2019-01-31 15:12:43 -08:00
Vishnu Ks
18ffec626f
billing: Use -- instead of : in fixture files.
...
It's not safe to use ":" in filenames.
Fixes #11320
2019-01-31 12:26:00 -08:00
Rishi Gupta
a37558b021
billing: Update get_seat_count to incorporate guests.
2019-01-30 10:35:01 -08:00
Rishi Gupta
db6e6472b1
billing: Set idempotency key to None when running test suite.
2019-01-30 10:35:01 -08:00
Rishi Gupta
60f2213451
billing: Change seat count to 6 in tests.
...
We were about to make it 7 anyway by changing the definition of
get_seat_count. Hopefully 6 will be a bit more future proof.
2019-01-30 10:35:01 -08:00
Rishi Gupta
1b0b72c827
billing: Change upgrade errors from info to warning.
2019-01-29 07:46:52 -08:00
Rishi Gupta
81745ba171
billing: Show licenses_used and better renewal information on /billing.
2019-01-29 07:38:24 -08:00
Rishi Gupta
4ccbeeb4a9
billing: Add an event_time argument to renewal_amount.
2019-01-29 07:37:21 -08:00
Rishi Gupta
a5324b6ea7
billing: Add a test for a race condition in process_initial_upgrade.
2019-01-29 07:01:31 -08:00
Rishi Gupta
9018ef5175
billing: Do not require a Stripe account to store Customer discounts.
2019-01-29 06:09:11 -08:00
Rishi Gupta
21b51ba8d1
billing: Remove mix option from backend.
2019-01-29 06:09:11 -08:00
Rishi Gupta
4aa2ac1b52
billing: Add functions for automatic invoicing of plans.
2019-01-28 16:04:11 -08:00
Rishi Gupta
421cda0e34
billing: Adding invoicing fields to CustomerPlan.
2019-01-28 16:04:11 -08:00
Rishi Gupta
fe280fc38c
billing: Create StripeTestCase.
2019-01-28 16:04:11 -08:00
Rishi Gupta
83a7595feb
billing: Update next_renewal_date to take an event_time.
...
Also changes a < into a <= in add_plan_renewal_to_license_ledger_if_needed.
2019-01-28 16:04:11 -08:00
Rishi Gupta
7c11fe819a
billing: Update license ledger when users are added and removed.
2019-01-28 16:04:11 -08:00
Rishi Gupta
03c71dad17
billing: Fix misuses of CustomerPlan.discount.
2019-01-28 16:04:11 -08:00
Rishi Gupta
ad7a7b246e
billing: Move license management from CustomerPlan into its own table.
2019-01-19 16:00:44 +05:30
Rishi Gupta
7958ac96a8
billing: Use CASCADE instead of models.CASCADE in models.py.
...
models.CASCADE will make lines too long in models we're about to add.
2019-01-18 11:46:17 +05:30
Rishi Gupta
112eb01728
billing: Remove PLAN_NAMES and other legacy code.
2019-01-18 11:46:17 +05:30
Rishi Gupta
955dfc6397
billing: Remove references to Realm.has_seat_based_plan.
2018-12-24 10:27:56 -08:00
Rishi Gupta
7c38300949
billing: Add info line to logger for failed upgrades.
2018-12-24 10:27:56 -08:00
Rishi Gupta
653416ab23
billing: Update /billing to work with new subscription model.
2018-12-23 00:18:21 -08:00
Rishi Gupta
e7220fd71f
billing: Do subscription management in-house instead of with Stripe Billing.
...
This is a major rewrite of the billing system. It moves subscription
information off of stripe Subscriptions and into a local CustomerPlan
table.
To keep this manageable, it leaves several things unimplemented
(downgrading, etc), and a variety of other TODOs in the code. There are also
some known regressions, e.g. error-handling on /upgrade is broken.
2018-12-22 13:39:30 -08:00