Commit Graph

3153 Commits

Author SHA1 Message Date
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
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
Filipe
43888f7f3c Merge pull request #9126 from mkllnk/active-storage
[Breaking] Replace Paperclip with Active Storage
2022-06-07 11:14:39 +01:00
Filipe
b3d81154e6 Merge pull request #9174 from georgethoppil/nan-items-subscription
Updating order cycle will ensure any $NaN subscription item prices to be recalculated
2022-06-02 17:28:54 +01:00
Filipe
4a15ed9b39 Merge pull request #9190 from georgethoppil/duplicate-transaction-fees
Destroy all adjustments on cart empty
2022-06-02 11:36:27 +01:00
Maikel Linke
4facab0335 Guard against invariable file types
Australian production had one JPG image which was not recognised as
such. The `content_type` was missing and trying to generate a URL for a
variant raised an error and crashed the page.

Testing for `variable?` includes testing for `attached?` and is more
defensive.
2022-06-01 17:16:55 +10:00
Maikel Linke
86731d7e30 Remove compatibility code for migrating files
The migration should be complete now.
2022-06-01 17:16:55 +10:00
Maikel Linke
b7efa1b018 Replace Paperclip on Spree::Image 2022-06-01 17:16:55 +10:00
Maikel Linke
4a0ed99919 Replace Paperclip on Enterprise model
We configured Paperclip to convert images to JPG in some cases but I
omitted that here because we don't need it. If an image is better
represented as PNG or another format then the user should be able to
choose that.

Some specs were also testing the generated URL but the Active Storage
URL doesn't contain a style name anymore and it's not helpful to test
the URL.
2022-06-01 17:16:55 +10:00
Maikel Linke
45995ac984 Replace Paperclip on EnterpriseGroup 2022-06-01 17:16:55 +10:00
Maikel Linke
421ffae78c Replace Paperclip on TermsOfServeFile 2022-06-01 17:16:54 +10:00
Maikel Linke
727eef3c4f Replace Paperclippable ContentConfig
The old Paperclip configuration was very clever and easy to use but it
was also a complicated implementation building on the complicated Spree
preference system.

I simplified this with Active Storage, storing simple references to blob
ids and default URLs as backup.
2022-06-01 17:16:54 +10:00
georgethoppil
ec7d4b7c21 Restart checkout flow on cart empty if state of checkout is payment 2022-05-23 11:41:10 -04:00
georgethoppil
03b24bfc38 Destroy all adjustments on cart empty 2022-05-17 20:21:47 -04:00
Sebastian Castro
71aca960ee Report Refactor 3: Order Cycle Management 2022-05-12 16:54:13 +02:00
Sebastian Castro
452a3fa933 Reports Refactor 2: Merge Spree::reports into Admin::Reports 2022-05-12 16:54:13 +02:00
georgethoppil
6a9fcbdd0c Adding a scope on subscription_line_item.rb to select records where price estimate is nil 2022-05-11 13:45:13 -04:00
GeorgeThoppil
8903496a1b Optional restocking items 2022-05-06 10:55:24 -04:00
Maikel Linke
9dc3c5a06c Add task for ContentConfig image migration 2022-04-25 13:00:31 +10:00
Maikel Linke
1c1f9d73a3 Add task to migrate existing files to Active Storage
Common migrations look for all models with *_file_name attributes but I
found that unreliable in our code base. It finds too many model classes
and doesn't allow us to be more selective in the migration. So I used
our own migration declaration to migrate exactly those attachments
specified.
2022-04-25 13:00:31 +10:00
Maikel Linke
0b885b3954 Protect terms of service from migration updates
Active Storage always touches associated records when attachments are
changed. But for the Terms of Service it's important to keep the
updated_at date because that's how we find out how new it is and if a
customer accepted those terms already.

And while we migrate files, the content of the files will stay the same
and we don't want customers to be asked to accept the same terms again.
2022-04-25 13:00:31 +10:00
Maikel Linke
7bcfda0a52 Duplicate all new Paperclip files to ActiveStorage
We do this for all models in the code base. There's one special case,
the ConentConfiguration which is not a model and we can't use the same
approach there. We will have to deal with that separately later.
2022-04-25 13:00:31 +10:00
Maikel Linke
92bbcbb7ce Process correct attachment when model has several
Luckily Paperclip has designated callbacks for processing each
attachment separately. We can just hook into that.
2022-04-25 13:00:31 +10:00
Maikel Linke
c36ad96acc Move file duplication code to concern to share
I chose `has_one_migrating` as method name for two reasons:

 1. It reflects Active Storage's method `has_one_attached`.
 2. And it has the same length as Paperclip's `has_attached_file`.
    Therefore the commits don't need any whitespace changes.

When we change it to `has_one_attached`, we will also remove the
Paperclip options which then don't need whitespace changes either.
2022-04-25 13:00:31 +10:00
Maikel Linke
ec64e5c8f7 Store images with Active Storage as well
While we migrate from Paperclip to Active Storage, we need to use both
at the same time to avoid any downtime or lost images.

