Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from solidusio:main #411

Open
wants to merge 818 commits into
base: main
Choose a base branch
from
Open

[pull] main from solidusio:main #411

wants to merge 818 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Jun 5, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jun 5, 2024
mamhoff and others added 29 commits October 25, 2024 14:17
The long one takes away a lot of row space.
Solidus 2.4 introduced a new admin navbar with new icons
that can be enabled in the settings. Adopt to that.
Promotion Rules are not ordered, so the database might return them in
any order. This adjusts the spec accordingly (especially Postgres
returns them in a different order than expected sometimes).
There are now three spots in this code base that need a method to collect
the line items that pass all applicable rules for an order and can be
discounted. Time to extract.
When we do a buy-one-get-one-free promotion, you should get TWO free
when you buy two.

Ruby doesn't really allow changing methods based on who calls, so we
have to use the `quantity_setter` attr_accessor as a kind of lock that
unlocks setting the quantity when we want it.
There's two quantities we want to configure. Buy X get Y free...
Without the description, the calculator name might not tell you enough
about how the calculator works. This is especially true for the tiered
calculcators.
So you get a percentage based on how many items that match the criteria
the customer has in their cart!
The default promotion adjuster has been renamed, and that has to be
reflected in the README and in the migration guide.
We want user's to take advantage of semantic versioning.
This adds a documentation section so people know they have to change
explicit references to the legacy system's promotion handler.
New standard version, new rules, new fixes.
This gem allows recalculating complete orders until they are shipped,
because Solidus allows changing an order's contents until the order is
shipped.

This change adds a configuration option that disables the
recalculation of orders after they are completed. Some shops make
changes to existing promotions, and expect that this does not change
complete, but unshipped orders.
In Rails 7.1.3, the `table_name_prefix` method is redefined if it is not
already defined. Since we have multiple module definitions, we need to
make sure that the class method is defined before we load `engine.rb`.
This reverts commit 6a69d1a35340b650fec1040da8184b4ec59964f1.
This was somehow missed in the past.

Fixes #93
This fixes the foreign key constraint error when deleting a promotion
code that has been applied to an order.

This will, of course, change the applicability of the promotion in
question for that particular order. If the order is shipped, no worries
though: The adjustments will stay as our service object will not try to
recalculate. If the order is not shipped, the promotion will stop being
applied. However, if you as a user deleted the promotion or the
promotion code, that's probably what you want.

Fixes #94
Let's use the `discard` gem for soft-deleting promotions.
tvdeyen and others added 30 commits October 30, 2024 10:14
CI: Bump solidus-installer cache version
Rails 7.2 requires it and 3.0 is out of support anyway.
The file lives in tasks and the projects are in the root
folder.
Now, with Ruby 3.1 we need to address some code style
We need more time to make checks of flash notices
in admin tests.
Sometimes it takes a bit longer to render this button.
Helps to clean the git blame history for these rather large changes
Referencing SVG icons from an external host using `<use xlink:href="">` is not
supported, for CORS (cross-origin request scripting) security reasons.

This doesn't come up often in development but can rear its head in a production
deployment. To avoid this, we'll always provide an empty host.

This results in the generated paths being protocol-prefixed relative URLs (i.e.
"http:/assets/solidus_admin/remixicon.symbol.svg") but this seems to work OK.
…eline

Exclude 'remixicon.symbol.svg' from asset pipeline
…tegory-id

Render variant shipping category
Bump minimum Ruby version to 3.1
We need at least v3.7 of awesome_nested_set for Rails 7.2 support
Rails 7.2 removed migration_context from ActiveRecord::Base.connection
Without that ActiveRecord 7.2 expects a DB table
for it.
This installs the master branch of canonical-rails.
Necessary for Rails 7.2 compatibility.
We updated to Rails 7.2 and need to update the
cache version.
Rails 8.0 removes the option to remove keyword
arguments for defingin enums.
How has this ever worked this way?
This is a flaky test, so give Capybara it bit more time
to find the button.
As stated by jarednorman (in #4860):
> None of this provides any real value. Adding a custom dashboard is
> trivial and I really don't think we need a custom permission set and
> empty controller/view.
`Spree::Order#promotions` and `Spree::Order#order_promotions` are now
only defined in the `legacy_promotions` gem. Thus they should not be
safelisted as ransackable in core.
…hboards-code

Deprecate and remove dashboard code
…ssociations

Legacy Promotions: Move ransackable promo associations from core
This commit adds an introductory section telling the reader how the
migration process works.

It also adds a last section telling the reader to remove any ineligible
adjustments from their database.

Lastly, it corrects the location of Spree configuration from the
`solidus_promotions` initializer to the `spree.rb` initializer.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.