Commit Graph

5166 Commits

Author SHA1 Message Date
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
Rob Harrington
6ac49a7694 Adding route and controller action for searching for customer addresses using AddressFinder 2018-02-09 14:44:00 +11:00
Rob Harrington
c5066bb613 Making AddressFinder a little more secure
Only allow search by email when a customer or user with matching email is also provided
2018-02-09 14:43:59 +11:00
Rob Harrington
4a0dab3608 Renaming LastUsedAddress as AddressFinder 2018-02-09 14:43:59 +11:00
Rob Harrington
1b72b7258d Refactoring LastUsedAddress to take customers or users 2018-02-09 14:43:58 +11:00
Rob Harrington
57653cb911 Displaying setup instructions on Standing Orders index 2018-02-09 14:43:58 +11:00
Rob Harrington
ae209f72b9 Removing unrequired OrderCycleOpenCloseJob 2018-02-09 14:43:58 +11:00
Rob Harrington
2859075e43 WIP: StandingOrderConfirmJob no longer scoped to an order cycle 2018-02-09 14:43:58 +11:00
Rob Harrington
0e50009875 WIP: StandingOrderPlacementJob no longer scoped to an order cycle 2018-02-09 14:43:58 +11:00
Rob Harrington
514a462f7b WIP: Refactor, of standing order placement and confirmation jobs
ie. Transfering responsibility for tracking standing order placement and confirmation to proxy orders
2018-02-09 14:43:58 +11:00
Rob Harrington
3adfb0db3f Issues with updating orders are reported when saving standing orders 2018-02-09 14:43:58 +11:00
Rob Harrington
9e986f25f1 Orders are not marked as problematic if the changed value matches the new value 2018-02-09 14:43:57 +11:00
Rob Harrington
e357a7b401 StandingOrderForm: Storing problematic orders for reporting to user 2018-02-09 14:43:57 +11:00
Rob Harrington
9f50253537 StandingOrderForm: Rescuing from RecordInvalid when saving 2018-02-09 14:43:57 +11:00
Rob Harrington
a6add2eff6 Limiting shops loaded onto standing orders index to those with standing orders enabled 2018-02-09 14:43:57 +11:00