fa0e681
Merge branch 'bill-with-note'
Click to expand commit body
* bill-with-note: Add a note when billing account
Stephen Paul Weber created
fa0e681
Merge branch 'bill-with-note'
* bill-with-note: Add a note when billing account
Stephen Paul Weber created
bb33b0c
Add a note when billing account
Stephen Paul Weber created
42add6d
Credit card transactions settle after 90 days, bills instantly
Stephen Paul Weber created
a688701
Merge branch 'activate-with-balance'
* activate-with-balance: If customer already has enough balance, just bill them and finish New BillPay registration step Save plan to DB as soon as it is selected Move credit_to lookup into relevant class
Stephen Paul Weber created
8291b15
If customer already has enough balance, just bill them and finish
Stephen Paul Weber created
4ef20f6
New BillPay registration step
Assumes they have enough balance (anyone using this step must be sure of this) and then does the billing before proceeding to finish.
Stephen Paul Weber created
27be78a
Save plan to DB as soon as it is selected
Customer will appear as instantly expired (having been active for 1 second in the immediate past). This can replace the pending_plan key for BTC activations. It also serves as a record for mail-in activation of what plan they had selected. Once the account is really activated the tiny row is removed.
Stephen Paul Weber created
2e7f0c4
Move credit_to lookup into relevant class
Stephen Paul Weber created
8fd61ce
Merge branch 'monthly-billing'
* monthly-billing: Allow the DB to notify us to bill a customer Command.execution setter Bill plan command Clearer name for lock bypass factory
Stephen Paul Weber created
3b7abeb
Allow the DB to notify us to bill a customer
Stephen Paul Weber created
8a4e129
Command.execution setter
Stephen Paul Weber created
655624d
Bill plan command
Implements the full logic of the billing_monthly_cronjob for one customer by reusing code that has been written more robustly in sgx-jmp for some time. This will allow the cronjob to just execute this command once a day for each expiring customer to get all the correct billing behaviours.
Stephen Paul Weber created
456a45b
Clearer name for lock bypass factory
Stephen Paul Weber created
ba03284
Declines should be an Int
Previously this retured a string and everywhere that used it had to convert it into an it, or handle it if it's nil. That's dumb. Now it's always an int, and `nil.to_i` is 0 anyway so I don't have to check that either.
Christopher Vollick created
36f007c
Do not allow nil tndetails
Stephen Paul Weber created
613c6f8
LazyObject is not nil, so safenav doesn't work
Stephen Paul Weber created
e90dcfa
Support older ruby
Stephen Paul Weber created
0fd3bd9
Order Transactions by Date
In my testing the natural order just happened to be the date order because I had so little data. But in the real world we should probably be more explicit!
Christopher Vollick created
adef6c1
Do not get CNAM during admin command
Since this is used by the billing cronjob and hitting BW so much is too expensive.
Stephen Paul Weber created
b5ae161
Refactor CustomerInfoForm to use find_by_format
Stephen Paul Weber created
6dbcb84
Unused dead code
Stephen Paul Weber created
e6bdcc9
Shunt call to voicemail on exception
Stephen Paul Weber created
bff79b5
Respond to Proper Cancel Stanza
Previously cancels would be treated as an error, but then would be caught so that they could respond with receipt of the cancel later. But, we weren't setting @iq in these cases, because it was an error, so we would actually respond to the wrong stanza; specifically the one before the cancel. This was bad and wrong and led to the bot sitting there waiting for the cancel before moving on with its life.
Christopher Vollick created
45c0721
Proc !== method
Stephen Paul Weber created
d570ca9
Set Sentry user from CustomerRepo
We don't always use this to get the current user, so make it optional.
Stephen Paul Weber created
67c9b0e
Import some hotfixes from prod
Stephen Paul Weber created
0e75ca4
Strip lidb name
Stephen Paul Weber created
c95d2db
Transaction Note Can Be Null
Not only is it allowed, but actually there's a ton of empty notes. Every monthly account activation is missing a note, so practically every user that has transactions will have empty notes.
Christopher Vollick created
0051c8e
Handle Empty Admin Menu Response
Some automated processes don't care for our menu, and rather than crashing it should just consider our process to be done.
Christopher Vollick created
e5759b3
Merge branch 'tx-list'
* tx-list: Admin Command Menu + Admin Financial View Transactions List Customer Financials Telephone Link
Stephen Paul Weber created
1c36e69
Admin Command Menu + Admin Financial View
I've added a new command to show financial information about the user. But more importantly I've added an infinite admin subsystem which allows me to go into a user and then run multiple commands on them. For now it's just these two info commands, but in the future I'd like to add mutative commands here. Finally, since I sometimes look up multiple users in a pretty short timeframe I made the menu open and if I put something into the list that doesn't parse as one of the actions it instead switches the current user so I don't have to do "cancel", "customer", and then put the next one in. I can just have the session open and put stuff in as needed.
Christopher Vollick created
6fb0be1
Transactions List
Using the new Financials object a user can list their transaction list We only show the user the date, amount, and method.
Christopher Vollick created
a5cf98a
Customer Financials
I've pulled out information about payment methods and bitcoin into its own thing. It's kind of a repository, except that it only exposes fetchers and doesn't load anything generally. There's also a few new methods here that aren't used yet, but will be shortly.
Christopher Vollick created
c668050
Telephone Link
Sometimes I need to go there to look something up or change a setting, and every time I do I have to navigate through the UI to a number I already know. This should make that faster.
Christopher Vollick created
e6fa970
Strip fwd value from form before saving
Stephen Paul Weber created
880e5e8
Someone legit hit the 4k limit
Stephen Paul Weber created
7c1ef85
Document new search option
Stephen Paul Weber created
92916f6
A legit user hit 3500. Wow
Stephen Paul Weber created
e30cf10
Merge branch 'state-search'
* state-search: Finish state search and add test Add state search - for granularity & jmp-register
Stephen Paul Weber created
a086018
Finish state search and add test
Stephen Paul Weber created
5fe4706
Add state search - for granularity & jmp-register
Note that this is not quite complete yet, since we need to pull in the STATE_MAP stuff used elsewhere to make it work properly. But it will at least work for every state/province/territory that is not Quebec for now, which is way better than nothing. Quebec users will get the same fallbacks they had before.
Denver Gingerich created
46147c4
Do not log error when hangup/voicemail a call that is already gone
Stephen Paul Weber created
12e2eef
Add customer_id to Sentry where relevant
Stephen Paul Weber created
492360c
Error from SGX should not result in an unregistered customer
If the SGX fetch fails, this is a problem. Even in the original case this was written for (registration) we have seen strange issues that can come up when the code assumes that an SGX error means they are unregistered. They may or may not be unregistered, and we simply don't know. So we should let the error bubble through and be handled (if possible) upstream.
Stephen Paul Weber created
2356e70
Use Transfer because Forward doesn't work once answered
Stephen Paul Weber created
63805c4
Sanity check that uri is possibly valid
Stephen Paul Weber created
23200e5
Transaction amounts are negative, but cdr charge is positive
Stephen Paul Weber created
bc55811
Schemas add default rate for customers with no plan
Stephen Paul Weber created
9d8e6b4
Pass customer_id through to leg2
The to in leg2 is not the phone number, but the fwd, which is not useful for looking up customer.
Stephen Paul Weber created
32c97bb
Make sure from and to are in correct direction
Doesn't affect any current code paths, but should be correct in case we ever start using it in the inbound case. Also from does not have to be a formatted phone number, can be a string like Anonymous, etc.
Stephen Paul Weber created