Commit log

2b3ebc3 Merge branch 'insert-settled-after'

Click to expand commit body
* insert-settled-after:
  Credit card transactions settle after 90 days, bills instantly

Stephen Paul Weber created

6e76abb Update to schema with settled_after

Stephen Paul Weber created

fa0e681 Merge branch 'bill-with-note'

Click to expand commit body
* 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'

Click to expand commit body
* 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

Click to expand commit body
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

Click to expand commit body
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'

Click to expand commit body
* 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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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'

Click to expand commit body
* 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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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'

Click to expand commit body
* 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

Click to expand commit body
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

Click to expand commit body
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