This method has become only a small part of the logic for updating the
order's ship address. This no longer follows the method naming
convention within OrderSyncer where update_*_for describes almost the
complete logic for updating the association.
This is renamed in preparation for extraction of the complete update
logic for ship_address. The new method will be named
update_ship_address_for.
The way that the bill contact details and distributor address are set
for pickup orders has changed. At this point, after before_save_hook is
called, the bill contact details have already been set as well.
This still achieves a logic issue before the Spree upgrade, where
switching from pick-up to delivery affects whether simultaneous changes
to shipping address are ignored or not.
This behaviour can be fixed in a separate PR.
Sets the "use_s3" (for images) option based on presence of `s3_images_bucket` from ofn-install instead of presence of s3 keys, for instances that use s3 for backups but not for images.
This solves the error showed below when executed `bundle exec rake
db2fog:backup RAILS_ENV=staging` on Katuma staging
```
Excon::Error::BadRequest: Expected(200) <=> Actual(400 Bad Request)
excon.error.response
:body => "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Error><Code>AuthorizationHeaderMalformed</Code><Message>The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'eu-central-1'</Message><Region>eu-central-1</Region><RequestId>3DE2763883FC601D</RequestId><HostId>1E6UapnblBqVZM0SeeLrdPNDd+VaQ0nxCWwrQ9mi8HjRo2xevAUwtSq5V3fxhsj4Cj9ynnDroco=</HostId></Error>"
```
This ensures that Db2fog always picks up the latest value of the S3_*
env vars and not the one that was persisted last time. Now you can do
things like `S3_BUCKET=xxx bundle exec rake db2fog:backup` if you had
to.
This pull request removed the override of `process_payments!` which was based on v1. Spree v2 has an additional check: An order in payment state requires a payment. Some specs didn't care and didn't create payments before transitioning to `complete`.
Orders belonging to subscriptions get completed without payment. That
requires overriding Spree's functionality.
In Spree 2, an order in payment state without pending orders is invalid.
Instead we skip the payment state by not requiring a payment for
automatically generated orders until the order cycle is closed.