Rishi Gupta
9f2b8a4a11
billing: Move checks from process_initial_upgrade into separate function.
2018-08-06 11:05:33 -04:00
Rishi Gupta
5719633992
billing: Update and unify billing error handling.
2018-08-06 11:05:33 -04:00
Rishi Gupta
79dddd5b80
billing: Rename customer_with_active_subscriptiion.
2018-08-06 11:05:33 -04:00
Vishnu Ks
18a9e4fc9c
billing: Call mock directly in test_subscribe_customer_to_second_plan.
2018-08-06 11:05:33 -04:00
Vishnu Ks
e06957bef5
billing: Raise exceptions instead of returning errors in upgrade flow.
2018-08-06 11:05:33 -04:00
Vishnu Ks
8643c681f0
billing: Separate initial upgrade logic to another function.
2018-08-06 11:05:33 -04:00
Vishnu Ks
fa7b98030b
billing: Add mock for cancel at period end subscriptions.
2018-08-04 19:17:34 -04:00
Vishnu Ks
d89e07b8a7
billing: Add mock and test for extracting canceled subscription.
2018-08-04 19:17:34 -04:00
Vishnu Ks
84b148728f
billing: Don't mock functions in test_extract_current_subscription.
2018-08-04 19:17:34 -04:00
Vishnu Ks
c2023eaaa8
billing: Mention the exact type of stripe.Customers subscriptions attribute.
2018-08-04 19:17:34 -04:00
Vishnu Ks
036ad03b3a
billing: Mention the exact return type for mock functions.
2018-08-04 19:17:34 -04:00
Vishnu Ks
8bcd4131fe
billing: Rename retrieve_customer fixture.
2018-08-04 19:17:34 -04:00
Vishnu Ks
b7d3a1a0f3
billing: Don't check for stripe key and plan objects in tests.
...
Stripe already returns an appropriate error in prod, and these checks are
just a hassle in tests.
Also fixes an error where the check for Plan.objects.exists() was missing
a "not".
2018-08-04 19:17:34 -04:00
Roman Godov
c0806917ec
models: Rename Realm.restricted_to_domain field.
...
This renames Realm.restricted_to_domain field to
emails_restricted_to_domains, for greater clarity as to what it does
just from seeing the setting name, without having to look it up.
Fixes part of #10042 .
2018-07-31 09:28:33 -07:00
Rishi Gupta
4554b564f7
billing: Rename RealmAuditLog.REALM_PLAN_QUANTITY_UPDATED.
2018-07-31 10:56:31 -04:00
Vishnu Ks
abf485bfcb
billing: Add mypy stubs to stripe imports.
...
Tweaked by tabbott to add an extra type: ignore.
2018-07-26 16:31:32 -07:00
Vishnu Ks
d7b7430af0
billing: Add test for subscribing customer to second plan.
2018-07-25 23:03:55 -07:00
Vishnu Ks
ba7db968d8
billing: Don't check for stripe config while running tests.
2018-07-25 23:03:55 -07:00
Vishnu Ks
51c82b6d4f
models: Rename PLAN_QUANITY_UPDATED event type.
2018-07-25 23:03:55 -07:00
Vishnu Ks
975969aa89
stripe: Check for the existence of Pan objects in dev environment.
2018-07-25 23:03:55 -07:00
Vishnu Ks
d6ed2c69be
billing: Don't use self.realm and self.user in tests.
2018-07-25 23:03:55 -07:00
Vishnu Ks
f98a86cdc2
billing: Don't show initial upgrade page in production for now.
2018-07-25 23:03:55 -07:00
Vishnu Ks
b88613fd0b
billing: Expand default_source object when retrieving customer.
2018-07-24 10:20:23 -07:00
Vishnu Ks
1225bfd6ee
billing: Don't use data attribute for iterating through subscriptions.
...
Iterating through data attribute is same as iterating through
subscriptions.
2018-07-24 10:20:23 -07:00
Vishnu Ks
0bcc0ca0d8
stripe: Fix type of stripe_customer_id.
2018-07-24 10:20:23 -07:00
Vishnu Ks
15eff517f4
billing: Verify that plan names are not tampered.
2018-07-24 08:04:00 -07:00
Vishnu Ks
82fc82b7e2
billing: Sign and verify the seat count during upgrade.
2018-07-24 08:04:00 -07:00
Vishnu Ks
d75054fb15
billing: Add function to sign strings.
2018-07-24 07:16:12 -07:00
Tim Abbott
888434e6cd
test_stripe: Delete broken test.
...
This is an expedient way to fix master failing, which it has been
since f2861442f7
.
2018-07-23 22:20:12 -07:00
Vishnu Ks
eb48197f67
billing: Get upcoming invoice only if there is a live subscription.
2018-07-23 19:18:17 -07:00
Vishnu Ks
f2861442f7
billing: Enforce Customer can have only one live subscription at a time.
2018-07-23 19:03:36 -07:00
Vishnu Ks
db8700513b
stripe: Fix type of stripe_plan_id in do_subscribe_customer_to_plan.
2018-07-23 17:55:15 -07:00
Vishnu Ks
28167585b1
models: Rename several RealmAuditlog event types to past tense.
...
These event types haven't been used in production yet, and thus are
save to change without a migration.
2018-07-22 20:00:05 -07:00
Max Nussenbaum
8fd900626d
billing: Style billing page.
...
This adds styles to /billing.
2018-07-13 18:30:38 +05:30
Vishnu Ks
895c7703a6
billing: Show the billing page only to admins and billing users.
2018-07-12 12:51:38 +05:30
Vishnu Ks
377fac2864
billing: Pass stripe_customer instead of Customer in upgrade functions.
2018-07-12 12:51:38 +05:30
Vishnu Ks
ff4c1ca2c1
models: Add SUBSCRIPTION_CREATED event type constant to RealmAuditLog.
2018-07-10 15:42:26 +05:30
Vishnu Ks
89fefcd1a2
mypy: Replace Any with stripe types in zilencer/lib/stripe.py.
2018-07-09 15:24:57 +05:30
Shubham Dhama
7cbacdb8c2
populate_db: Integrate populate_analytics_db.
...
As detailed in the documentation changes, this simplifies the
development workflow for doing UI work on the /stats pages.
The cost is a ~10% increase the time it takes to run `populate_db`,
which doesn't happen very often (and for most purposes manifests as a
1% increase in the time it takes to rebuild the database from scratch).
2018-07-09 15:05:48 +05:30
Rishi Gupta
b5753d0ddc
billing: Add initial support for seat based plans.
...
The main remaining todo for correctly populating
RealmAuditLog.requires_billing_update is supporting the de-seating (and
corresponding re-seating) that happens after being offline for two weeks.
2018-07-09 14:33:08 +05:30
Rishi Gupta
16334a1ba7
billing: Update billing system.
2018-07-09 14:33:07 +05:30
Anders Kaseorg
037f696d26
Enable pycodestyle W605 (invalid escape sequence).
...
The only changes visible at the AST level, checked using
https://github.com/asottile/astpretty , are
zerver/lib/test_fixtures.py:
'\x1b\\[(1|0)m' ↦ '\\x1b\\[(1|0)m'
'\\[[X| ]\\] (\\d+_.+)\n' ↦ '\\[[X| ]\\] (\\d+_.+)\\n'
which is fine because re treats '\\x1b' and '\\n' the same way as
'\x1b' and '\n'.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2018-07-03 16:54:46 +02:00
Yashashvi Dave
8909cb1d15
custom fields: Allow list of users in user type of custom fields.
...
Allow user to add more than one user-value in user type of custom
fields.
Tweaked by tabbott to improve the models.py code and type annotations.
2018-06-16 09:37:49 -07:00
Rishi Gupta
634c4516a7
portico: Add svgs of sea creatures.
2018-06-06 13:57:55 -07:00
Tim Abbott
27e7770540
populate_db: Initialize the outgoing webhook bot properly.
...
Previously, we created the bot, but didn't initialize its service
object.
2018-06-01 08:48:17 -07:00
Robert Hönig
497cd4a1f9
outgoing webhooks: Change default URL in all tests.
...
This reflects the changes to the default URL publicly
displayed to the user. It also changes the default
URL of the default test server outgoing webhook, which
prevented the test server flaskbotrc from working out
of the box.
2018-05-28 10:40:44 -07:00
Yashashvi Dave
e82c879b85
custom fields: Add user type of custom fields.
...
Fixes #8878
2018-05-27 23:01:21 -07:00
Vishnu Ks
54a002c2e2
requirements: Upgrade pyflakes to 2.0.0.
...
We fix a few errors that only the new version finds.
2018-05-24 11:31:36 -07:00
Aditya Bansal
8cfb437677
provision: Don't run create_realm_internal_bots management command.
...
We essentially stop running create_realm_internal_bots during
every provisioing and move its operations to run from populate db.
In fact to speed things up a bit we actually make populate db call the
funcs which create_realm_internal_bots calls behind the scenes.
Fixes : #9467 .
2018-05-23 13:34:52 +05:30
Tim Abbott
1b47b2e7cd
populate_db: Fix an out-of-date mypy annotation.
2018-05-22 14:46:03 -07:00