Commit Graph

6330 Commits

Author SHA1 Message Date
Rob Harrington
818af47613 Move rescue clause to process method
This prevents a placement email from being sent unless the order is processed successfully
2018-02-09 14:44:08 +11:00
Rob Harrington
ef6c9ec0f0 Integrate standing order summarizer into placement job 2018-02-09 14:44:08 +11:00
Rob Harrington
13d01df4d8 Add mail method and template for sending placement summary emails to shop owners 2018-02-09 14:44:08 +11:00
Rob Harrington
cf30b7c883 Add service objects for summarizing outcomes of standing order processing jobs 2018-02-09 14:44:08 +11:00
Rob Harrington
8bf460c93a Manually fix remaining rubocop offences 2018-02-09 14:44:08 +11:00
Rob Harrington
fb28940952 Use Time.zone.now instead of Time.now 2018-02-09 14:44:07 +11:00
Rob Harrington
03f1980b1b Auto-correct rubocop offences for standing-orders 2018-02-09 14:44:07 +11:00
Rob Harrington
26a325e6e0 Handle payment processing errors for standing orders 2018-02-09 14:44:07 +11:00
Rob Harrington
2576d10e49 Create a new payment when none is present 2018-02-09 14:44:07 +11:00
Rob Harrington
67e05cea9c Add failed payment email to StandingOrderMailer 2018-02-09 14:44:07 +11:00
Rob Harrington
6e83c6dc86 Move standing order emails to a dedicated StandingOrderMailer 2018-02-09 14:44:07 +11:00
Rob Harrington
d6a9d63de5 Replace StandingOrderSyncJob with ProxyOrderSyncer service object 2018-02-09 14:44:06 +11:00
Rob Harrington
6ea343f26e Clean up proxy order performance specs 2018-02-09 14:44:06 +11:00
Rob Harrington
8a498391ca Add performance spec for removal of proxy orders 2018-02-09 14:44:06 +11:00
Rob Harrington
146348a4fe Refactor proxy order syncer using direct sql query for increased speed 2018-02-09 14:44:06 +11:00
Rob Harrington
48b39f4712 Add performance spec for proxy order syncer 2018-02-09 14:44:06 +11:00
Rob Harrington
3aee0b5e70 Allow proxy order syncer to accept both ActiveRecord::Relation or StandingOrder 2018-02-09 14:44:06 +11:00
Rob Harrington
6d5c920a95 Split proxy order sync logic out into dedicated service object 2018-02-09 14:44:06 +11:00
Rob Harrington
bdac68900f Move address and card loading logic down into DetailsController
Also switch to using CreditCardResource to load the card
2018-02-09 14:44:05 +11:00
Rob Harrington
c94badbf36 Stub or provide mailer as appropriate 2018-02-09 14:44:04 +11:00
Rob Harrington
dfe874cf3f Attempt to add a credit card before processing payment 2018-02-09 14:44:04 +11:00
Rob Harrington
c20c9e2e78 Use the rails logger instead of Bugsnag 2018-02-09 14:44:04 +11:00
Rob Harrington
f4f6fb6a7a Update and process standing order payments prior to confirmation 2018-02-09 14:44:04 +11:00
Rob Harrington
ac8e09bc11 Add credit card validation to StandingOrderForm 2018-02-09 14:44:04 +11:00
Rob Harrington
183ad87d07 Fix mislabeled StandingOrderForm specs 2018-02-09 14:44:04 +11:00
Rob Harrington
61b64a7516 Add credit card selection element to standing orders form 2018-02-09 14:44:04 +11:00
Rob Harrington
494f2f4821 Add cards lookup action to CustomersController 2018-02-09 14:44:04 +11:00
Rob Harrington
d3937e5c80 Move customer address lookup action to CustomersController 2018-02-09 14:44:03 +11:00
Rob Harrington
3ac2ac34ed Add credit_card_id to StandingOrder model 2018-02-09 14:44:03 +11:00
Rob Harrington
25907d8969 Prevent standing order form from accepting non cash/stripe payment methods 2018-02-09 14:44:03 +11:00
Rob Harrington
26b85052e1 Load only Cash and Stripe payment methods into standing order form actions 2018-02-09 14:44:03 +11:00
Rob Harrington
07a7993109 Require a Cash or Stripe payment method in standing order setup process 2018-02-09 14:44:03 +11:00
Rob Harrington
be11a1a2f9 Fix memoization issue with line item unit specs 2018-02-09 14:44:03 +11:00
Rob Harrington
86d8133f82 Stop setting host for url helpers in specs
All configuration is now happening in test.rb or spec_helper.rb
2018-02-09 14:44:03 +11:00
Rob Harrington
6081db382c Updating addresses on standing order updates addresses on any initialised orders 2018-02-09 14:44:03 +11:00
Rob Harrington
b89ab2c407 Adding link to view/edit the order from Standing Order placement and confirmation emails 2018-02-09 14:44:02 +11:00
Rob Harrington
fce2d743e5 Adding proxy-order state to specs 2018-02-09 14:44:02 +11:00
Rob Harrington
2a3fc8cfec Automatically copy shipping address from billing if none present 2018-02-09 14:44:02 +11:00
Rob Harrington
7d1fc8cbe1 Make sure correct intro message is used for empty standing order notification 2018-02-09 14:44:02 +11:00
Rob Harrington
f969caa2d1 Do not place standing order when no items are available
Send notification to customer informing them that an order was not placed...
2018-02-09 14:44:02 +11:00
Rob Harrington
ab5dc7ddd5 Require action from user when pausing/cancelling standing order with open orders 2018-02-09 14:44:02 +11:00
Rob Harrington
846cccf373 Showing StandingOrder error messages in status bar when save fails 2018-02-09 14:44:01 +11:00
Rob Harrington
ad2506fe75 Require StandingOrders to have at least one product (StandingLineItem) 2018-02-09 14:44:01 +11:00
Rob Harrington
7dcd39986f Refactoring StandingOrder validations and errors
Moving validations to StandingOrderForm
2018-02-09 14:44:01 +11:00
Rob Harrington
ceaae89dee Prevent order cycles that are linked to schedules from being destroyed 2018-02-09 14:44:00 +11:00
Rob Harrington
77a50eac42 Show confirmation message when creating/updating/deleting Schedules 2018-02-09 14:44:00 +11:00
Rob Harrington
877a5f27d1 ProxyOrder state is 'pending' until OC opens, then 'cart' until OC closes 2018-02-09 14:44:00 +11:00
Rob Harrington
2c0928ca20 Automatically show 'Schedules' column on OC index when Standing Orders are enabled 2018-02-09 14:44:00 +11:00
Rob Harrington
35e42b28fe Using customer selection to search for addresses on standing order creation
Can also copy copy address from billing to shipping
2018-02-09 14:44:00 +11:00
Rob Harrington
9137f68a57 Adding logic to SearchController#customer_addresses for case when customer is not found 2018-02-09 14:44:00 +11:00