Andy Brett
203dbb7a8b
Revert "Switch from map, that does not exist in ActionController::Parameters, to each"
...
This reverts commit 69a15d4f04 .
2021-05-03 14:17:54 +01:00
Andy Brett
d255ca22f5
use new attribute_changed method for taxons take 2
2021-05-03 14:17:54 +01:00
Andy Brett
52525dc437
Fix /spec/models/spree/product_spec.rb:118
2021-05-03 14:17:54 +01:00
Andy Brett
d381b2a544
Use saved_change_to prefix to check for changes
2021-05-03 14:17:54 +01:00
Luis Ramos
c08bc743d3
Replace usage of changed? with saved_change_to_
2021-05-03 14:17:54 +01:00
Matt-Yorkley
26688dda36
Add angular_form helper
...
Fixes:
Failure/Error: super
ActionView::Template::Error:
undefined method `ng_options_for_select' for #<#<Class:0x00007fbf8e43e310>:0x000055783fbebec0>
Did you mean? options_for_select
# ./app/helpers/application_helper.rb:20:in `method_missing'
# ./app/helpers/angular_form_builder.rb:26:in `ng_select'
# ./app/views/admin/enterprise_fees/index.html.haml:34:in `block (2 levels) in _app_views_admin_enterprise_fees_index_html_haml__800455454875182851_46987476952700'
# ./app/helpers/angular_form_builder.rb:6:in `ng_fields_for'
# ./app/views/admin/enterprise_fees/index.html.haml:28:in `block in _app_views_admin_enterprise_fees_index_html_haml__800455454875182851_46987476952700'
# ./app/helpers/application_helper.rb:11:in `ng_form_for'
# ./app/views/admin/enterprise_fees/index.html.haml:4:in `_app_views_admin_enterprise_fees_index_html_haml__800455454875182851_46987476952700'
# ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `ng_options_for_select' for #<#<Class:0x00007fbf8e43e310>:0x000055783fbebec0>
# Did you mean? options_for_select
# ./app/helpers/application_helper.rb:20:in `method_missing'
2021-05-03 14:17:54 +01:00
Matt-Yorkley
b7aeceaf67
Add enterprise_fees helper
...
Fixes:
Failure/Error: super
ActionView::Template::Error:
undefined method `angular_id' for #<#<Class:0x00007f57c7126670>:0x00007f57c55754f8>
# ./app/helpers/application_helper.rb:20:in `method_missing'
# ./app/views/admin/enterprise_fees/index.html.haml:32:in `block (2 levels) in _app_views_admin_enterprise_fees_index_html_haml__3854507252304647884_70007474860840'
# ./app/helpers/angular_form_builder.rb:6:in `ng_fields_for'
# ./app/views/admin/enterprise_fees/index.html.haml:28:in `block in _app_views_admin_enterprise_fees_index_html_haml__3854507252304647884_70007474860840'
# ./app/helpers/application_helper.rb:11:in `ng_form_for'
# ./app/views/admin/enterprise_fees/index.html.haml:4:in `_app_views_admin_enterprise_fees_index_html_haml__3854507252304647884_70007474860840'
# ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `angular_id' for #<#<Class:0x00007f57c7126670>:0x00007f57c55754f8>
# ./app/helpers/application_helper.rb:20:in `method_missing'
2021-05-03 14:17:54 +01:00
Matt-Yorkley
e6a3041f45
Add admin/enterprises helper
...
Fixes:
Failure/Error: super
ActionView::Template::Error:
undefined method `add_check_if_single' for #<#<Class:0x0000564501a3c838>:0x00007f446cdd68e8>
# ./app/helpers/application_helper.rb:20:in `method_missing'
# ./app/views/spree/admin/shared/_hubs_sidebar.html.haml:16:in `block in _app_views_spree_admin_shared__hubs_sidebar_html_haml___1973426344114200431_69965928779540'
# ./app/views/spree/admin/shared/_hubs_sidebar.html.haml:11:in `each'
# ./app/views/spree/admin/shared/_hubs_sidebar.html.haml:11:in `_app_views_spree_admin_shared__hubs_sidebar_html_haml___1973426344114200431_69965928779540'
# ./app/views/spree/admin/payment_methods/edit.html.haml:15:in `block in _app_views_spree_admin_payment_methods_edit_html_haml__571217921761730685_69965930474120'
# ./app/views/spree/admin/payment_methods/edit.html.haml:11:in `_app_views_spree_admin_payment_methods_edit_html_haml__571217921761730685_69965930474120'
# ./app/controllers/admin/resource_controller.rb:23:in `block (2 levels) in edit'
# ./lib/spree/core/controller_helpers/respond_with.rb:24:in `respond_with'
# ./app/controllers/admin/resource_controller.rb:22:in `edit'
# ./lib/open_food_network/rack_request_blocker.rb:36:in `call'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `add_check_if_single' for #<#<Class:0x0000564501a3c838>:0x00007f446cdd68e8>
# ./app/helpers/application_helper.rb:20:in `method_missing'
2021-05-03 14:17:54 +01:00
Matt-Yorkley
b0787e83b2
Add checkout helper
...
Fixes:
Failure/Error: super
ActionView::Template::Error:
undefined method `checkout_adjustments_for' for #<#<Class:0x000055f4bd847a30>:0x000055f4bd845c30>
# ./app/helpers/application_helper.rb:20:in `method_missing'
# ./app/views/spree/admin/orders/_invoice_table.html.haml:26:in `_app_views_spree_admin_orders__invoice_table_html_haml___3617932924646213210_47254819384740'
# ./app/views/spree/admin/orders/invoice.html.haml:67:in `_app_views_spree_admin_orders_invoice_html_haml__1476001169744481148_47254819971700'
# ./app/services/invoice_renderer.rb:8:in `render_to_string'
# ./app/controllers/spree/admin/orders_controller.rb:81:in `invoice'
# ./spec/support/controller_requests_helper.rb:49:in `process_action_with_route'
# ./spec/support/controller_requests_helper.rb:23:in `spree_get'
# ./spec/controllers/spree/admin/orders/invoices_spec.rb:58:in `block (6 levels) in <top (required)>'
# ------------------
# --- Caused by: ---
# NoMethodError:
# undefined method `checkout_adjustments_for' for #<#<Class:0x000055f4bd847a30>:0x000055f4bd845c30>
# ./app/helpers/application_helper.rb:20:in `method_missing'
2021-05-03 14:17:54 +01:00
Matt-Yorkley
f874397115
Fix errors in PermittedAttributes::OrderCycle
2021-05-03 14:17:54 +01:00
Matt-Yorkley
943c00c924
WIP - Update loading of helpers in controllers
...
Rails has changed the way helpers are loaded. It's a bit weird. It was throwing lots of errors, and recommended using this setting, but now requires that all helpers are loaded explicitly. I'm not sure about this.
2021-05-03 14:17:54 +01:00
Matt-Yorkley
2560757ea2
Change Enterprise after_create callback to after_create_commit
...
As a general rule, if you're triggering an email job as part of an after create/save callback, it should use after commit instead.
Why? The transaction can't finish until after the record is persisted (the data is committed) which includes the logic in all callbacks. So for example if the transaction fails after the email job has been placed it will be rolled back, but the email job will already be in the queue, and it'll be referencing a record that doesn't actually exist (due to the rollback).
2021-05-02 13:23:31 +01:00
Matt-Yorkley
9d23c0d9e2
Reorder has_many relationship with :through option
...
If it's using :through it should be defined after the relationship it's connected to
2021-05-01 16:20:36 +01:00
Matt-Yorkley
7948c5943d
Remove #deleted? method from Product and Variant
...
This method is already supplied via the paranoia gem, there's no need to re-implement it here.
2021-05-01 12:54:33 +01:00
Matt-Yorkley
2eb17dbbd1
Remove currency from OrderContents
...
The currency argument here is not actually used anywhere. The related conditional logic is also not covered in any tests.
2021-05-01 11:10:51 +01:00
Matt-Yorkley
e290c128bf
Fix error in Api::ShipmentController#update with :unlock parameter
...
This is a generic issue caused by a clash between state machines trying to define (or failing to define) the #open method on adjustments as part of their state changes interface. This method is already defined in Object. For more details, see: bb42e33bf7/lib/state_machines/machine.rb (L323-L350)
2021-04-30 14:13:22 +01:00
Matt-Yorkley
b843b871f6
Ensure order totals and payment/shipment states are correct when changing shipping method on a completed order.
...
This used to happen via an after_save callback in Shipment, which called `order.update!`. That has recently been removed. After changing a shipment's selected shipping rate (shipping method), we need to ensure the order's totals and states are updated. We don't need to update all of the order's adjustments though (see previous commit).
FYI Spree handled this issue like this: 24388485ed , but there are lots of things about that commit that are clearly awful, like: params handling in a model, duplication of Order::Updater logic across the codebase, the Shipment class having responsiblity for knowing which things need to be updated on the order, etc. The result is ultimately the same as what we're doing here though.
2021-04-30 12:57:01 +01:00
Matt-Yorkley
045ce73c83
Simplify shipment controller params
2021-04-30 12:20:47 +01:00
Pau Pérez Fabregat
057bcddee9
Merge pull request #7478 from jibees/7458-get-products-on-order-cycle-change-events
...
Get the whole list of products on order cycle changes
2021-04-30 11:39:15 +02:00
Andy Brett
f64d5a9f59
Merge pull request #7438 from jibees/7353-fix-OC-display-issue-text-on-two-lines
...
Change the position of order_cycle component into a shop front
2021-04-29 14:05:06 -07:00
Andy Brett
c069a23926
Merge pull request #7476 from cillian/admin-stripe-elements-width
...
Increase the width of Stripe Elements fields in admin so they don't overlap
2021-04-29 14:04:44 -07:00
Andy Brett
8ba139c6fb
Merge pull request #6825 from julesemmac/6584-map-location-confirm
...
6584 map location confirm
2021-04-29 14:04:06 -07:00
Andy Brett
699f1c4f41
Merge pull request #7497 from andrewpbrett/fix-double-stripe-payments
...
Use capture! if payment is already authorized
2021-04-29 08:35:19 -07:00
Matt-Yorkley
2f49d089ea
Use Time.zone.now
2021-04-29 08:56:17 +01:00
Matt-Yorkley
290c1d0ebf
Bring in shipment state updating from Spree 2.2
2021-04-28 21:43:28 +01:00
Guido Oliveira
84285ff985
prevent deleting only item in confirmed order
2021-04-28 17:37:28 -03:00
Andy Brett
73e5fd3f5b
use method to clarify intent on payment intents
2021-04-28 10:43:06 -07:00
Andy Brett
9906afa1a6
use capture! if payment is already authorized
2021-04-27 17:59:03 -07:00
Matt-Yorkley
1d29e277f2
Merge pull request #7493 from Matt-Yorkley/order-states-bug-redux
...
Reload order before updating in Payment callback
2021-04-27 17:43:34 +02:00
Matt-Yorkley
22f79fe540
Reload order before updating in Payment callback
2021-04-27 14:27:35 +01:00
Matt-Yorkley
574d78403d
Merge pull request #7433 from coopdevs/raise-on-failed-customer-creation
...
Notify Bugsnag if customer fails to be created
2021-04-27 12:42:39 +02:00
Jean-Baptiste Bellet
07881ede2d
Do not trigger loadMore method immediatly
...
- This avoid to request unwanted resources, ie. the next 10 products of a shop
2021-04-27 11:24:48 +02:00
Jean-Baptiste Bellet
cdbcbf4214
Reinitialize page params when changing order cycle
2021-04-27 11:24:48 +02:00
Jean-Baptiste Bellet
523b957ba7
Initialize activeTaxons and activeProperties
...
- so there is no unwanted changes (from `undefined` to `[]`) that would trigger a loadProducts request
2021-04-27 11:24:48 +02:00
Jean-Baptiste Bellet
71466e643f
Instanciate only one ProductsCtrl
...
- instead of 2: therefore, for each shop display, we only request products one time instead of two times.
2021-04-27 11:24:48 +02:00
Pau Perez
ee01b0162c
Write if as a one-liner and avoid extra queries
2021-04-26 12:39:03 +02:00
Pau Perez
c65d82be01
Notify Bugsnag if customer fails to be created
...
This will hopefully let us see in Bugsnag when #6038 happens and so
we'll have all the diagnostics data. The fact that the `order.distributor`
is optional but mandatory to create the customer already gives us some
clue.
2021-04-26 10:15:12 +02:00
Andy Brett
6153f1c1b4
Merge pull request #7471 from Matt-Yorkley/dead-scopes
...
Order scopes
2021-04-25 11:51:00 -07:00
Andy Brett
6f20a23d47
Merge pull request #7436 from coopdevs/remove-duplicate-method
...
Replace duplicate #unauthorized method with module inclusion
2021-04-25 11:26:12 -07:00
Luis Ramos
f357c3ff30
Remove require_dependency or use require
...
See here https://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#require-dependency
2021-04-23 19:20:25 +01:00
Cillian O'Ruanaidh
8cdc4bc3f4
Increase the width of Stripe Elements fields in admin so they don't overlap
...
The card number and expiry month/year fields were overlapping on the new payment form in the admin area.
2021-04-23 17:54:22 +01:00
Pau Perez
e5eb68dffc
Replace duplicate method with module inclusion
...
No reason to risk diverging their implementations. They are exact
copies.
Likewise, there's no need to have to I18n keys with almost the same
content.
2021-04-23 12:03:11 +02:00
Matt-Yorkley
4938285dd7
Move order query methods to chainable scopes
2021-04-23 10:29:48 +01:00
Matt-Yorkley
caee2eb3e9
Remove dead code in order
...
These aren't used anywhere
2021-04-23 10:23:40 +01:00
Cillian O'Ruanaidh
af3eb82343
Merge in upstream changes from julesemmac:6584-map-location-confirm and resolve conflicts
2021-04-22 22:34:02 +01:00
Cillian O'Ruanaidh
1e96f92df2
Fix the toggle address confirmed checkbox so the latitude/longitude gets set
...
Before when you checked and unchecked the checkbox it was toggling the :isConfirmed variable.
2021-04-22 22:16:47 +01:00
Cillian O'Ruanaidh
12704af143
Use after_action calls for geocoding instead of old update.after, create.after calls
2021-04-22 22:13:28 +01:00
Cillian O'Ruanaidh
c41476423b
Merge latest master into julesemmac/6584-map-location-confirm and resolve conflict in api/enterprises_controller.rb
2021-04-22 19:43:49 +01:00
Pau Pérez Fabregat
cf2e3db645
Merge pull request #7445 from jibees/7403-add-customer-name-into-subscriptions-table
...
Add customer name into subscriptions list in order to search subscription by customer name
2021-04-22 19:46:49 +02:00
Pau Pérez Fabregat
c1da97527a
Merge pull request #7420 from Matt-Yorkley/adjustments-controller
...
Adjustments controller index
2021-04-22 19:15:28 +02:00