Commit Graph

28175 Commits

Author SHA1 Message Date
Maikel
e2eb92fd90 Merge pull request #9119 from mkllnk/active-storage-part1
Store files with Active Storage in addition to Paperclip
2022-04-29 10:10:36 +10:00
J. David Lowe
ff1b895286 switch to openfoodfoundation 2022-04-28 14:42:24 -07:00
J. David Lowe
da2e7b404f add Mayhem for API as a github workflow 2022-04-28 13:30:34 -07:00
Filipe
ce9bd37c9b Merge pull request #9117 from jibees/9085-add-additionnal-items-in-/cart-page-for-split-checkout
Split checkout: Unless order is complete, /cart could be updated
2022-04-28 19:59:08 +01:00
Filipe
d57d812ab4 Merge pull request #9110 from georgethoppil/update-subscription-deleted-product
Return if variant is deleted
2022-04-28 15:54:51 +01:00
Jean-Baptiste Bellet
99c0416cc7 Handle long shipping method description with no spaces 2022-04-28 10:40:28 +02:00
jibees
335de1d038 Merge pull request #9121 from openfoodfoundation/transifex
Transifex
2022-04-28 10:10:13 +02:00
Transifex-Openfoodnetwork
5b9a5c1df6 Updating translations for config/locales/fr_CA.yml 2022-04-28 07:38:59 +10:00
Transifex-Openfoodnetwork
72641ba317 Updating translations for config/locales/en_CA.yml 2022-04-28 07:26:44 +10:00
Jean-Baptiste Bellet
34fcb4a1f7 Order shipping methods by name
+ create spec
2022-04-27 16:37:37 +02:00
Jean-Baptiste Bellet
b370ee328a Click twice on "Next - Order summary" button
yes, this is a hack, but can't make it work as a normal behavior. For testing purpose, we use `spec/support/fixtures/stripejs-mock.js` and it seems not working with our `app/webpacker/controllers/stripe_controller.js`
2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
5fe8060ea6 Actually don't use requestSubmit() as it is not supported by Safari
https://caniuse.com/?search=requestSubmit
2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
a8afe7fee3 Use requestSubmit() method for actually submit the form with event
... that could be catch by turbo (and then handled by cable_ready)

`this.catchFormSubmit` avoid infinite loop then
2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
8bbb80ef55 Catch GatewayError exception and handle by updating flash[:error] 2022-04-27 15:43:05 +02:00
Jean-Baptiste Bellet
a68f9a71fb When items quantities, update sumUnitValues() and sumMaxUnitValues()
by summing only `quantity` and `max_quantity`

+ update the specs as well

Co-Authored-By: Maikel <maikel@email.org.au>
2022-04-27 11:21:47 +02:00
François Turbelin
fe2ee57cb3 Use Install Bundler script in Dockerfile 2022-04-25 22:40:50 +02:00
Nihal Mohammed
af58ba523c Renamed groups_helper to link_helper and removed strip_url method, as well as updated specs and ApplicationHelper. Added "Back To Website" button and i18n. 2022-04-26 01:38:25 +05:30
Jean-Baptiste Bellet
a4afeeaa3d When BOM is 'item', do not update sumOfUnitValues with scale
since scale is always `1`, but return a value

+ update tests as well
2022-04-25 15:53:38 +02:00
Jean-Baptiste Bellet
3553cc0d9f When it's items scale is '1'
update tests as well
2022-04-25 15:51:38 +02: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
Maikel Linke
95cb6e93e7 Configure Active Storage
We are re-using the same config used for Paperclip except for disk
storage. Active Storage uses directory sharding on the local disk which
means that we can't create blob entries that point to the existing
Paperclip files. We will just copy them to the standard `storage/`
directory.
2022-04-25 13:00:30 +10:00
Maikel Linke
ce0e33fffa Install Active Storage database tables 2022-04-25 13:00:30 +10:00
Maikel Linke
b6cdb04a27 Activate Active Storage 2022-04-25 13:00:30 +10:00
Maikel Linke
92bb23d914 Add validation gem for Active Storage
We used validations with Paperclip and it would be nice to keep them.
2022-04-25 13:00:30 +10:00
Maikel Linke
4eb550431e Add gems required by Active Storage 2022-04-25 13:00:30 +10:00
Transifex-Openfoodnetwork
8330339046 Updating translations for config/locales/en_FR.yml 2022-04-22 23:23:38 +10:00
Transifex-Openfoodnetwork
e34d4c773c Updating translations for config/locales/fr.yml 2022-04-22 23:20:59 +10:00
Transifex-Openfoodnetwork
e669ed9620 Updating translations for config/locales/nb.yml 2022-04-22 23:04:37 +10:00
Jean-Baptiste Bellet
6262dc3a2e Update all locales with the latest Transifex translations v4.1.27 2022-04-22 12:09:03 +02: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
Filipe
1f80c2add4 Merge pull request #9087 from georgethoppil/enterprise-invisible
Change enterprise visibility scope
2022-04-22 10:52:32 +01:00
GeorgeThoppil
898c470c00 Change enterprise visibility scope 2022-04-21 20:27:28 -04:00
GeorgeThoppil
2046317f16 Allow update of subscriptions containing deleted products 2022-04-21 20:23:34 -04:00
jibees
413c97cfa8 Merge pull request #9118 from openfoodfoundation/transifex
Transifex
2022-04-21 15:45:44 +02:00
Transifex-Openfoodnetwork
2b4d9be907 Updating translations for config/locales/fr.yml 2022-04-21 23:27:52 +10:00
Transifex-Openfoodnetwork
8f9c50a311 Updating translations for config/locales/it.yml 2022-04-21 23:24:47 +10:00
Jean-Baptiste Bellet
9306e054b8 Unless order is complete, /cart could be updated
Split_checkout introduced new state for an order

Update specs as well

Follow up #8944
2022-04-21 14:22:39 +02:00
Filipe
4ea1dd68af Merge pull request #9023 from apricot12/8908-Access-Enterprise-perms-from-setting-page
Enterprise can access permissions from enterprise edit page
2022-04-21 13:21:27 +01:00
jibees
9cb3dc4c42 Merge pull request #9102 from openfoodfoundation/transifex
Transifex
2022-04-21 13:44:26 +02: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
Transifex-Openfoodnetwork
1aae8bba99 Updating translations for config/locales/it.yml 2022-04-21 20:35:27 +10: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
Jean-Baptiste Bellet
96f267eefe Create specs for filtering by properties when sorting is available
+ update product, supplier, taxon name to be more precise
2022-04-21 11:03:22 +02:00
Maikel
30e68450d2 Merge pull request #9116 from openfoodfoundation/dependabot/npm_and_yarn/babel-loader-8.2.5
Bump babel-loader from 8.2.4 to 8.2.5
2022-04-21 11:11:43 +10:00