Once the migration is complete, we want to use the same name for
attachment as before. Using Paperclip and Active Storage at the same
time creates a name conflict on a couple of methods.

I'm using alias_method as a temporary solution to access Active Storage
methods. We will remove that after the migration. I declare Paperclip
afterwards so that we have those methods declarations for backwards
compatibility now.
2022-04-25 13:00:31 +10:00
Filipe
cb540d66c6 Merge pull request #9084 from jibees/9046-property-filter-on-shopfront
Fix an issue which prevented filtering by properties and sorting by category on a shopfront.
2022-04-22 11:03:31 +01:00
GeorgeThoppil
898c470c00 Change enterprise visibility scope 2022-04-21 20:27:28 -04:00
Filipe
2ddc64ce4d Merge pull request #9072 from mkllnk/remove-taxon-icons
Remove unused icons from Spree::Taxon
2022-04-21 11:46:57 +01:00
Jean-Baptiste Bellet
3e5656e638 Remove distinct to make proper ORDER BY
Update specs as well to test match array and test duplication by adding property2 to product1
2022-04-21 11:03:22 +02:00
Filipe
f516b7056d Merge pull request #8863 from georgethoppil/payment-state-cancel-subscription-order
Setting payment state for subscription order
2022-04-20 13:14:57 +01:00
Filipe
f831154b6f Merge pull request #8950 from jibees/5903-delete-coordinators_fees-linked-to-cloned-OC
Delete linked coordinators fees when deleting an order cycle
2022-04-18 11:55:53 +01:00
Maikel Linke
2e989083bd Remove unused icons from Spree:Taxon
The icons are not used any more and the default icon file never existed
in our code base (only in Spree when we depended on that).

And it's better to remove this clutter before migrating those files to
Active Storage.

We are keeping the icon files in storage as a backup. The whole folder
`/spree/taxons` can be deleted when desired. But storage is cheap.
2022-04-15 16:50:28 +10:00
Nihal Mohammed
15e7a5a4df Rename product_stock_display to product_low_stock_display
Rename product_stock_display to product_low_stock_display in enterprise_serializer and shop_variant_controller
2022-04-15 10:59:42 +10:00
Nihal M. Kelanthodika
f7a767988c Add preferred_product_stock_display to Enterprise model, serializer and permitted attributes. (Fixed alignment of guest orders radio button as well) 2022-04-15 10:53:28 +10:00
GeorgeThoppil
8aa4631e21 Setting payment state for subscription order 2022-04-13 19:08:51 -04:00
Maikel
a4bffc61f1 Merge pull request #8997 from apricot12/8968-Group-products-by-supplier-P1
Sort products by supplier in invoice
2022-04-13 11:54:12 +10:00
Nihal Mohammed
b2613f3331 Add translations 2022-03-28 18:26:39 +05:30
Nihal Mohammed
5f2f5456a0 Add code to sort order by supplier when Enterprise user chooses to 2022-03-28 18:12:39 +05:30
Matt-Yorkley
ad5c834342 Merge pull request #8995 from apricot12/7853-deprecation-warnings-1
7853 deprecation warnings 1
2022-03-25 19:54:06 +00:00
Nihal Mohammed
992cb9d920 Add invoice_order_by_supplier attribute to enterprise 2022-03-21 20:29:19 +05:30
Nihal Mohammed
ad52805a0d Change errors to be accessed by a block with single paramter instead of hash 2022-03-15 05:35:22 +05:30
jibees
d4a4a36b14 Merge pull request #8766 from jibees/8477-cancel-order-and-send-confirmation-email-on-last-item-deletion
Edit order: on last item deletion, cancel the order and conditionally send cancellation email to consumer
2022-03-11 08:56:41 +01:00
Filipe
6ce29f81d8 Merge pull request #8920 from apricot12/Remove_checkout_only_option_from_payment_methods_display
Remove checkout only option from payment methods edit form.
2022-03-10 14:38:45 +00:00
Nihal Mohammed
e2bdc69a90 Update available_payment_methods method in enterprises_helper and order model 2022-03-07 17:33:09 +05:30
Nihal Mohammed
3820d4c591 Removed checkout only from DISPLAY options on payment method edit form and updated payment_method_spec 2022-03-07 17:33:09 +05:30
Jean-Baptiste Bellet
771f7b0393 Delete coordinators_fees linked to an order_cycle when it is destroyed 2022-03-02 11:00:04 +01:00
Maikel Linke
b999673dfc Remove old version of relaxed styled guide
We had an old version under "contested settings" and it looks like some
of them were modified. I hope that our new, separate file will
discourage manual tweaks.

We can include the relaxed rules from a gem as well. Let's see if we
need that complexity one day.
2022-02-25 10:51:54 +11:00
Maikel Linke
1d15f35522 Remove now unnecessary inline rubocop config 2022-02-25 10:46:51 +11:00