Cillian O'Ruanaidh
db92e9d91c
Fix error from OrderCycle#distributor_shipping methods return ActiveRecord::Relation sometimes and Array other times
...
Now it will return ActiveRecord::Relation consistently.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
5207dbf8c6
OrderCycle#distributor_shipping_methods should return all attachable ones by default per distributor, not per all distributors
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a53a3259a8
Connect DistributorShippingMethods to OrderCycles instead of Spree::ShippingMethods
...
Before if a shipping method was shared between multiple distributors it could only be disabled/enabled on that order cycle for all the distributors which have that shipping method e.g. you couldn't select that shipping method for one distributor but disable it for another.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
87431c188e
Use ShippingMethod :frontend method and drop :backend to avoid ClassLength Rubocop error
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
0673f9a5ae
Use a more simple layout on the order cycle checkout options form
...
Before there was a row for each distributor and a 'shared' row for shipping methods which were shared among more than one distributor. This layout displays a single list of shipping methods with the distributor or distributors it belongs to beside it as suggested by @lin-d-hop
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
80b7a5d39a
Remove OrderCycleShippingMethod model and use a :has_and_belongs_to_many association instead
...
Before the OrderCycleShippingMethod had a validation which checked the shipping method belonged to the order cycle distributor. Instead of this validation this just ignores shipping methods which don't belong to one of the order cycle's distributors when they are being attached in the OrderCycleForm service. This pattern is already being used in the OrderCycleForm service for ignoring Schedules that the person doesn't own.
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
541a340dcf
If an OrderCycle or Spree::ShippingMethod is destroyed then remove it's associated OrderCycleShippingMethod records too
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
593da4996f
A shop won't be shown as open if it doesn't have useable shipping method so these shipping method validations are really necessary
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
ed13ee6cbc
Fix association alignment in OrderCycle
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
f4a4f7c9ff
Remove validations checking order cycle has shipping methods
...
Instead we will make sure the order cycle is not available on the shopfront if it is doesn't have valid shipping methods. This will preven the issue where if one distributor deletes their shipping method, we don't want to invalidate the order cycle for all other distributors.
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
81730f725d
Enterprises shouldn't be considered ready for checkout if it only has backend shipping methods
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
67d4c38550
Rename :preferred_shipping_methods to :selected_shipping_methods on OrderCycle
...
It's a clearer name because 'preferred' implies there could be other unpreferred shipping methods available as well.
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
f25de984d2
Use .empty? instead of !exists? in app/models/order_cycle_shipping_method.rb
...
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
9a511e9e94
Rubocop adjustments
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
9296686384
Make backend, frontend scopes on Spree::ShippingMethod neater
...
Co-authored-by: Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
f6c754839b
Make OrderCycleShippingMethod inherit from ApplicationRecord
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
fc4f951a1a
Only require OrderCycleShippingMethod records if people want to override the default shipping methods
...
It makes things much simpler if we return all shipping methods by default without needing OrderCycleShippingMethod records to be added to the database.
Co-authored-by: Maikel <maikel@email.org.au >
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
855ec1a708
Add new 'Checkout options' step to the edit order cycle form so people can attach shipping methods
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
1e817af5aa
Validate deleting a shipping method or switching it to backoffice only doesn't invalidate any order cycles
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
ca97a7f52d
Add :shipping_methods association to OrderCyle and validations
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
9a6e8a1113
Add an OrderCycleShippingMethod model to handle attaching shipping methods to order cycles
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
94d71b8dce
Remove extra unnecessary :display_on_checkout scope and reuse :frontend scope instead
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a5daee39e3
Extract out a DISPLAY_ON_OPTIONS constant in Spree::ShippingMethod instead of magic strings
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
37617f63ea
Remove non-functional :backend scope from Spree::ShippingRate
...
It finds shipping methods where 'display_on != front_end' but :front_end values were removed in a1317be19b/db/migrate/20200508101630_convert_frontend_shipping_method_to_both.rb so it will always return true.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
9b5f743fa5
Extract out a OrderCycle#simple? method so it can be used in models
2022-09-30 13:13:39 +01:00
Maikel Linke
aec28e0807
Simplify customer model requiring enterprise
2022-09-27 13:14:18 +10:00
Maikel Linke
be31b9a897
Document purpose of customer model
2022-09-27 13:14:18 +10:00
Philipp Winkler
bf53a02270
Add api key toggle view checkbox
2022-08-07 09:48:49 +02:00
Maikel
da5e8fcb9f
Merge pull request #9130 from georgethoppil/remove-from-customerlist
...
Update orders and delete subscriptions when customer deleted
2022-08-05 10:35:07 +10:00
georgethoppil
786fe55fc8
Removing dependent destroy on order
2022-07-28 13:41:15 +02:00
georgethoppil
b202678a6b
Delete proxy orders when subscription is deleted
2022-07-28 13:41:14 +02:00
GeorgeThoppil
a50b75659f
Update orders and delete subscriptions when customer deleted
2022-07-28 13:41:14 +02:00
Maikel Linke
b419f063dc
Support WEBP images again
...
We introduced a list of formats we support and forgot to add webp. Now I
added that as allowed format again and modified the error message.
I removed the first sentence from the error message because it's very
similar to the default error which is shown as well.
2022-07-26 11:09:41 +10:00
jibees
20ee0d5009
Merge pull request #9301 from mkllnk/3975-unsupported-image
...
Allow SVG images for products and show errors when uploading unsupported file
2022-07-21 16:56:11 +02:00
Jean-Baptiste Bellet
2b67a0fa80
Specify a list of content-types
...
Then remove specific image format that aren't handled by a web browser (such as `image/x+xcf)`
+ List allowed image formats for enterprises and groups
2022-07-21 08:42:17 +02:00
Filipe
3834724d45
Merge pull request #9236 from AgriculturaFamiliar/add-map-whatsapp-link
...
Show whatsapp link on contact modal on map
2022-07-08 12:10:18 +01:00
Filipe
e91a87d83b
Merge pull request #9295 from filipefurtad0/destroy_order_state_confirmation
...
Restarts checkout flow, when emptying the cart
2022-07-07 22:47:44 +01:00
Arthur Vieira
0deb3cd782
Replace url generation with 'whatsapp_url' method
...
As suggested by mkllnk's following comment:
1eda7d8a4c (r890656117)
2022-06-30 19:19:10 -03:00
Arthur Vieira
77360f41af
Show WhatsApp link on contact modal on map
...
Strips '+' and ' ' characters from the phone number for the generated
link, but doesn't guarantee the link is valid because the number
registered isn't validated for now.
2022-06-30 19:19:10 -03:00
Filipe
899a796896
Merge pull request #9348 from jibees/9315-add-boolean-to-set-enterprise-phone-number-mandatory-or-not
...
Add boolean to specify if enterprise number (ABN, GST, SIRET, ...) is mandatory or not to generate invoices
2022-06-29 19:07:55 +01:00
Jean-Baptiste Bellet
bb6298d06d
Check for enterprise_number_required_on_invoices boolean
...
if true, then can edit invoice ;
if false, then print a confirm alert popup to specify that a enterprise number must be set for this enterprise
2022-06-28 09:53:46 +02:00
Jean-Baptiste Bellet
3a1fde40c5
Add a Spree config option: enterprise_number_required_on_invoices
2022-06-28 09:50:12 +02:00
Filipe
45214ed923
Merge pull request #9325 from jibees/8899-shopfront-display-fee-name-in-the-tooltip-of-a-price-product-
...
In the shopfront, display fee name in the tooltip of a price product breakdown
2022-06-24 20:49:32 +01:00
Filipe
b977bc77c8
Merge pull request #9272 from jibees/7905-retrieve-order-already-placed-on-user-confirmation-with-customer-email
...
On user confirmation, retrieve and link all orders to the new user that were already placed with the same email
2022-06-21 18:12:58 +01:00
Jean-Baptiste Bellet
3c05fc3c80
Add fees name for a variant to its serializer
2022-06-21 14:42:22 +02:00
François Turbelin
76ea7089d9
Implement suggestions
2022-06-21 10:08:12 +02:00
François Turbelin
39a6b5d20f
Add disabled_at logic on spree users
2022-06-21 10:08:12 +02:00
Jean-Baptiste Bellet
bc43028cb1
On User confirmation, link all already placed orders to this new user
...
if user.email == customer.email
Co-Authored-By: Maikel <maikel@email.org.au >
2022-06-20 15:39:22 +02:00
filipefurtad0
9ab672d0b1
Restarts checkout flow for state 'confirmation'
2022-06-15 10:35:40 +01:00
Maikel Linke
004c7eef9e
Show SVG product images
2022-06-14 15:35:55 +10:00