~singpolyma/sgx-jmp

ref: 324f326e959d5f14bc05d6ceda91953d5a61a3b0 sgx-jmp/test d---------
Show current balance in alt top up form
Alt top up command

To show mailing address, eTransfer address, Bitcoin addresses, and allow
generating a new Bitcoin address.
Refactor command list to use composition

Also rename buy credit to top up
Add btc_addresses to Customer

And use that in registration instead of implementing it inline
Validate that amount of credit to buy is in valid range
Merge branch 'conditionally-show-commands'

* conditionally-show-commands:
  Only show buy credit option if customer has a plan and a credit card
  Show commands conditionally (plus add voicemail record command)
Only show buy credit option if customer has a plan and a credit card
Show commands conditionally (plus add voicemail record command)

Refactor to a factory that allows commands to be shown conditionally, so that
the voicemail record command can only be shown if the customer has a forwarding
target set up.
Merge branch 'credit-card-bonus'

* credit-card-bonus:
  Insert bonus when paying by credit card
Insert bonus when paying by credit card
Fix sentry issue SGX-JMP-4

Typo not caught by tests because this method had none.  Add a test, fix the typo.
Merge branch 'create-reset-sip-account'

* create-reset-sip-account:
  Create or reset SIP account
  Factor out Catapult connection
Create or reset SIP account

New command to create or reset SIP account.  Always try create first because
it's faster and more common, fall back to search the list for our account if
that fails due to conflict.  Password is always randomly generated from the
mnemonicode word list.
Factor out Catapult connection

So that every object which needs to talk to Catapult does not need to know
everthing about it.
Usage command

Customer has a CustomerUsage which can fetch data to build a UsageReport
which returns a jabber:x:data form "table" as per spec for per-day in
the last month.

Minutes come from cdr table in postgresql.
Messages come from redis.
Add missing require

To allow these modules to be used in isolation (especially when
testing).
Refactor BuyAccountCreditForm

add_to_form no longer needs a promise or a network call, instead we use
a factory to get that data up front and inject the dependency.

New BuyAccountCreditForm#parse to get the relevant data back out of an
XMPP form.

Some changes to Transaction and sgx_jmp.rb to use the new method
semantics.
Merge branch 'wording'

* wording:
  Update instructions to be closer to what is in current web signup
Update instructions to be closer to what is in current web signup
Merge branch 'pass-messages'

* pass-messages:
  Pass messages to and from the SGX
Next